Defining Geometry in 3-D
Modeling is the process of
describing an object or scene so that we can construct an image of it.
Points & polygons
-
Points - three-dimensional locations (or coordinate
triples)

-
Vectors - have direction and magnitude; can also be
thought of as displacement
-
Polygons - sequences of ``correctly'' co-planar
points; or an initial point and a sequence of vectors
-
Geometry definition = position and topology
(connectivity)
A cube described in .obj file format

g
v -2.500000 2.500000 2.500000
v -2.500000 -2.500000 2.500000
v 2.500000 -2.500000 2.500000
v 2.500000 2.500000 2.500000
v -2.500000 2.500000 -2.500000
v -2.500000 -2.500000 -2.500000
v 2.500000 -2.500000 -2.500000
v 2.500000 2.500000 -2.500000
# 8 vertices
g cube
f 1 2 3 4
f 8 7 6 5
f 4 3 7 8
f 5 1 4 8
f 5 6 2 1
f 2 6 7 3
# 6 elements
Primitives
Primitives are the fundamental geometric entities within
a given data structure.
-
We have already touched on point, vector and polygon
primitives

-
Regular Polygon Primitives - square, triangle,
circle, n-gon, etc.
-
Polygon strips or meshes
-
Meshes provide a more economical description than
multiple individual polygons
For example, 100 individual triangles, each
requiring 3 vertices, would require
100 x 3 or 300 vertex definitions to be stored in
the 3-D database.
By contrast, triangle strips require n + 2 vertex
definitions for any n number or triangles
in the strip. Hence, a 100 triangle strip requires
only 102 unique vertex definitions.
-
Meshes also provide continuity across surfaces which
is important for shading calculations

-
3D primitives in a polygonal database
3D shapes are represented by polygonal meshes that
define or approximate geometric surfaces.

-
With curved surfaces, the accuracy of the
approximation is directly proportional to the number of polygons used
in the representation.
-
More polygons (when well used) yields a better
approximation.
-
But more polygons also exact greater computational
overhead, thereby degrading interactive performance, increasing render
times, etc.
Rendering - The process of
computing a two dimensional image using a combination of a
three-dimensional database, scene characteristics, and viewing
transformations. Various algorithms can be employed for rendering,
depending on the needs of the application.
Tessellation - The
subdivision of an entity or surface into one or more non-overlapping
primitives. Typically, renderers decompose surfaces into triangles as
part of the rendering process.
Sampling - The
process of selecting a representative but finite number of values along
a continuous function sufficient to render a reasonable approximation
of the function for the task at hand.
Level of Detail (LOD) - To
improve rendering efficiency when dynamically viewing a scene, more or
less detailed versions of a model may be swapped in and out of the
scene database depending on the importance (usually determined by image
size) of the object in the current view.
Polygons and rendering
-
Clockwise versus counterclockwise
Surface normal - a vector
that is perpendicular to a surface and ``outward'' facing
-
Surface normals are used to determine visibility and
in the calculation of shading values (among other things)
-
Polygon meshes and shared vertices
-
Polygons consisting of non-co-planar vertices can
cause problems when rendering (e.g. visible tearing of the surface,
etc.)
-
With quad meshes, for example, vertices within
polygons can be inadvertently transformed into non-co-planer positions
during modeling or animation transformations.
-
With triangle meshes, all polygons are triangles and
therefore all vertices within any given polygon will be coplanar.
With polygonal databases:
-
Explicit, low-level descriptions of geometry tend to
be employed
-
Object database files can become very large relative
to more economical, higher order descriptions.
-
Organic forms or free-form surfaces can be difficult
to model.
A
cylinder described in VRML
#VRML V2.0 utf8 CosmoWorlds V1.0
Group {
children Transform {
children Shape {
appearance Appearance {
material Material {
}
}
geometry Cylinder {
}
}
translation 0.0 0.0 0.0
}
}
Surface models
-
Surfaces can be constructed from mathematical
descriptions
-
Resolution independent - surfaces can be tesselated
at rendering with an appropriate level of approximation for current
display devices and/or viewing parameters
-
Tessellation can be adaptive to the local degree of
curvature of a surface.
-
Free-form surfaces can be built from curves
-
Construction history, while also used in polygonal
modeling, can be particularly useful with curve and surface modeling
techniques.
-
Curve direction and surface construction
-
Surface parameterization (u, v, w)
-
For placing texture maps, etc.
-
For locating trimming curves, etc.
Constructive solid geometry and boolean
operations
-
Algebraic combination (union, intersection, or
difference) of two geometric solids
-
Used in both polygonal and surface modelers
-
Volumes usually must be closed
-
Trimmed portions may continue to exist even though
invisible
Metaballs (blobby
surfaces)
-
Potential functions (usually radially symmetric
Gaussian functions) are used to define surfaces surrounding points
-
Potential function is proportional to distance
from a point
-
Potential = 1 at point location; potential falls
off to 0 at some distance from location
-
An implicit surface could be drawn arbitrarily
at any potential value (e.g. potential = .5)
-
For a single point, the potential function
results in a sphere
-
For clusters of points that are sufficiently
close for the radii of their potential functions to overlap, the
surfaces derived from uniform potential values may be ``blobby'' like
coalescing droplets of water, for example.
Isosurfaces

-
Boundary layers in a three-dimensional data cloud
-
The 3-D equivalent of contour lines
Binary Space Partitioning - for modeling/rendering
volumetric data
-

-
Data volume is repeatedly subdivided
-
Data extremes within each new subdivision or cell
are tested to see if they exceed a pre-determined threshold
-
If threshold is exceeded, current cell is further
subdivided
-
If threshold is not exceeded, current cell is no
longer subdivided
Grouping and hierarchies
-
Allows selective control of the frame of reference
to which modeling operations and/or transformations are applied.
Back to course
outline
This file was last modified on January 22, 2002.