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

КТШ АДРЕСАЦИЯ ПИКСЕЛЕЙ И ГЕОМЕТРИЯ ОБЪЕКТОВ

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

Описание объекта, которое служит входной информацией графической программы, дается в виде точных положений во внешней системе отсчета, которые представляют собой бесконечно малые математические точки. Однако, когда происходит преобразование стандартов развертки объекта в буфере кадров, входное описание трансформируется в координаты пикселей, занимающих конечную площадь экрана, поэтому полученное растровое изображение может не совсем точно соответствовать относительным размерам заданного объекта. Если при изображении объекта важно сохранить присущую ему геометрию, эффект превращения математических точек в пиксели с конечной площадью можно компенсировать. Один из путей решения этой проблемы состоит в том, чтобы просто подогнать размеры пикселей изображаемых объектов таким образом, чтобы они соответствовали размерам, заданным в исходном математическом описании сцены. Например, если задается прямоугольник с шириной 40 см, то можно подобрать такой экран дисплея, чтобы ширина прямоугольника равнялась 40 пикселям, причем ширина каждого пикселя будет представлять собой один сантиметр. Еще один способ - это так переводить внешние координаты в точки между пикселями на экране, чтобы границы объектов сопоставлялись с границами пикселей, а не с их центрами.

Алгоритмы построения прямых и кривых линий, которые обсуждались в предыдущих разделах, не изменяются, если входные координаты выражаются в виде координат сетки экрана. Параметром принятия решения в этих алгоритмах теперь будет мера, показывающая разницу расстояний между линиями сетки экрана, а не между центрами пикселей.

СОХРАНЕНИЕ ГЕОМЕТРИЧЕСКИХ СВОЙСТВ ИЗОБРАЖАЕМЫХ ОБЪЕКТОВ

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

ЗАКРАШЕННЫЕ ОБЛАСТИ

При описании элементов рисунка используется еще одна полезная конструкция, кроме точек, прямолинейных отрезков и кривых, - область, закрашенная каким-то одним цветом или заполненная определенным узором. Такие элементы рисунка обычно называют цветными фигурами или закрашенными областями. Чаще всего закрашенные фигуры используют для описания поверхностей сплошных объектов, хотя они могут пригодиться и во многих других приложениях. К тому же, закрашенные области, как правило, представляют собой плоские поверхности, главным образом, многоугольники. В то же время существует множество форм участков рисунка, которые может потребоваться закрасить с помощью какой-либо цветовой опции. На рис. 3.40 показано несколько возможных типов закрашенных фигур. На данный момент будем считать, что все изображаемые закрашенные области будут заполняться одним заданным цветом. Другие варианты заполнения будут рассмотрены в главе 4.


⇐ вернуться назад | | далее ⇒