Re[3]: Поиск замкнутого многоугольника в матрице
От: andy1618 Россия  
Дата: 21.09.10 13:00
Оценка:
Здравствуйте, DragonFire, Вы писали:

DF>>>Предположим, что у нас есть матрица:

DF>>>0 0 0 0 0 0 0
DF>>>0 1 1 1 1 0 0
DF>>>0 1 0 0 1 1 1
DF>>>0 1 1 1 1 1 1

_DA>>Что-то я ничего не понял. Нужно получить вот это?

_DA>>
_DA>>0 0 0 0 0 0 0
_DA>>0|1 1 1 1|0 0
_DA>>0|1|0 0|1 1 1|
_DA>>0|1 1 1 1 1 1|
_DA>>


DF>Ага, примерно такую фигуру =)


Дык вроде всё просто — сначала сканируем по горизонтали: на переходе 01 ставим у единицы "левую стенку", на переходе 10 — ставим у единицы "правую стенку".
Потом аналогично сканируем по вертикали, расставляя единичкам верхние и нижние "стенки".
А потом ещё раз сканируем единички в поисках "углов" (точек, где сходятся стенки). В итоге получим набор вершин искомого многоугольника. Останется их как-то упорядочить.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.