1. Методы и алгоритмы формирования контурных изображений

1.1. Элементы графических изображений

 

Графические изображения формируются с использованием примитивов.

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

 Графическими примитивами считают такие элементы, для генерации которых в аппаратные или программные средства вводят команды, которые их идентифицируют.

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

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

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

Различают аппаратный, программный и программно-аппаратный уровни формирования примитивов.

Физическим примитивом называют графический элемент, для генерации которого в графическом устройстве есть соответствующий аппаратный блок. В большинстве систем машинной графики аппаратно реализуют такие примитивы, как точка, отрезок прямой, ломаная линия, строка текста, дуга и пр.

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

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

Примитив задается:

*  параметрами, которые определяют его форму, размеры и местоположение;

*  визуальными свойствами, которые определяют его видимость, цвет, яркость, динамические свойства, тип и толщину линий;

*  статусом, который определяет отношение к различным операциям, таким как изъятие, преобразование, указание;

*  режимом занесения в видеопамять (режимы замещения, наложения, обратного чтения и пр.).

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

Различают такие структурные единицы как примитив, графический элемент, графический объект, графический сегмент.

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

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

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

Выполняя группирования примитивов в поименованные сегменты, программист может селективно изменять отдельные части полного изображения путем изъятия или модификации сегмента.

Графические элементы являются синтаксическими объектами (описание графических данных), в то время, как сегменты – семантическими (связь графических данных), например, здание, черчение.

Контрольные  вопросы.    

1.  Какие структурные элементы изображений считают графическими примитивами?

2.  Чем отличаются логические примитивы от физических?

3.  Какими атрибутами задаются графические примитивы?

4.  Чем обусловлено введения структурных единиц типа графический объект, графический сегмент? 

     Содержание