Computer representation of surfaces

Last updated
An open surface with u- and v-flow lines and Z-contours shown. Saddle pt.jpg
An open surface with u- and v-flow lines and Z-contours shown.

In technical applications of 3D computer graphics (CAx) such as computer-aided design and computer-aided manufacturing, surfaces are one way of representing objects. The other ways are wireframe (lines and curves) and solids. Point clouds are also sometimes used as temporary ways to represent an object, with the goal of using the points to create one or more of the three permanent representations.

Contents

Open and closed surfaces

Catmull-Clark subdivision surface Catmull-Clark subdivision of 4 planes.png
Catmull–Clark subdivision surface

If one considers a local parametrization of a surface:

then the curves obtained by varying u while keeping v fixed are coordinate lines, sometimes called the uflow lines. The curves obtained by varying v while u is fixed are called the v flow lines. These are generalizations of the x and y Cartesian coordinate lines in the plane coordinate system and of the meridians and circles of latitude on a spherical coordinate system.

Open surfaces are not closed in either direction. This means moving in any direction along the surface will cause an observer to hit the edge of the surface. The top of a car hood is an example of a surface open in both directions.

Surfaces closed in one direction include a cylinder, cone, and hemisphere. Depending on the direction of travel, an observer on the surface may hit a boundary on such a surface or travel forever.

Surfaces closed in both directions include a sphere and a torus. Moving in any direction on such surfaces will cause the observer to travel forever without hitting an edge.

Places where two boundaries overlap (except at a point) are called a seam. For example, if one imagines a cylinder made from a sheet of paper rolled up and taped together at the edges, the boundaries where it is taped together are called the seam.

Flattening a surface

Some open surfaces and surfaces closed in one direction may be flattened into a plane without deformation of the surface. For example, a cylinder can be flattened into a rectangular area without distorting the surface distance between surface features (except for those distances across the split created by opening up the cylinder). A cone may also be so flattened. Such surfaces are linear in one direction and curved in the other (surfaces linear in both directions were flat to begin with). Sheet metal surfaces which have flat patterns can be manufactured by stamping a flat version, then bending them into the proper shape, such as with rollers. This is a relatively inexpensive process.

Other open surfaces and surfaces closed in one direction, and all surfaces closed in both directions, can't be flattened without deformation. A hemisphere or sphere, for example, can't. Such surfaces are curved in both directions. This is why maps of the Earth are distorted. The larger the area the map represents, the greater the distortion. Sheet metal surfaces which lack a flat pattern must be manufactured by stamping using 3D dies (sometimes requiring multiple dies with different draw depths and/or draw directions), which tend to be more expensive.

Regions

Patches

A surface may be composed of one or more patches, where each patch has its own U-V coordinate system. These surface patches are analogous to the multiple polynomial arcs used to build a spline. They allow more complex surfaces to be represented by a series of relatively simple equation sets rather than a single set of complex equations. Thus, the complexity of operations such as surface intersections can be reduced to a series of patch intersections.

Surfaces closed in one or two directions frequently must also be broken into two or more surface patches by the software.

Faces

Surfaces and surface patches can only be trimmed at U and V coordinate lines. To overcome this severe limitation, surface faces allow a surface to be limited to a series of boundaries projected onto the surface in any orientation, so long as those boundaries are collectively closed. For example, trimming a cylinder at an angle would require such a surface face.

A single surface face may span multiple surface patches on a single surface, but can't span multiple surfaces.

Planar faces are similar to surface faces, but are limited by a collectively closed series of boundaries projected to an infinite plane, instead of a surface.

Skins and volumes

As with surfaces, surface faces closed in one or two directions frequently must also be broken into two or more surface faces by the software. To combine them back into a single entity, a skin or volume is created. A skin is an open collection of faces and a volume is a closed set. The constituent faces may have the same support surface or face or may have different supports.

Solids

Volumes can be filled in to build a solid model (possibly with other volumes subtracted from the interior). Skins and faces can also be offset to create solids of uniform thickness.

Continuity

A surface's patches and the faces built on that surface typically have point continuity (no gaps) and tangent continuity (no sharp angles). Curvature continuity (no sharp radius changes) may or may not be maintained.

Skins and volumes, however, typically only have point continuity. Sharp angles between faces built on different supports (planes or surfaces) are common.

Visualization and display

Surfaces may be displayed in many ways:

CAD/CAM representation

A mesh generated from an implicit surface Impl-flaeche-geschl2.svg
A mesh generated from an implicit surface

CAD/CAM systems use primarily two types of surfaces:

Other surface forms such as facet and voxel are also used in a few specific applications.

CAE/FEA representation

