Polygonal Modeling
   HOME

TheInfoList



OR:

In
3D computer graphics 3D computer graphics, sometimes called Computer-generated imagery, CGI, 3D-CGI or three-dimensional Computer-generated imagery, computer graphics, are graphics that use a three-dimensional representation of geometric data (often Cartesian coor ...
, polygonal modeling is an approach for modeling objects by representing or approximating their
surface A surface, as the term is most generally used, is the outermost or uppermost layer of a physical object or space. It is the portion or region of the object that can first be perceived by an observer using the senses of sight and touch, and is ...
s using
polygon mesh In 3D computer graphics and solid modeling, a polygon mesh is a collection of , s and s that defines the shape of a polyhedron, polyhedral object's surface. It simplifies Rendering (computer graphics), rendering, as in a wire-frame model. The fac ...
es. Polygonal modeling is well suited to
scanline rendering Scanline rendering (also scan line rendering and scan-line rendering) is an algorithm for visible surface determination, in 3D computer graphics, that works on a row-by-row basis rather than a polygon-by-polygon or pixel-by-pixel basis. All of ...
and is therefore the method of choice for
real-time computer graphics Real-time computer graphics or real-time rendering is the sub-field of computer graphics focused on producing and analyzing images in real time. The term can refer to anything from rendering an application's graphical user interface ( GUI) to ...
. Alternate methods of representing 3D objects include
NURBS Non-uniform rational basis spline (NURBS) is a mathematical model using basis splines (B-splines) that is commonly used in computer graphics for representing curves and surfaces. It offers great flexibility and precision for handling both analy ...
surfaces,
subdivision surface In the field of 3D computer graphics, a subdivision surface (commonly shortened to SubD surface or Subsurf) is a curved Computer representation of surfaces, surface represented by the specification of a coarser polygon mesh and produced by a re ...
s, and equation-based (implicit surface) representations used in ray tracers.


Geometric theory and polygons

The basic object used in mesh modeling is a vertex, a point in three-dimensional space. Two vertices connected by a straight line become an
edge Edge or EDGE may refer to: Technology Computing * Edge computing, a network load-balancing system * Edge device, an entry point to a computer network * Adobe Edge, a graphical development application * Microsoft Edge, a web browser developed by ...
. Three vertices, connected to each other by three edges, define a
triangle A triangle is a polygon with three corners and three sides, one of the basic shapes in geometry. The corners, also called ''vertices'', are zero-dimensional points while the sides connecting them, also called ''edges'', are one-dimension ...
, which is the simplest
polygon In geometry, a polygon () is a plane figure made up of line segments connected to form a closed polygonal chain. The segments of a closed polygonal chain are called its '' edges'' or ''sides''. The points where two edges meet are the polygon ...
in
Euclidean space Euclidean space is the fundamental space of geometry, intended to represent physical space. Originally, in Euclid's ''Elements'', it was the three-dimensional space of Euclidean geometry, but in modern mathematics there are ''Euclidean spaces ...
. More complex
polygons In geometry, a polygon () is a plane figure made up of line segments connected to form a closed polygonal chain. The segments of a closed polygonal chain are called its '' edges'' or ''sides''. The points where two edges meet are the polygon' ...
can be created out of multiple triangles, or as a single object with more than 3 vertices. Four sided polygons (generally referred to as quads) and triangles are the most common shapes used in polygonal modeling. A group of polygons, connected to each other by shared vertices, is generally referred to as an element. Each of the polygons making up an element is called a face. In
Euclidean geometry Euclidean geometry is a mathematical system attributed to ancient Greek mathematics, Greek mathematician Euclid, which he described in his textbook on geometry, ''Euclid's Elements, Elements''. Euclid's approach consists in assuming a small set ...
, any three non-collinear points determine a plane. For this reason, triangles always inhabit a single plane. This is not necessarily true of more complex polygons, however. The flat nature of triangles makes it simple to determine their
surface normal In geometry, a normal is an object (e.g. a line, ray, or vector) that is perpendicular to a given object. For example, the normal line to a plane curve at a given point is the infinite straight line perpendicular to the tangent line to the ...
, a three-dimensional vector perpendicular to the triangle's surface. Surface normals are useful for determining light transport in ray tracing, and are a key component of the popular
Phong shading In 3D computer graphics, Phong shading, Phong interpolation, or normal-vector interpolation shading is an interpolation technique for surface shading invented by computer graphics pioneer Bui Tuong Phong. Phong shading interpolates surface no ...
model. Some rendering systems use vertex normals instead of face normals to create a better-looking lighting system at the cost of more processing. Note that every triangle has two face normals, which point to opposite directions from each other. In many systems only one of these normals is considered valid – the other side of the polygon is referred to as a backface, and can be made visible or invisible depending on the programmer’s desires. Many modeling programs do not strictly enforce geometric theory; for example, it is possible for two vertices to have two distinct edges connecting them, occupying exactly the same spatial location. It is also possible for two vertices to exist at the same spatial coordinates, or two faces to exist at the same location. Situations such as these are usually not desired and many packages support an auto-cleanup function. If auto-cleanup is not present, however, they must be deleted manually. A group of polygons which are connected by shared vertices is referred to as a mesh. In order for a mesh to appear attractive when rendered, it is desirable that it be non-self-intersecting, meaning that no edge passes through a polygon. Another way of looking at this is that the mesh cannot pierce itself. It is also desirable that the mesh not contain any errors such as doubled vertices, edges, or faces. For some purposes it is important that the mesh be a
manifold In mathematics, a manifold is a topological space that locally resembles Euclidean space near each point. More precisely, an n-dimensional manifold, or ''n-manifold'' for short, is a topological space with the property that each point has a N ...
– that is, that it does not contain holes or singularities (locations where two distinct sections of the mesh are connected by a single vertex).


Construction of polygonal meshes

Although it is possible to construct a mesh by manually specifying vertices and faces, it is much more common to build meshes using a variety of tools. A wide variety of
3D graphics software 3D computer graphics, sometimes called CGI, 3D-CGI or three-dimensional computer graphics, are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for the purposes of perfor ...
packages are available for use in constructing polygon meshes. One of the more popular methods of constructing meshes is box modeling, which uses two simple tools: * The subdivide tool splits faces and edges into smaller pieces by adding new vertices. For example, a square would be subdivided by adding one vertex in the center and one on each edge, creating four smaller squares. * The extrude tool is applied to a face or a group of faces. It creates a new face of the same size and shape which is connected to each of the existing edges by a face. Thus, performing the extrude operation on a square face would create a cube connected to the surface at the location of the face. A second common modeling method is sometimes referred to as inflation modeling or extrusion modeling. In this method, the user creates a 2D shape which traces the outline of an object from a photograph or a drawing. The user then uses a second image of the subject from a different angle and extrudes the 2D shape into 3D, again following the shape’s outline. This method is especially common for creating faces and heads. In general, the artist will model half of the head and then duplicate the vertices, invert their location relative to some plane, and connect the two pieces together. This ensures that the model will be symmetrical. Another common method of creating a polygonal mesh is by connecting together various primitives, which are predefined polygonal meshes created by the modeling environment. Common primitives include: * Cubes * Pyramids * Cylinders * 2D primitives, such as squares, triangles, and disks * Specialized or esoteric primitives, such as the Utah Teapot or Suzanne, Blender's monkey mascot. * Spheres - Spheres are commonly represented in one of two ways: ** Icospheres are
icosahedron In geometry, an icosahedron ( or ) is a polyhedron with 20 faces. The name comes . The plural can be either "icosahedra" () or "icosahedrons". There are infinitely many non- similar shapes of icosahedra, some of them being more symmetrical tha ...
s which possess a sufficient number of triangles to resemble a sphere. ** UV spheres are composed of quads, and resemble the grid seen on some globes - quads are larger near the "equator" of the sphere and smaller near the "poles," eventually terminating in a single vertex. Finally, some specialized methods of constructing high or low detail meshes exist. Sketch based modeling is a user-friendly interface for constructing low-detail models quickly, while
3D scanner 3D scanning is the process of analyzing a real-world object or environment to collect three dimensional data of its shape and possibly its appearance (e.g. color). The collected data can then be used to construct digital 3D models. A 3D scanner ...
s can be used to create high detail meshes based on existing real-world objects in an almost automatic way. These devices are very expensive, and are generally only used by researchers and industry professionals but can generate high accuracy sub-millimetric digital representations.


Operations

There are a very large number of operations which may be performed on polygonal meshes. Some of these roughly correspond to real-world manipulations of 3D objects, while others do not. Polygonal mesh operations include: * Creations - Create new geometry from some other mathematical object ** ''Loft'' - Generate a mesh by creating a shape along two or more profile curves ** Extrude - Creates a surface by sweeping a profile curve or polygon surface along a straight or linear line ** Revolve - Generate a mesh by revolving (rotating) a shape around an axis ** Marching cubes - Algorithm to construct a mesh from an
implicit function In mathematics, an implicit equation is a relation of the form R(x_1, \dots, x_n) = 0, where is a function of several variables (often a polynomial). For example, the implicit equation of the unit circle is x^2 + y^2 - 1 = 0. An implicit func ...
* Binary Creations - Create a new mesh from a binary operation of two other meshes ** Add - Boolean addition of two or more meshes ** Subtract - Boolean subtraction of two or more meshes ** Intersect - Boolean intersection ** Union - Boolean union of two or more meshes ** Attach - Attach one mesh to another (removing the interior surfaces) ** Chamfer - Create a beveled surface which smoothly connects two surfaces * Deformations - Move only the vertices of a mesh ** Deform - Systematically move vertices (according to certain functions or rules) ** Weighted Deform - Move vertices based on localized weights per vertex ** Morph - Move vertices smoothly between a source and target mesh ** Bend - Move vertices to "bend" the object ** Twist - Move vertices to "twist" the object * Manipulations - Modify the geometry of the mesh, but not necessarily topology ** Displace - Introduce additional geometry based on a "displacement map" from the surface ** Simplify - Systematically remove and average vertices ** Subdivide - Introduce new vertices into a mesh by subdividing each face. In the case of, for instance, Catmull-Clark, subdivision can also have a smoothing effect on the meshes it is applied to. **
Convex Hull In geometry, the convex hull, convex envelope or convex closure of a shape is the smallest convex set that contains it. The convex hull may be defined either as the intersection of all convex sets containing a given subset of a Euclidean space, ...
- Generate a convex mesh which minimally encloses a given mesh ** Cut - Create a hole in a mesh surface ** Stitch - Close a hole in a mesh surface * Measurements - Compute some value of the mesh **
Volume Volume is a measure of regions in three-dimensional space. It is often quantified numerically using SI derived units (such as the cubic metre and litre) or by various imperial or US customary units (such as the gallon, quart, cubic inch) ...
- Compute the 3D volume of a mesh (discrete volumetric integral) **
Surface Area The surface area (symbol ''A'') of a solid object is a measure of the total area that the surface of the object occupies. The mathematical definition of surface area in the presence of curved surfaces is considerably more involved than the d ...
- Compute the surface area of a mesh (discrete surface integral) ** Collision Detection - Determine if two complex meshes in motion have collided ** Fitting - Construct a parametric surface (NURBS, bicubic spline) by fitting it to a given mesh ** Point-Surface Distance - Compute distance from a point to the mesh ** Line-Surface Distance - Compute distance from a line to the mesh ** Line-Surface Intersection - Compute intersection of line and the mesh ** Cross Section - Compute the curves created by a cross-section of a plane through a mesh **
Centroid In mathematics and physics, the centroid, also known as geometric center or center of figure, of a plane figure or solid figure is the arithmetic mean position of all the points in the figure. The same definition extends to any object in n-d ...
- Compute the centroid, geometric center, of the mesh ** Center-of-Mass - Compute the center of mass, balance point, of the mesh **
Circumcenter In geometry, the circumscribed circle or circumcircle of a triangle is a circle that passes through all three vertices. The center of this circle is called the circumcenter of the triangle, and its radius is called the circumradius. The circumcen ...
- Compute the center of a circle or sphere enclosing an element of the mesh **
Incenter In geometry, the incenter of a triangle is a triangle center, a point defined for any triangle in a way that is independent of the triangle's placement or scale. The incenter may be equivalently defined as the point where the internal angle bis ...
- Compute the center of a circle or sphere enclosed by an element of the mesh


Extensions

Once a polygonal mesh has been constructed, further steps must be taken before it is useful for games, animation, etc. The model must be texture mapped to add colors and texture to the surface and it must be given a skeleton for animation. Meshes can also be assigned weights and centers of gravity for use in
physical simulation A simulation is an imitative representation of a process or system that could exist in the real world. In this broad sense, simulation can often be used interchangeably with model. Sometimes a clear distinction between the two terms is made, in ...
. To display a model on a computer screen outside of the modeling environment, it is necessary to store that model in one of the
file format A file format is a Computer standard, standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary format, pr ...
s listed below, and then use or write a program capable of loading from that format. The two main methods of displaying 3D polygon models are
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
and
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
. Both of these methods can be used with or without a 3D accelerated
graphics card A graphics card (also called a video card, display card, graphics accelerator, graphics adapter, VGA card/VGA, video adapter, display adapter, or colloquially GPU) is a computer expansion card that generates a feed of graphics output to a displa ...
.


Advantages and disadvantages

There are many disadvantages to representing an object using polygons. Polygons are incapable of accurately representing curved surfaces, so a large number of them must be used to approximate curves in a visually appealing manner. The use of complex models has a cost in lowered speed. In scanline conversion, each polygon must be converted and displayed, regardless of size, and there are frequently a large number of models on the screen at any given time. Often, programmers must use multiple models at varying levels of detail to represent the same object in order to cut down on the number of polygons being rendered. The main advantage of polygons is that they are faster than other representations. While a modern graphics card can show a highly detailed scene at a
frame rate Frame rate, most commonly expressed in frame/s, or FPS, is typically the frequency (rate) at which consecutive images (Film frame, frames) are captured or displayed. This definition applies to film and video cameras, computer animation, and moti ...
of 60 frames per second or higher, surface modelers, the main way of displaying non-polygonal models, are incapable of achieving an interactive frame rate (10 frame/s or higher) with a similar amount of detail. With sprites, another alternative to polygons, every required pose must be created individually, while a single polygonal model can perform any movement if the appropriate motion data is applied, and can be viewed from any angle.


File formats

A variety of formats are available for storing 3D polygon data. The most popular are: * .3ds, .max, which is associated with
3D Studio Max Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Autodesk Media and Entertainment. It has modeling capab ...
* .blend, which is associated with Blender * .c4d associated with Cinema 4D * .dae ( COLLADA) * .
dxf AutoCAD DXF (Drawing Interchange Format, or Drawing Exchange Format) is a computer-aided design (CAD) data file format developed by Autodesk to enable CAD data exchange and interoperability between AutoCAD on different computing platforms. His ...
, .dwg, .dwf, associated with
AutoCAD AutoCAD is a 2D and 3D computer-aided design (CAD) software application developed by Autodesk. It was first released in December 1982 for the CP/M and IBM PC platforms as a desktop app running on microcomputers with internal graphics control ...
* .fbx (Autodesk former. Kaydara Filmbox) * .jt originally developed by
Siemens Digital Industries Software Siemens Digital Industries Software (formerly UGS and then Siemens PLM Software) is an American computer software company specializing in 3D & 2D Product Lifecycle Management (PLM) software. The company is a business unit of Siemens, operates un ...
; now an
ISO The International Organization for Standardization (ISO ; ; ) is an independent, non-governmental, international standard development organization composed of representatives from the national standards organizations of member countries. Me ...
standard. * .lwo, which is associated with
Lightwave LightWave 3D is a 3D computer graphics program developed by LightWave Digital. It has been used in films, television, motion graphics, digital matte painting, visual effects, video game development, product design, architectural visualizatio ...
* .lxo, which is associated with MODO * .mb and .ma, which are associated with
Maya Maya may refer to: Ethnic groups * Maya peoples, of southern Mexico and northern Central America ** Maya civilization, the historical civilization of the Maya peoples ** Mayan languages, the languages of the Maya peoples * Maya (East Africa), a p ...
* .md2, .md3, associated with the Quake series of games * .mdl used with
Valve A valve is a device or natural object that regulates, directs or controls the flow of a fluid (gases, liquids, fluidized solids, or Slurry, slurries) by opening, closing, or partially obstructing various passageways. Valves are technically Pip ...
's Source Engine * .nif ( NetImmerse/ gamebryo) * .obj (Wavefront's "The Advanced Visualizer") * .ply used to store data from
3D scanner 3D scanning is the process of analyzing a real-world object or environment to collect three dimensional data of its shape and possibly its appearance (e.g. color). The collected data can then be used to construct digital 3D models. A 3D scanner ...
s * .rwx (Renderware) * .stl used in
rapid prototyping Rapid prototyping is a group of techniques used to quickly fabricate a scale model of a physical part or assembly using three-dimensional computer aided design ( CAD) data. Construction of the part or assembly is usually done using 3D printing ...
* .u3d (
Universal 3D Universal 3D (U3D) is a compressed file format standard for 3D computer graphics data. The format was defined by a special consortium called ''3D Industry Forum'' that brought together a diverse group of companies and organizations, including ...
) * .wrl (VRML 2.0)


