Геометрический примитив
В векторной компьютерной графике , системах САПР и географических информационных системах геометрический примитив (или примитив ) — это простейшая (то есть «атомарная» или несократимая) геометрическая форма , которую система может обрабатывать (рисовать, сохранять). Иногда подпрограммы , рисующие соответствующие объекты, также называют «геометрическими примитивами». Наиболее «примитивные» примитивы — это точка и отрезок прямой линии , которые были всем, что было в ранних системах векторной графики.
В конструктивной объемной геометрии примитивы представляют собой простые геометрические фигуры, такие как куб , цилиндр , сфера , конус , пирамида , тор .
Современные системы компьютерной 2D-графики могут оперировать примитивами, представляющими собой кривые (отрезки прямых, круги и более сложные кривые), а также формы (коробки, произвольные многоугольники, круги).
Общий набор двумерных примитивов включает линии, точки и многоугольники , хотя некоторые люди предпочитают считать примитивами треугольники , поскольку каждый многоугольник может быть построен из треугольников. Все остальные графические элементы состоят из этих примитивов. В трех измерениях треугольники или многоугольники, расположенные в трехмерном пространстве, можно использовать в качестве примитивов для моделирования более сложных трехмерных форм. В некоторых случаях кривые (такие как кривые Безье , круги и т. д.) можно считать примитивами; в других случаях кривые представляют собой сложные формы, созданные из множества прямых примитивных форм.
Общие примитивы
[ редактировать ]Набор геометрических примитивов основан на размерах представляемой области: [1]
- Точка (0-мерная), отдельное местоположение без высоты, ширины или глубины.
- Линия или кривая (1-мерная), имеющая длину, но не ширину, хотя линейный объект может изгибаться в пространстве более высокого измерения.
- Плоская поверхность или изогнутая поверхность (2-мерная), имеющая длину и ширину.
- Объемная область или твердое тело (трехмерное), имеющее длину, ширину и глубину.
В ГИС о поверхности местности часто говорят как о «2 1/2-мерной», поскольку необходимо представить только верхнюю поверхность. Таким образом, возвышение можно концептуализировать как свойство скалярного поля или функцию двумерного пространства, что дает ему ряд преимуществ при моделировании данных по сравнению с истинными трехмерными объектами. Форма любого из этих измерений больше нуля состоит из бесконечного числа различных точек. Поскольку цифровые системы конечны, можно хранить только выборочный набор точек фигуры. Таким образом, структуры векторных данных обычно представляют собой геометрические примитивы с использованием стратегической выборки, организованной в структуры, которые позволяют программному обеспечению интерполировать остальную часть формы во время анализа или отображения, используя алгоритмы вычислительной геометрии . [2]
- Точка — это одна координата в декартовой системе координат . Некоторые модели данных допускают многоточечные функции, состоящие из нескольких несвязанных точек.
- Полигональная цепочка или полилиния представляет собой упорядоченный список точек (в данном контексте называемых вершинами ). Ожидается, что программное обеспечение будет интерполировать промежуточную форму линии между соседними точками в списке в виде параметрической кривой, чаще всего прямой линии, но часто доступны и другие типы кривых, включая дуги окружности , кубические сплайны и кривые Безье . Некоторые из этих кривых требуют определения дополнительных точек, которые не находятся на самой линии, но используются для параметрического управления.
- Полигон — это полилиния, замыкающаяся на своих концах, представляющая границу двумерной области. Ожидается, что программное обеспечение будет использовать эту границу для разделения двухмерного пространства на внутреннее и внешнее. Некоторые модели данных позволяют одному объекту состоять из нескольких полилиний, которые могут вместе соединяться, образуя единую замкнутую границу, могут представлять собой набор непересекающихся регионов (например, штат Гавайи ) или могут представлять регион с дырами (например, , озеро с островом).
- Параметрическая форма — это стандартизированная двумерная или трехмерная форма, определяемая минимальным набором параметров, например эллипс , определяемый двумя точками в его фокусах или тремя точками в его центре, вершине и совершине.
- Сетка многогранника . или многоугольника — это набор граней многоугольника в трехмерном пространстве, которые соединены по краям, чтобы полностью заключить объемную область В некоторых приложениях замыкание может не требоваться или может подразумеваться, например, при моделировании местности. Ожидается, что программное обеспечение будет использовать эту поверхность для разделения трехмерного пространства на внутреннюю и внешнюю части. Треугольная сетка — это подтип многогранника, в котором все грани должны быть треугольниками, единственный многоугольник, который всегда будет плоским, включая нерегулярную триангулированную сеть (TIN), обычно используемую в ГИС.
- Параметрическая сетка представляет собой трехмерную поверхность с помощью связного набора параметрических функций, аналогичную сплайну или кривой Безье в двух измерениях. Наиболее распространенной структурой является неоднородный рациональный B-сплайн (NURBS), поддерживаемый большинством программ САПР и анимации.
Применение в ГИС
[ редактировать ]было разработано большое разнообразие структур и форматов векторных данных За время существования географических информационных систем , но они имеют общую фундаментальную основу для хранения основного набора геометрических примитивов для представления местоположения и масштабов географических явлений. Местоположение точек почти всегда измеряется в стандартной земной системе координат, будь то сферическая географическая система координат (широта/долгота) или плоская система координат, такая как Универсальная поперечная система Меркатора . Они также разделяют необходимость хранить набор атрибутов каждого географического объекта вместе с его формой; традиционно это достигалось с использованием моделей данных, форматов данных и даже программного обеспечения реляционных баз данных .
Ранние векторные форматы, такие как POLYVRT , ARC/INFO Coverage и шейп-файл Esri , поддерживают базовый набор геометрических примитивов: точки, полилинии и многоугольники, только в двухмерном пространстве, а последние два — только с интерполяцией прямых линий. Также были добавлены структуры данных TIN для представления поверхностей местности в виде треугольных сеток. С середины 1990-х годов были разработаны новые форматы, расширяющие диапазон доступных примитивов, обычно стандартизированные спецификацией Open Geospatial Consortium Simple Features . [3] Общие расширения геометрических примитивов включают: трехмерные координаты точек, линий и многоугольников; четвертое «измерение» для представления измеряемого атрибута или времени; изогнутые сегменты в линиях и многоугольниках; текстовая аннотация как форма геометрии; и полигональные сетки для трехмерных объектов.
Часто представление формы явления реального мира может иметь другое (обычно более низкое) измерение, чем представляемое явление. Например, город (двумерный регион) может быть представлен в виде точки, а дорога (трехмерный объем материала) может быть представлена в виде линии. Это размерное обобщение коррелирует с тенденциями пространственного познания. Например, вопрос о расстоянии между двумя городами предполагает концептуальную модель городов в виде точек, тогда как указание направлений движения «вверх», «вниз» или «вдоль» дороги подразумевает одномерную концептуальную модель. Это часто делается в целях эффективности данных, визуальной простоты или когнитивной эффективности и приемлемо, если понятно различие между представлением и представляемым, но может вызвать путаницу, если пользователи информации предполагают, что цифровая форма является идеальным представлением реальности. (т.е. верить в то, что дороги на самом деле являются линиями).
В 3D моделировании
[ редактировать ]В программном обеспечении САПР или 3D-моделировании интерфейс может предоставлять пользователю возможность создавать примитивы, которые могут быть дополнительно изменены путем редактирования. [4] Например, при моделировании коробок пользователь начинает с кубоида, затем использует выдавливание и другие операции для создания модели. В этом случае примитив является просто удобной отправной точкой, а не фундаментальной единицей моделирования.
Пакет 3D также может включать список расширенных примитивов, которые представляют собой более сложные формы, поставляемые с пакетом. Например, чайник указан как примитив в 3D Studio Max .
В графическом оборудовании
[ редактировать ]различные графические ускорители Существуют с аппаратным ускорением для рендеринга определенных примитивов, таких как линии или треугольники, часто с наложением текстур и шейдерами . Современные 3D-ускорители обычно принимают последовательности треугольников в виде полос треугольников .
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Пеке, Донна Дж. (1984), Концептуальная основа и сравнение моделей пространственных данных , Cartographica 21 (4): 66–113. doi: 10.3138/D794-N214-221R-23R5.
- ^ Векторные модели данных , Основы географических информационных систем , Академия Сэйлора, 2012 г.
- ^ Открытый геопространственный консорциум, Спецификация реализации OpenGIS для географической информации — простой доступ к функциям , версия 1.2.1
- ^ «Примитивы 3D студии» .