Реферат Курсовая Конспект
Стиль линии. Перо. Алгоритмы вывода толстой линии - раздел Образование, Лекция 13 Координатный метод задания объектов на плоскости и в пространстве Возможности Алгоритмов, Описанных В Предыдущих Пунктах, Огран...
|
Возможности алгоритмов, описанных в предыдущих пунктах, ограничены выводом линии толщиной в 1 пиксел. Очевидно, что для построения качественных изображений этого недостаточно. Необходимо иметь возможность строить линии произвольной ширины.
Для описания разных по виду изображений на основе линий используют термины стиль линий и перо. Термин перо иногда делает более понятной суть алгоритма вывода линий для некоторых стилей — в особенности для толстых линий. Например, если для тонкой непрерывной линии перо соответствует одному пикселу, то для толстых линий перо можно представить себе как фигуру или отрезок линии, который скользит вдоль оси, оставляя за собой след, рис. 13.8.
Взяв за основу любой алгоритм вывода обычных тонких линий (например, алгоритм Брезенхэма), его можно модифицировать для вывода толстой линии, если вместо рисования отдельного пиксела с координатами (x, y) выполнять вывод в этом месте фигуры или линии, которые соответствуют форме пера — прямоугольника, круга, отрезка прямой, другой фигуры.
Такой подход к разработке алгоритмов толстых линий имеет преимущества и недостатки. Преимущество в простоте — можно почти без изменений использовать уже известные эффективные алгоритмы для вычисления координат точек линии оси, например, алгоритмы Брезенхэма. Недостаток — неэффективность для некоторых форм пера. Для перьев, которые соответствуют фигурам с заполнением, количество тактов работы алгоритма пропорционально квадрату толщины линии. При этом делается много лишней работы — большинство пикселов многократно закрашивается в одних и тех же точках рис. 13.9 а, б.
Такие алгоритмы более эффективны для перьев в виде отрезков линий. В этом случае любой пиксел рисуется только один раз. Но здесь важен наклон изображаемой линии. Ширина пера зависит от наклона рис. 13.9 в, г, д. Заметим, что горизонтальное перо не может рисовать толстую горизонтальную линию.
Для вывода толстых линий с помощью пера в качестве отрезка линии чаще всего используются отрезки горизонтальной линии или вертикальной, реже — диагональные отрезки под углом 45 градусов. Целесообразность использования такого способа определяется большой скоростью вывода горизонтальных и вертикальных отрезков прямой. При этом чтобы минимизировать количество тактов вывода, толстые линии, которые ближе по наклону к вертикальным, рисуют горизонтальным пером, а линии, которые ближе по наклону к горизонтали, рисуют вертикальным пером.
В современных программах, осуществляющих растеризацию векторных изображений, для рисования толстых линий используют алгоритмы заполнения фигур. Например толстую ломаную линию можно представить в виде полигона, рис. 13.10 а. Для этого вычисляются координаты точек пересечения линий, отстоящих от осевой линии звеньев ломаной на величину h/2 (половину толщины линии) — точки 2', 3', 2'', 3'', а также линий, перпендикулярных оси и проходящих через концы ломаной — точки 1', 1'', 4' и 4''. Все эти точки образуют контур полигона, который закрашивается стандартным алгоритмом.
Основной недостаток такого подхода — острые углы, особенно заметные, если звенья ломаной расположены под малым углом друг к другу. Во многих программах векторной графики используют усовершенствованные алгоритмы, обеспечивающие сглаживание острых углов дугами окружностей. Для придания линии более естественного вида, ее концы также могут скругляться, рис. 13.10 б.
Несмотря на то, что описанный способ построения линий требует значительно большего объема вычислений (необходимо вычислить координаты точек полигона и выполнить алгоритм его заполнения), и, следовательно, имеет меньшую скорость вывода изображения, он получил весьма большое распространение в современных графических пакетах, так как значительно более гибок, позволяет легко масштабировать линии, менять их толщину, изменять разрешение растра (например, при выводе изображения на печать). При этом качество отображения линии, ее «гладкость», качество стыковки звеньев линии не уменьшается.
– Конец работы –
Эта тема принадлежит разделу:
Методы двухмерной графики... Координатный метод задания объектов на плоскости и в пространстве... Координатный метод задания объектов на плоскости и в пространстве Преобразование координат...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Стиль линии. Перо. Алгоритмы вывода толстой линии
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов