Вывод пиксела заполнения цвета С с координатами (х, у)

Стиль заполнения. Кисть. Текстура.

Значение С увеличивается на единицу

То вывод пиксела (х, у)

Если С удовлетворяет некоторым условиям,

Алгоритмы вывода пунктирной линии

 

Алгоритм для рисования тонкой пунктирной линии можно получить из алго­ритма вывода тонкой непрерывной линии

Вывод пиксела (х, у)

 

заменой процедуры вывода пиксела более сложной конструкцией:

Проверка значения счетчика С :

 

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

 

 

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

Для описания алгоритмов заполнения фигур с определенным стилем можно использовать тот же способ, что и для описания алгоритмов рисования линий. Описание всех разновидностей подобных алгоритмов можно дать с помощью обобщенной схемы:

 

 

Например, в алгоритме вывода полигонов пикселы заполнения рисуются в теле цикла горизонталей, а все другие операции предназначены для подсчета координат этих пикселов. Сплошное заполнение означает, что цвет (С) всех пикселов одинаков, то есть C=const. Для получения определенного узора необходимо изменять цвет пикселов заполнения. Преобразуем алгоритм заполнения следующим образом:

 

Вывод пиксела заполнения цветом

Функция будет определять стиль заполнения. Аргументами функции цвета являются координаты текущего пиксела заполнения. Однако в отдельных случаях эти аргументы не нужны. Например, если цвет С вычислять как случайное значение в определенных границах: то можно создать иллюзию шершавой матовой поверхности (рис.10).

 

Рис. 10 Рис. 11

 

 

 

Другой стиль заполнения – штриховой (рис. 11). Для него функцию цвета также можно записать в аналитической форме:

 

,

где – период, – толщина штрихов, – цвет штрихов, цвет фона.

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