Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Geometric primitive
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Basic shapes represented in vector graphics}} [[File:beetle.svg|thumb|340px|[[Vector graphics]] consists of geometrical primitives.]] In [[Vector graphics|vector]] [[computer graphics]], [[Computer-aided design|CAD systems]], and [[geographic information systems]], a '''geometric primitive''' (or '''prim''') is the simplest (i.e. 'atomic' or irreducible) [[geometric shape]] that the system can handle (draw, store). Sometimes the [[subroutine]]s that draw the corresponding objects are called "geometric primitives" as well. The most "primitive" primitives are [[point (geometry)|point]] and straight [[line segment]]s, which were all that early vector graphics systems had. In [[constructive solid geometry]], primitives are simple [[geometry|geometric]] shapes such as a [[Cube (geometry)|cube]], [[cylinder (geometry)|cylinder]], [[sphere]], [[cone (geometry)|cone]], [[Pyramid (geometry)|pyramid]], [[torus]]. Modern [[2D computer graphics]] systems may operate with primitives which are [[Curve|curves]] (segments of straight lines, [[circle]]s and more complicated curves), as well as shapes (boxes, arbitrary polygons, circles). A common set of two-dimensional primitives includes lines, points, and [[polygon]]s, although some people prefer to consider [[triangle]]s primitives, because every polygon can be constructed from triangles. 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 as [[Bézier curve]]s, [[circle]]s, etc.) may be considered primitives; in other cases, curves are complex forms created from many straight, primitive shapes. == Common primitives == The set of geometric primitives is based on the ''[[dimension]]'' of the region being represented:<ref name="Peuquet">Peuquet, Donna J. (1984), [https://www.researchgate.net/publication/244954245_A_Conceptual_Framework_and_Comparison_of_Spatial_Data_Models A Conceptual Framework and Comparison of Spatial Data Models], ''Cartographica'' 21 (4): 66–113. doi:10.3138/D794-N214-221R-23R5.</ref> * ''[[Point (geometry)|Point]]'' (0-dimensional), a single location with no height, width, or depth. * ''[[Line (geometry)|Line]]'' or ''[[curve]]'' (1-dimensional), having length but no width, although a linear feature may curve through a higher-dimensional space. * ''[[Planar surface]]'' or ''[[Surface|curved surface]]'' (2-dimensional), having length and width. * ''Volumetric region'' or ''[[Solid figure|solid]]'' (3-dimensional), having length, width, and depth. In GIS, the [[terrain]] 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 scalar [[Field (geography)|field]] 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 software [[Interpolation|interpolating]] the remainder of the shape at the time of analysis or display, using the algorithms of [[Computational geometry]].<ref>[https://saylordotorg.github.io/text_essentials-of-geographic-information-systems/s08-02-vector-data-models.html Vector Data Models], ''Essentials of Geographic Information Systems'', Saylor Academy, 2012</ref> * A '''Point''' is a single coordinate in a [[Cartesian coordinate system]]. Some data models allow for '''Multipoint''' features consisting of several disconnected points. [[File:Chainline.svg|thumb|right|A simple polyline]] * A '''[[Polygonal chain]]''' or '''Polyline''' is an ordered list of points (termed [[Vertex (computer graphics)|vertices]] in this context). The software is expected to [[Interpolation|interpolate]] the intervening shape of the line between adjacent points in the list as a parametric curve, most commonly a straight line, but other types of curves are frequently available, including [[Arc (geometry)|circular arcs]], [[Cubic Hermite spline|cubic splines]], and [[Bézier curve]]s. Some of these curves require additional points to be defined that are not on the line itself, but are used for parametric control. * A '''[[Polygon]]''' is a polyline that closes at its endpoints, representing the boundary of a two-dimensional region. The software is expected to use this boundary to partition 2-dimensional space into an interior and exterior. Some data models allow for a single feature to consist of multiple polylines, which could collectively connect to form a single closed boundary, could represent a set of disjoint regions (e.g., the state of [[Hawaii]]), or could represent a region with holes (e.g., a lake with an island). [[File:Second Life torus prim.jpg|thumb|right|A 3D [[torus]] prim created in [[Second Life]], an example of a parametric shape]] * A '''Parametric shape''' is a standardized two-dimensional or three-dimensional shape defined by a minimal set of parameters, such as an [[ellipse]] defined by two points at its foci, or three points at its center, vertex, and co-vertex. * A '''[[Polyhedron]]''' or '''[[Polygon mesh]]''' is a set of polygon faces in three-dimensional space that are connected at their edges to completely enclose a volumetric region. In some applications, closure may not be required or may be implied, such as modeling terrain. The software is expected to use this surface to partition 3-dimensional space into an interior and exterior. A [[triangle mesh]] is a subtype of polyhedron in which all faces must be triangles, the only polygon that will always be planar, including the [[Triangulated irregular network]] (TIN) commonly used in GIS. [[File:Surface_modelling.svg|thumb|right|A NURBS surface]] * A '''parametric mesh''' represents a three-dimensional surface by a connected set of parametric functions, similar to a spline or Bézier curve in two dimensions. The most common structure is the [[Non-uniform rational B-spline]] (NURBS), supported by most CAD and animation software. == Application in GIS == A wide variety of vector data structures and formats have been developed during the history of [[Geographic 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 spherical [[Geographic coordinate system]] (latitude/longitude), or a planar coordinate system, such as the [[Universal 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 of [[relational database]]s. Early vector formats, such as [[Harvard Laboratory for Computer Graphics and Spatial Analysis|POLYVRT]], the ARC/INFO Coverage, and the [[Shapefile|Esri 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 the [[Open Geospatial Consortium]]'s [[Simple Features]] specification.<ref name="ogc-sf">Open Geospatial Consortium, [https://www.ogc.org/standards/sfa OpenGIS Implementation Specification for Geographic information - Simple feature access], Version 1.2.1</ref> 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 3D modelling == In CAD software or [[3D modelling]], the interface may present the user with the ability to create primitives which may be further modified by edits.<ref>{{cite web|title=3d studio primitives|url=https://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2017/ENU/3DSMax/files/GUID-66152BDE-BA64-423F-8472-C1F0EB409E16-htm.html}}</ref> For example, in the practice of [[box 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, a [[Utah teapot|teapot]] is listed as a primitive in [[3D Studio Max]]. == In graphics hardware == Various [[graphics accelerator]]s exist with [[hardware acceleration]] for rendering specific primitives such as lines or triangles, frequently with [[texture mapping]] and [[shader]]s. Modern 3D accelerators typically accept sequences of triangles as [[triangle strip]]s. ==See also== *[[2D geometric model]] *[[Sculpted prim]] *[[Simplex]] ==References== {{Reflist}} ==External links== *[http://www.peachpit.com/articles/article.aspx?p=30594&seqNum=5 Peachpit.com Info On 3D Primitives] [[Category:Computer graphics]] [[Category:Geometric algorithms]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)