
Invector computer graphics,CAD systems, andgeographic information systems, ageometric primitive (orprim) is the simplest (i.e. 'atomic' or irreducible) geometric shape that the system can handle (draw, store). Sometimes thesubroutines that draw the corresponding objects are called "geometric primitives" as well. The most "primitive" primitives arepoint and straightline segments, which were all that early vector graphics systems had.
Inconstructive solid geometry, primitives are simple geometric shapes such as a cube, cylinder, sphere, cone, pyramid,torus.Modern2D computer graphics systems may operate with primitives which arecurves (segments of straight lines, circles and more complicated curves), as well as shapes (boxes, arbitrary polygons, circles).
A common set of two-dimensional primitives includes lines, points, andpolygons, although some people prefer to consider triangles primitives, because every polygon can be constructed from triangles (polygon triangulation). All other graphic elements are built up from these primitives. In three dimensions, triangles or polygons positioned in three-dimensional space can be used as primitives to model more complex 3D forms. In some cases, curves (such asBézier curves, circles, etc.) may be considered primitives; in other cases, curves are complex forms created from many straight, primitive shapes.
The set of geometric primitives is based on thedimension of the region being represented:[1]
In GIS, theterrain surface is often spoken of colloquially as "2 1/2 dimensional," because only the upper surface needs to be represented. Thus, elevation can be conceptualized as a scalarfield property or function of two-dimensional space, affording it a number of data modeling efficiencies over true 3-dimensional objects. A shape of any of these dimensions greater than zero consists of an infinite number of distinct points. Because digital systems are finite, only a sample set of the points in a shape can be stored. Thus, vector data structures typically represent geometric primitives using a strategic sample, organized in structures that facilitate the softwareinterpolating the remainder of the shape at the time of analysis or display, using the algorithms ofComputational geometry.[2]



A wide variety of vector data structures and formats have been developed during the history ofGeographic information systems, but they share a fundamental basis of storing a core set of geometric primitives to represent the location and extent of geographic phenomena. Locations of points are almost always measured within a standard Earth-based coordinate system, whether the sphericalGeographic coordinate system (latitude/longitude), or a planar coordinate system, such as theUniversal Transverse Mercator. They also share the need to store a set of attributes of each geographic feature alongside its shape; traditionally, this has been accomplished using the data models, data formats, and even software ofrelational databases.
Early vector formats, such asPOLYVRT, the ARC/INFO Coverage, and theEsri shapefile support a basic set of geometric primitives: points, polylines, and polygons, only in two dimensional space and the latter two with only straight line interpolation. TIN data structures for representing terrain surfaces as triangle meshes were also added. Since the mid 1990s, new formats have been developed that extend the range of available primitives, generally standardized by theOpen Geospatial Consortium'sSimple Features specification.[3] Common geometric primitive extensions include: three-dimensional coordinates for points, lines, and polygons; a fourth "dimension" to represent a measured attribute or time; curved segments in lines and polygons; text annotation as a form of geometry; and polygon meshes for three-dimensional objects.
Frequently, a representation of the shape of a real-world phenomenon may have a different (usually lower) dimension than the phenomenon being represented. For example, a city (a two-dimensional region) may be represented as a point, or a road (a three-dimensional volume of material) may be represented as a line. This dimensional generalization correlates with tendencies in spatial cognition. For example, asking the distance between two cities presumes a conceptual model of the cities as points, while giving directions involving travel "up," "down," or "along" a road imply a one-dimensional conceptual model. This is frequently done for purposes of data efficiency, visual simplicity, or cognitive efficiency, and is acceptable if the distinction between the representation and the represented is understood, but can cause confusion if information users assume that the digital shape is a perfect representation of reality (i.e., believing that roads really are lines).
In CAD software or3D modelling, the interface may present the user with the ability to create primitives which may be further modified by edits.[4] For example, in the practice ofbox modelling the user will start with a cuboid, then use extrusion and other operations to create the model. In this use the primitive is just a convenient starting point, rather than the fundamental unit of modelling.
A 3D package may also include a list of extended primitives which are more complex shapes that come with the package. For example, ateapot is listed as a primitive in3D Studio Max.
Variousgraphics accelerators exist withhardware acceleration for rendering specific primitives such as lines or triangles, frequently withtexture mapping andshaders. Modern 3D accelerators typically accept sequences of triangles astriangle strips.