In computer-aided engineering and finite element analysis, an object may be represented by a surface mesh of node points connected by triangles or quadrilaterals (polygon mesh). More accurate, but also far more CPU-intensive, results can be obtained by using a solid mesh. The process of creating a mesh is called tessellation . Once tessellated, the mesh can be subjected to simulated stresses, strains, temperature differences, etc., to see how those changes propagate from node point to node point throughout the mesh.

VR/computer animation

Doo-Sabin subdivision surface DooSabin subdivision.png
Doo–Sabin subdivision surface

In virtual reality and computer animation, an object may also be represented by a surface mesh of node points connected by triangles or quadrilaterals. If the goal is only to represent the visible portion of an object (and not show changes to the object) a solid mesh serves no purpose, for this application. The triangles or quadrilaterals can each be shaded differently depending on their orientation toward the light sources and/or viewer. This will give a rather faceted appearance, so an additional step is frequently added where the shading of adjacent regions is blended to provide smooth shading. There are several methods for performing this blending.

See also

Related Research Articles

<span class="mw-page-title-main">Wire-frame model</span> Representation of a 3D object with only its edges rendered

In 3D computer graphics, a wire-frame model is a visual representation of a three-dimensional (3D) physical object. It is based on a polygon mesh or a volumetric mesh, created by specifying each edge of the physical object where two mathematically continuous smooth surfaces meet, or by connecting an object's constituent vertices using (straight) lines or curves.

<span class="mw-page-title-main">ACIS</span> Geometric modeling kernel developed by Spatial Corporation

The 3D ACIS Modeler (ACIS) is a geometric modeling kernel developed by Spatial Corporation, part of Dassault Systèmes. ACIS is used by software developers in industries such as computer-aided design, computer-aided manufacturing, computer-aided engineering, architecture, engineering and construction, coordinate-measuring machine, 3D animation, and shipbuilding. ACIS provides software developers and manufacturers the underlying 3D modeling functionality.

<span class="mw-page-title-main">Shape</span> Form of an object

A shape is a graphical representation of an object's form or its external boundary, outline, or external surface. It is distinct from other object properties, such as color, texture, or material type. In geometry, shape excludes information about the object's position, size, orientation and chirality. A figure is a representation including both shape and size.

<span class="mw-page-title-main">Geometric primitive</span> Basic shapes represented in vector graphics

In vector computer graphics, CAD systems, and geographic information systems, geometric primitive is the simplest geometric shape that the system can handle. Sometimes the subroutines that draw the corresponding objects are called "geometric primitives" as well. The most "primitive" primitives are point and straight line segment, which were all that early vector graphics systems had.

<span class="mw-page-title-main">Shading</span> Depicting depth through varying levels of darkness

Shading refers to the depiction of depth perception in 3D models or illustrations by varying the level of darkness. Shading tries to approximate local behavior of light on the object's surface and is not to be confused with techniques of adding shadows, such as shadow mapping or shadow volumes, which fall under global behavior of light.

Bézier surfaces are a species of mathematical spline used in computer graphics, computer-aided design, and finite element modeling. As with Bézier curves, a Bézier surface is defined by a set of control points. Similar to interpolation in many respects, a key difference is that the surface does not, in general, pass through the central control points; rather, it is "stretched" toward them as though each were an attractive force. They are visually intuitive and, for many applications, mathematically convenient.

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 capabilities and a flexible plugin architecture and must be used on the Microsoft Windows platform. It is frequently used by video game developers, many TV commercial studios, and architectural visualization studios. It is also used for movie effects and movie pre-visualization. 3ds Max features shaders, dynamic simulation, particle systems, radiosity, normal map creation and rendering, global illumination, a customizable user interface, and its own scripting language.

<span class="mw-page-title-main">Ray casting</span> Methodological basis for 3D CAD/CAM solid modeling and image rendering

Ray casting is the methodological basis for 3D CAD/CAM solid modeling and image rendering. It is essentially the same as ray tracing for computer graphics where virtual light rays are "cast" or "traced" on their path from the focal point of a camera through each pixel in the camera sensor to determine what is visible along the ray in the 3D scene. The term "Ray Casting" was introduced by Scott Roth while at the General Motors Research Labs from 1978–1980. His paper, "Ray Casting for Modeling Solids", describes modeled solid objects by combining primitive solids, such as blocks and cylinders, using the set operators union (+), intersection (&), and difference (-). The general idea of using these binary operators for solid modeling is largely due to Voelcker and Requicha's geometric modelling group at the University of Rochester. See solid modeling for a broad overview of solid modeling methods.

<span class="mw-page-title-main">Solid modeling</span> Set of principles for modeling solid geometry