See also

*
Finite element method Finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical modeling. Typical problem areas of interest include the traditional fields of structural analysis, heat tran ...
*
Mesh generation Mesh generation is the practice of creating a polygon mesh, mesh, a subdivision of a continuous geometric space into discrete geometric and topological cells. Often these cells form a simplicial complex. Usually the cells partition the geometric ...
* Polygon (computer graphics) *
Polygon mesh In 3D computer graphics and solid modeling, a polygon mesh is a collection of , s and s that defines the shape of a polyhedron, polyhedral object's surface. It simplifies Rendering (computer graphics), rendering, as in a wire-frame model. The fac ...
*
Vector graphics Vector graphics are a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector displ ...
*
Geometry processing Geometry processing is an area of research that uses concepts from applied mathematics, computer science and engineering to design efficient algorithms for the acquisition, 3D reconstruction, reconstruction, analysis, manipulation, simulation and ...
*
3D modeling In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based Computer representation of surfaces, representation of a surface of an object (inanimate or living) in Three-dimensional space, three dimensions vi ...


References


Bibliography

# OpenGL SuperBible (3rd ed.), by Richard S Wright and Benjamin Lipchak # OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.4, Fourth Edition by OpenGL Architecture Review Board # OpenGL(R) Reference Manual : The Official Reference Document to OpenGL, Version 1.4 (4th Edition) by OpenGL Architecture Review Board # Blender documentation: https://web.archive.org/web/20051212074804/http://blender.org/cms/Documentation.628.0.html # Maya documentation: packaged with Alias Maya, http://www.alias.com/eng/index.shtml {{DEFAULTSORT:Polygonal Modeling 3D computer graphics