Начиная работать в редакторах, новички могут столкнуться с таким понятием, как “графический примитив”. Для работы знания в этой области будут очень полезны. Что такое графический примитив и как он используется? Так называют простой или низкоуровневый объект, а также элементарную операцию. С их помощью можно построить более сложные объекты и осуществлять операции более высокого уровня. Примитивы в графическом редакторе — это базовые элементы, такие как линии, кривые и полигоны, которые могут быть объединены для создания более сложных графических изображений. В программировании это основные операции, поддерживаемые языком программирования. Для создания любого чертежа в компьютере такие графические примитивы — это то, что образует часть программного обеспечения.
Использование примитивов в редакторах
Графика в общем смысле состоит из трех основных элементов, в отличие от большого разнообразия графических приложений: пикселя, линии и полигона. Основная из этих элементарных структур — пиксель. Графические примитивы в графическом редакторе представляют собой простой объект, необходимый для создания или построения сложных изображений. Графика в программах для создания векторных изображений построена на таких элементах, как точка, линия и состоящие из них простые фигуры. Это круг, треугольник и квадрат, которые также можно назвать полигонами. Поэтому чаще всего при работе в графическом редакторе примитивами называются именно эти простые фигуры. Для растровой графики таким элементом будет пиксель.
Что такое пиксель?
Пиксель — это графический примитив, который является точкой света. Это всего лишь одна маленькая точка, часть растрового изображения. Хотя он не имеет структуры, но, безусловно, является строительным блоком. Следовательно, пиксель — графический примитив. Разрешение ЭЛТ-мониторов связано с размером этой точки и ее диаметром, которое может меняться. Отношение расстояния между центрами двух соседних горизонтальных пикселей к расстоянию между вертикальными называется соотношением пикселей. Оно должно учитываться в алгоритмах, генерирующих изображения.
Дисплейный файл и кадровый буфер
Графическим примитивом является также программное обеспечение, при помощи которого на экран выводится определенное изображение. Один из них — дисплейный файл. Он является массивом некоррелированных данных или набором команд, которые необходимы для правильной отрисовки изображения на экране. Массивы заполняются из данных списка, хранящегося в памяти. В результате их обработки на ЭЛТ-мониторе создается картинка, состоящая из пикселей разного цвета. Кадровым буфером называют устройство для хранения и вывода видео на экран. Обычно это устройство или вид памяти, которое хранит несколько кадров видеоизображения. Изображение находится в памяти в виде массива данных, где записаны последовательные цветовые значения каждого пикселя.
Управление дисплеем и дисплейный процессор
Система управления дисплеем позволяет управлять видом изображения на экране и помогает пользователю просматривать его под желаемым углом или менять размер, уменьшая и увеличивая его. Дисплейный процессор в это время прочитывает данные из буфера и преобразовывает их в картинку. Он может повторять это действие около 30 раз в секунду, чтобы сохранять изображение на экране. Для обновления изображения нужно изменить содержимое буфера.
Графические редакторы
Графическое программное обеспечение — это программа или набор программ, которые позволяют управлять визуальными изображениями в компьютерной системе. Существует два типа графики, а именно растровая и векторная.
Растровая графика, или растровое изображение — это структура данных с точечной матрицей, представляющая в целом прямоугольную сетку пикселей.
Векторная графика использует геометрические примитивы. Что такое графический примитив в векторной графике, уже говорилось выше. Это точки, линии, кривые и многоугольники (или полигоны) или векторные изображения. Такие фигуры основаны на математических выражениях, для представления изображений в компьютерной графике. Конвертировать векторную графику в растровую довольно просто, но из растровой в векторную гораздо сложнее. Некоторые программы пытаются это сделать. В дополнение к статической графике, есть анимация и программное обеспечение для редактирования видео. Компьютерная графика также может использоваться другим программным обеспечением для редактирования, таким как Adobe Photoshop, Pizap, Microsoft Publisher, Picasa и т. д. Еще один вариант — это программы для анимации, и видеоредакторы, такое как Windows Movie Maker.
Точки и линии в графике
Теперь, когда стало немного понятнее, что такое графический примитив, внимательнее рассмотрим каждый из них. Начнем с точек и линий. Точки используются во всей графике как строительные блоки для более сложных фигур. Например, треугольники созданы при помощи трех точек, соединенных между собой. Другим фундаментальным геометрическим объектом в 2D-графике является линия. Для создания прямой линии нужны две точки.
Линия как примитив
Графическими примитивами являются также и линии, особенно прямые. Каждая из них представляют собой основной строительный блок для линейных графиков, столбчатых и круговых диаграмм, двух- и трехмерных графиков математических функций, инженерных чертежей и архитектурных планов. В компьютерной графике прямая линия настолько проста, что сложно не считать ее изображение графическим примитивом. Прямые линии в программировании могут быть разработаны двумя различными способами. Первый вариант называется структурным методом. Он определяет, какие пиксели должны быть установлены перед рисованием линии. Второй вариант — условный метод, который учитывает определенные условия, чтобы найти нужные пиксели.
Генерация линий
Для того чтобы понять, что такое графический примитив, нужно разобраться, как он создается. В математике и информатике существуют специальные алгоритмы, которые являются пошаговой инструкцией для выполнения расчетов. Алгоритмы созданы для расчета, обработки данных и их автоматизированного анализа. Для того чтобы нарисовать линии на экране компьютера, используется так называемый алгоритм Брезенхэма. Он определяет, как лучше всего построить линию, и формирует оптимальный вариант создания прямой линии между двумя заданными точками, закрашивая определенные пиксели на мониторе.
Алгоритм был разработан еще в 1962 году и до сих пор актуален. Он использует только целочисленное сложение, вычитание и смещение битов, когда цифры перемещаются или сдвигаются влево или вправо. Все они являются очень дешевыми операциями в стандартных компьютерных архитектурах. Это один из самых ранних алгоритмов, разработанных в области компьютерной графики. Незначительное расширение исходного алгоритма также касается рисования кругов.
Цифровой дифференциальный анализатор
Другой алгоритм — цифровой дифференциальный анализатор — представляет собой алгоритм генерации отрезка, основанный на вычислении либо dy, либо dx. Для этого нужно спроецировать линию на единичные интервалы в одной координате и определить соответствующие значения целого числа, ближайшие к пути линии, для другой координаты. Алгоритм принимает в качестве входных данных две позиции пикселей на концах отрезка. Горизонтальные и вертикальные различия между позициями конечных точек назначаются параметрам dx и dy. Разница с большей величиной определяет приращение шагов параметра. Начиная с положения пикселя определяется смещение, необходимое на каждом шаге, для создания следующего положения пикселя вдоль линии.
Полигоны или многоугольники
Примитивами в векторном графическом редакторе являются полигоны, или многоугольники. Это замкнутая область изображения, ограниченная прямыми или изогнутыми линиями и заполненная одним сплошным цветом. Примитивами в графическом редакторе называются двумерные фигуры, поэтому многоугольник представляет собой замкнутую плоскую фигуру. Полигон является важным графическим примитивом. С ним обращаются как с единым целым, так как изображения объектов из реального мира состоят по большей из части многоугольников.
Полигоны, или многоугольники, используются в компьютерной графике для создания изображений, которые выглядят трехмерными. Обычно треугольные полигоны применяют при моделировании поверхности объекта, выбирая вершины и визуализируя объект как модели из проволоки. Это быстрее для создания объемного изображения, чем проработка теней. Также использование полигонов является одним из этапов в процессе проектирования компьютерной анимации.
Заполнение полигонов
Заполнение многоугольников необходимо для того, чтобы рассмотреть всю область при отрисовке изображения. Если он не заполнен, будут отрисованы только точки по периметру полигона, а внутренняя часть останется пустой. При заполнении полигона учитывается его внутренняя часть. Все пиксели в границах полигона заливаются заданным цветом или узором. Чтобы определить, какие пиксели находятся внутри полигона, а какой находится снаружи, используются различные алгоритмы.