Отсечение отрезка. Алгоритм Сазерленда-Кохена.
Рассмотрим теперь случай, когда необходимо отсечь линии, выходящие за границы окна вывода.
Простой и эффективный алгоритм отсечения отрезков по границе произвольного прямоугольника называется алгоритмом Сазерленда - Кохена. Он заключается в разбиении всей плоскости на 9 областей. Определив, в какие области попали концы отрезка, легко понять, где именно необходимо отсечение. Для точки Р ( х ,у ) соответствует 4 - битовый код , причем каждый бит соответствует определенному положению .
КОД: В3 В2 В1 В0
В3 = (х <x min) B1 = (y < y min)
B2 = (x > x max ) B0 = ( y > y max )
Идея алгоритма заключается в том, что отрезок анализируется на предмет пересечения поочередно со всеми сторонами окна. Если пересечение существует, то отбрасывается часть отрезка между концом Р1 (вн. окна) и найденной точкой пересечения Рn (Xn , Yn). Причем в алгоритме отсечения рассматриваются только те отрезки, видимость которых неочевидна.
F -переменная, определяющая вид отрезка, причем:
0, отрезок горизонтальный
-1, отрезок вертикальный
1, иначе
Лекция 7. Стандартизация в компьютерной графике
Начальный период создания и развития средств машинной графики характеризовался развитием многочисленных, иногда достаточно эффективных, графических систем, ориентированных на то или иное оборудование . Фактически этот период можно охарактеризовать как период основного внимания к техническим средствам. Программное обеспечение рассматривалось, как удачно заметил Гантер , чем-то вроде "верхнего слоя краски на аппаратуре".
В следующий период более актуальной стала проблема создания программного обеспечения. Во-первых, велись разработки алгоритмов машинной графики - генерация примитивных элементов, интерполяция, аппроксимация, формы и методы представления изображений и т.д.; во-вторых, создавались инструментальные средства машинной графики - графические языки, пакеты процедур, языки диалога.
Постепенно сформировалось представление о программном продукте как о промышленном изделии, что выдвинуло проблему стандартизации графического программного обеспечения. Развитие сетей ЭВМ, оснащенных терминальными устройствами различных типов, потребовало обеспечить независимость программного обеспечения от аппаратуры.
Дата добавления: 2015-01-29; просмотров: 1005;