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 flow 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">Dimension</span> Property of a mathematical space

In physics and mathematics, the dimension of a mathematical space is informally defined as the minimum number of coordinates needed to specify any point within it. Thus, a line has a dimension of one (1D) because only one coordinate is needed to specify a point on it – for example, the point at 5 on a number line. A surface, such as the boundary of a cylinder or sphere, has a dimension of two (2D) because two coordinates are needed to specify a point on it – for example, both a latitude and longitude are required to locate a point on the surface of a sphere. A two-dimensional Euclidean space is a two-dimensional space on the plane. The inside of a cube, a cylinder or a sphere is three-dimensional (3D) because three coordinates are needed to locate a point within these spaces.

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

A wire-frame model, also wireframe model, is a visual representation of a three-dimensional (3D) physical object used in 3D computer graphics. It is 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. The object is projected into screen space and rendered by drawing lines at the location of each edge. The term "wire frame" comes from designers using metal wire to represent the three-dimensional shape of solid objects. 3D wire frame computer models allow for the construction and manipulation of solids and solid surfaces. 3D solid modeling efficiently draws higher quality representations of solids than conventional line drawing.

<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 Systemes. ACIS is used by many software developers in industries such as computer-aided design (CAD), computer-aided manufacturing (CAM), computer-aided engineering (CAE), architecture, engineering and construction (AEC), coordinate-measuring machine (CMM), 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 or its external boundary

A shape or figure is a graphical representation of an object or its external boundary, outline, or external surface, as opposed to other properties such as color, texture, or material type. A plane shape or plane figure is constrained to lie on a plane, in contrast to solid 3D shapes. A two-dimensional shape or two-dimensional figure may lie on a more general curved surface.

<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.

<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. This figure on the right shows a U-Joint modeled from cylinders and blocks in a binary tree using Roth's ray casting system in 1979.

<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 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. The faces usually consist of triangles, quadrilaterals (quads), or other simple convex polygons (n-gons), since this simplifies rendering, but 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> File format for stereolithography 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.

<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">Cobalt (CAD program)</span> 3D computer graphics software

Cobalt is a parametric-based computer-aided design (CAD) and 3D modeling program that runs on both Macintosh and Microsoft Windows operating systems. The program combines the direct-modeling way to create and edit objects and the highly structured, history-driven parametric way exemplified by programs like Pro/ENGINEER. A product of Ashlar-Vellum, Cobalt is Wireframe-based and history-driven with associativity and 2D equation-driven parametrics and constraints. It offers surfacing tools, mold design tools, detailing, and engineering features. Cobalt includes a library of 149,000 mechanical parts.

<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 any surface of an object in three dimensions via specialized software by manipulating edges, vertices, and polygons in a simulated 3D space.

Grid or mesh is defined as smaller shapes formed after discretisation of geometric domain. Mesh or grid can be in 3- dimension and 2-dimension. Meshing has applications in the fields of geography, designing, computational fluid dynamics. and many more places. 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, 3-D 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.