Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инж+Граф.docx
Скачиваний:
90
Добавлен:
20.03.2016
Размер:
1.75 Mб
Скачать

17.Растровое представление геометрических объектов

При формировании растрового изображения необходимо заданной геометрической фигуре (линии или области) поставить в соответствие некоторое множество точек дискретного растра. Для непрозрачной, т.е. закрашенной области ее растровое приближение формируется множеством точек растра, принадлежащих этой области. Однако для растрового представления линии такой способ формирования не годится, т.к. линия не выделяет область.

Поэтому обычно растровое представление линии формируется множеством точек растра, которые пересекает непрерывная линия. Так как исходная линия непрерывна, то ее растровое приближение должно представлять собой совокупность точек растра, образующих "непрерывную" в некотором смысле последовательность.

Непрерывность на дискретном растре означает, что все точки последовательности имеют ровно по две соседние, кроме первой и последней, если линия не является замкнутой и не имеет самопересечений (простая линия). Очевидно, что все точки простой замкнутой линии имеют ровно по две соседние точки.

Интуитивно ясно, что соседними могут считаться такие точки растра, координаты которых отличаются не более, чем на единицу.

Каждая точка растра имеет четыре непосредственных соседних точки, у которых только координата Х или только координата Y отличаются на 1.

Такие соседние точки называются 4-связнымиили сильносвязными.

Каждая точка растра имеет 8 косвенных соседних точек, у которых координаты (Х, Y) отличаются не более чем на 1.

Такие соседние точки называются 8-связнымиили слабосвязными.

Непрерывная последовательность точек А1, А2 ... Аn называется сильносвязной, если точкиявляются4-связнымисоседями.

Непрерывная последовательность точек А1, А2 ... Аназывается слабосвязной, если точкиявляются8-связнымисоседями.

Непрерывная последовательность является замкнутой, если 

18.Тест принадлежности точки многоугольнику

Будем понимать под многоугольником фигуру, ограниченную на плоскости простой (несамопересекающейся) замкнутой ломаной. Сама ломаная задается на- бором своих вершин Ai(xi , yi), i = 1, . . ., n, причем соседние точки в этом списке являются смежными вершинами ломаной. Задача состоит в том, чтобы получить растровую развертку многоугольника, т. е. инициировать его внутренние точки. Начнем с обсуждения задачи о локализации точки относительно многоуголь- ника. Решение этой задачи даст возможность эффективно определять, является ли точка внутренней или внешней по отношению к нему. Теорема Жордана утверждает, в частности, что простая (т. е. не имеющая само- пересечений) замкнутая плоская ломаная разбивает плоскость на две связные ком- поненты — ограниченную, которая является внутренностью многоугольника, и не- ограниченную, которая является внешней по отношению к многоугольнику. Алгоритм должен уметь различать внутренние и внешние точки плоскости. Обозначим ребра многоугольника через Ei : Ei ∶[Ai ,Ai+1], i = 1, . . ., n. Пусть P(x, y) — некоторая точка плоскости, не лежащая на ломаной, и нужно определить, принадлежит она этому многоугольнику или нет. Проведем через точку P горизонтальную полупрямую с правым концом в точке P. Так как ломаная ограничена, то всегда легко найти на этой полупрямой доста- точно удаленную точку Q, которая заведомо не принадлежит многоугольнику. Если отрезок QP не имеет пересечений с границей многоугольника, то точки Q и P ле- жат в одной компоненте связности и, следовательно, точка P — внешняя. Рассмотрим случай, когда отрезок QP пересекает ломаную (рис. 3.7). Будем двигаться от точки Q в направлении к точке P. Миновав первое пересечение от- резка и границы, мы попадем внутрь многоугольника. Миновав следующее пере- сечение отрезка и границы, мы окажемся снаружи многоугольника, и так далее.

Рис. 3.7 – Тест принадлежности точки многоугольнику Легко видеть, что если мы встретим на своем пути четное число пересечений, то точка P будет внешней точкой многоугольника. Если же число пересечений окажется нечетным, то точка P будет внутренней точкой многоугольника. Важно только удостовериться, что пересечения отрезка с границей были существенными, т. е. отрезок действительно пересек ломаную, а не просто касался ее в одной из вершин