Введение

Основные формы, представленные в векторной графике

В векторной компьютерной графике, системах автоматизированного проектирования (САПР) и географических информационных системах, геометрический примитив (или прим) – это простейшая (т.е. "атомная" или неделимая) геометрическая фигура, которую система может обрабатывать (рисовать, хранить). Иногда "геометрическими примитивами" также называют подпрограммы, которые рисуют соответствующие объекты. Наиболее базовыми примитивами являются точка и прямой отрезок, которые и составляли весь арсенал ранних векторных графических систем. В конструктивной твердотельной геометрии примитивами выступают простые геометрические формы, такие как куб, цилиндр, сфера, конус, пирамида, тор. Современные 2D-системы компьютерной графики могут работать с примитивами, представляющими собой кривые (отрезки прямых, окружности и более сложные кривые), а также фигуры (прямоугольники, произвольные многоугольники, окружности). Распространенный набор двухмерных примитивов включает линии, точки и многоугольники, хотя некоторые предпочитают считать треугольники примитивами, поскольку любой многоугольник можно построить из треугольников. Все остальные графические элементы создаются на основе этих примитивов. В трех измерениях для моделирования более сложных 3D-форм могут использоваться треугольники или многоугольники, расположенные в трехмерном пространстве. В некоторых случаях кривые (например, кривые Безье, окружности и т.д.) могут рассматриваться как примитивы, в других – как сложные формы, созданные из множества прямых, примитивных элементов.

Применение в ГИС

В течение истории географических информационных систем было разработано большое разнообразие векторных структур и форматов данных, но они имеют общую фундаментальную основу – хранение основного набора геометрических примитивов для представления местоположения и протяженности географических объектов. Координаты точек почти всегда определяются в стандартной системе координат, привязанной к Земле, будь то сферическая географическая система координат (широта/долгота) или плоская система координат, такая как универсальная поперечная проекция Меркатора. Также общим является требование хранения набора атрибутов для каждого географического объекта вместе с его формой; традиционно это достигалось с использованием моделей данных, форматов данных и даже программного обеспечения реляционных баз данных. Ранние векторные форматы, такие как POLYVRT, ARC/INFO Coverage и shapefile Esri, поддерживали базовый набор геометрических примитивов: точки, полилинии и полигоны, только в двухмерном пространстве, причем последние два – с интерполяцией только прямыми линиями. Также были добавлены структуры данных TIN для представления рельефа местности в виде треугольных сеток. С середины 1990-х годов были разработаны новые форматы, расширяющие диапазон доступных примитивов, обычно стандартизированные спецификацией Simple Features от Open Geospatial Consortium. Распространенные расширения геометрических примитивов включают: трехмерные координаты для точек, линий и полигонов; четвертое «измерение» для представления измеряемого атрибута или времени; криволинейные сегменты в линиях и полигонах; текстовые аннотации как форма геометрии; и полигональные сетки для трехмерных объектов. Часто представление формы реального объекта может иметь отличное (обычно меньшее) измерение, чем сам объект. Например, город (двухмерная область) может быть представлен точкой, а дорога (трехмерный объем материала) – линией. Это обобщение измерений коррелирует с тенденциями в пространственном мышлении. Например, вопрос о расстоянии между двумя городами предполагает концептуальную модель городов как точек, а указания, включающие перемещение «вверх», «вниз» или «вдоль» дороги, подразумевают одномерную концептуальную модель. Это часто делается для повышения эффективности данных, визуальной простоты или когнитивной эффективности и допустимо, если понимается различие между представлением и представляемым, но может привести к путанице, если пользователи информации полагают, что цифровая форма является точным отражением реальности (то есть верят, что дороги действительно являются линиями).

В 3D моделировании

В программном обеспечении САПР или при 3D-моделировании интерфейс может предоставлять пользователю возможность создавать примитивы, которые затем можно изменять с помощью редактирования. Например, при использовании метода box modeling пользователь начинает с кубоида, а затем применяет экструзию и другие операции для создания модели. В этом случае примитив служит лишь удобной отправной точкой, а не базовым элементом моделирования. 3D-пакет также может содержать список расширенных примитивов – более сложных фигур, поставляемых вместе с пакетом. Например, в 3D Studio Max чайник представлен как примитив.

В графическом оборудовании

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