Solid modeling is a consistent set of principles for mathematical and computer modeling of three-dimensional shapes (solids). Solid modeling is distinguished within the broader related areas of geometric modeling and computer graphics, such as 3D modeling, by its emphasis on physical fidelity. Together, the principles of geometric and solid modeling form the foundation of 3D-computer-aided design, and in general, support the creation, exchange, visualization, animation, interrogation, and annotation of digital models of physical objects.

<span class="mw-page-title-main">Polygon mesh</span> Set of polygons to define the surface of a 3D model

In 3D computer graphics and solid modeling, a polygon mesh is a collection of vertices, edges and faces that defines the shape of a polyhedral object's surface. It simplifies rendering, as in a wire-frame model. The faces usually consist of triangles, quadrilaterals (quads), or other simple convex polygons (n-gons). A polygonal mesh may also be more generally composed of concave polygons, or even polygons with holes.

<span class="mw-page-title-main">Cross section (geometry)</span> Geometrical concept

In geometry and science, a cross section is the non-empty intersection of a solid body in three-dimensional space with a plane, or the analog in higher-dimensional spaces. Cutting an object into slices creates many parallel cross-sections. The boundary of a cross-section in three-dimensional space that is parallel to two of the axes, that is, parallel to the plane determined by these axes, is sometimes referred to as a contour line; for example, if a plane cuts through mountains of a raised-relief map parallel to the ground, the result is a contour line in two-dimensional space showing points on the surface of the mountains of equal elevation.

<span class="mw-page-title-main">STL (file format)</span> Standard Tessellation Language. File format for 3D printing and scanning applications.

STL is a file format native to the stereolithography CAD software created by 3D Systems. Chuck Hull, the inventor of stereolithography and 3D Systems’ founder, reports that the file extension is an abbreviation for stereolithography, although it is also referred to as standard triangle language or standard tessellation language.

<span class="mw-page-title-main">Freeform surface modelling</span> Techniques for creating complex surfaces in 3D graphics software

Freeform surface modelling is a technique for engineering freeform surfaces with a CAD or CAID system.

<span class="mw-page-title-main">Mesh generation</span> Subdivision of space into cells

Mesh generation is the practice of creating a 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 input domain. Mesh cells are used as discrete local approximations of the larger domain. Meshes are created by computer algorithms, often with human guidance through a GUI, depending on the complexity of the domain and the type of mesh desired. A typical goal is to create a mesh that accurately captures the input domain geometry, with high-quality (well-shaped) cells, and without so many cells as to make subsequent calculations intractable. The mesh should also be fine in areas that are important for the subsequent calculations.

<span class="mw-page-title-main">3D modeling</span> Form of computer-aided engineering

In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based representation of a surface of an object in three dimensions via specialized software by manipulating edges, vertices, and polygons in a simulated 3D space.

In applied mathematics, a grid or mesh is defined as the set of smaller shapes formed after discretisation of a geometric domain. Meshing has applications in the fields of geography, designing, computational fluid dynamics, and more generally in partial differential equations numerical solving. The geometric domain can be in any dimension. The two-dimensional meshing includes simple polygon, polygon with holes, multiple domain and curved domain. In three dimensions there are three types of inputs. They are simple polyhedron, geometrical polyhedron and multiple polyhedrons. Before defining the mesh type it is necessary to understand elements.

<span class="mw-page-title-main">Tessellation (computer graphics)</span> Computer graphics terminology

In computer graphics, tessellation is the dividing of datasets of polygons presenting objects in a scene into suitable structures for rendering. Especially for real-time rendering, data is tessellated into triangles, for example in OpenGL 4.0 and Direct3D 11.

<span class="mw-page-title-main">Surface</span> Outermost or uppermost layer of a physical object or space

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 the portion with which other materials first interact. The surface of an object is more than "a mere geometric solid", but is "filled with, spread over by, or suffused with perceivable qualities such as color and warmth".

This is a glossary of terms relating to computer graphics.

JMesh is a JSON-based portable and extensible file format for the storage and interchange of unstructured geometric data, including discretized geometries such as triangular and tetrahedral meshes, parametric geometries such as NURBS curves and surfaces, and constructive geometries such as constructive solid geometry (CGS) of shape primitives and meshes. Built upon the JData specification, a JMesh file utilizes the JSON and Universal Binary JSON (UBJSON) constructs to serialize and encode geometric data structures, therefore, it can be directly processed by most existing JSON and UBJSON parsers. The JMesh specification defines a list of JSON-compatible constructs to encode geometric data, including N-dimensional (ND) vertices, curves, surfaces, solid elements, shape primitives, their interactions and spatial relations, together with their associated properties, such as numerical values, colors, normals, materials, textures and other properties related to graphics data manipulation, 3D fabrication, computer graphics rendering and animations.

References

  1. Piegl, Les; Tiller, Wayne (1997). The NURBS Book (2. ed.). Berlin: Springer. ISBN   3-540-61545-8.