Professional Documents
Culture Documents
1. Boundary representations:
It describes a 3D object as a set of polygonal surfaces, separate the object
interior from environment.
2. Space-partitioning representation:
It used to describe interior properties, by partitioning the spatial region,
containing an object into a set of small, non-overlapping, contiguous solids. e.g.
3D object as Octree representation.
Boundary Representation:
Each 3D object is supposed to be formed its surface by collection of polygon facets and
spline patches. Some of the boundary representation methods for 3D surface are:
1. Polygon Surfaces
It is most common representation for 3D graphics object. In this representation, a 3D
object is represented by a set of surfaces that enclose the object interior. Many
graphics system use this method. Set of polygons are stored for object description.
This simplifies and speeds up the surface rendering and display of object since all
surfaces can be described with linear equations.
The polygon surfaces are common in design and solid-modeling applications, since
wire frame display can be done quickly to give general indication of surface structure.
Then realistic scenes are produced by interpolating shading patterns across polygon
surface to illuminate.
Polygon Table:
A polygon surface is specified with a set of vertex co-ordinates and associated
attribute parameters. A convenient organization for storing geometric data is to create
3 lists:
I. A vertex table
II. An edge table
III. A polygon surface table.
Consider the surface contains polygonal facets as shown in figure (only two polygons
are taken here) S1 and S2 are two polygon surface that represent the boundary of
some 3D object.
Foe storing geometric data, we can use following three tables.
The object can be displayed efficiently by using data from tables and processing them
for surface rendering and visible surface determination.
Polygon Meshes
3D surfaces and solids can be approximated by a set of polygonal and line elements.
Such surfaces are called polygonal meshes. In polygon mesh, each edge is shared by at
most two polygons. The set of polygons or faces, together form the “skin” of the
object.
This method can be used to represent a broad class of solids/surfaces in graphics. A
polygonal mesh can be rendered using hidden surface removal algorithms. The
polygon mesh can be represented by three ways −
Explicit representation
Pointers to a vertex list
Pointers to an edge list
A polygon mesh is collection of edges, vertices and polygons connected such that each
edge is shared by at most two polygons. An edge connects two vertices and a polygon
is a closed sequence of edges. An edge can be shared by two polygons and a vertex is
shared by at least two edges.
When object surface is to be tiled, it is more convenient to specify the surface facets
with a mesh function. One type of polygon mesh is triangle strip. This function produce
n-2 connected triangles.
Advantages
o It can be used to model almost any object.
o They are easy to represent as a collection of vertices.
o They are easy to transform.
o They are easy to draw on computer screen.
Disadvantages
o Curved surfaces can only be approximately described.
o It is difficult to simulate some type of objects like hair or liquid.
Wireframe Representation:
In this method 3D objects is represented as a list of straight lines, each of which is
represented by its two end points (x1, y1, z1) and (x2, y2, z2). This method only shows
the skeletal structure of the objects. It is simple and can see through the object and
fast method. But independent line data structure is very inefficient i.e. don’t know
what is connected to what. In this method the scenes represented are not realistic.
Wireframe modeling is the process of visual presentation of a three-dimensional or
physical object used in 3-D computer graphics. It is an abstract edge or skeletal
representation of a real-world 3-D object using lines and curves. Because each object
that makes up a wireframe model must be independently drawn and positioned, this
type of modeling can be extremely time consuming.This consists of a list of space
curves in three dimensional space, corresponding usually to curvature discontinuities
in a solid object. Space curves may be considered therefore as the boundaries
between surfaces, but curved surfaces can cause problems. Some wire frame systems
may use facet boundaries, as a curved surface can be approximated by planar facets,
e.g. Figure . If this is not the case, how is a cylinder represented? In effect there are
only two space curves defining curvature boundaries, i.e. the circles at each end of the
solid. It is difficult to model extreme edges in a computer vision system, since these
are often viewpoint dependent. Furthermore, the wire-frame representation is an
ambiguous technique for representing an object, as it does not define explicitly the
enclosed surfaces. Usually, there may be more than one possible interpretation of the
same wireframe, e.g. Figure. Wire frames can often be interpreted as different solid
objects or as different orientations of the same object.
For a computer vision system, wire frames are used usually to match against edge-
derived descriptions, either from a single two dimensional image, or for example from
the 3D edge description derived from a passive stereo or a motion tracking system.
Ambiguity is avoided, since there is a finite number of possible models, each of which
has a unique configuration of space curves in 3D space.
Blobby Object:
Advantages:
Can represent organic, blobby or liquid line structures
Suitable for modeling natural phenomena like water, human body
Surface properties cam be easily derived from mathematical equations.
Disadvantages:
Requires expensive computation
Requires special rendering engine
Not supported by most graphics hardware
Spline Representation:
A Spline is a flexible strips used to produce smooth curve through a designated set of
points. A curve drawn with these set of points is spline curve. Spline curves are used to
model 3D object surface shape smoothly.
Mathematically, spline are described as piece-wise cubic polynomial functions. In
computer graphics, a spline surface can be described with two set of orthogonal spline
curves. Spline is used in graphics application to design and digitalize drawings for
storage in computer and to specify animation path. Typical CAD application for spline
includes the design of automobile bodies, aircraft and spacecraft surface etc.
Interpolation and approximation spline:
Given the set of control points, the curve is said to interpolate the control point
if it passes through each points.
If the curve is fitted from the given control points such that it follows the path
of control point without necessarily passing through the set of point, then it is
said to approximate the set of control point.
Cubic spline
It is most often used to set up path for object motions o tot provide a representation
for an existing object or drawing. To design surface of 3D object any spline curve can
be represented by piece-wise cubic spline.
Cubic polynomial offers a reasonable compromise between flexibility and speed of
computation. Cubic spline requires less calculation with comparison to higher order
polynomials and requires less memory. Compared to lower order polynomial cubic
spline are more flexible for modeling arbitrary curve shape.
Given a set of control points, cubic interpolation spines are obtained by fitting the
input points with a piecewise cubic polynomial curve that passes through every control
points.
Suppose we have n+1 control points specified with co-ordinates.
pk = (xk, yk, zk), k = 0,1,2,3…………………..n.
For each of these three equations, we need to determine the values of the four
coefficients a, b, c, and d in the polynomial representation for each of the n curve
sections between the n + 1 control points. We do this by setting enough boundary
conditions at the "joints" between curve sections so that we can obtain numerical
values for all the coefficients.
Bezier curve and surface
This is spline approximation method, developed by the French Engineer Pierre Bezier
for use in the design of automobile body. Beziers spline has a number of properties
that make them highly useful and convenient for curve and surface design. They are
easy to implement. For this reason, Bezier spline is widely available in various CAD
systems.
Beziers curves In general, Bezier curve can be fitted to any number of control points.
The number of control points to be approximated and their relative position
determine the degree of Bezier polynomial. The Bezier curve can be specified with
boundary condition, with characterizing matrix or blending functions. But for general
Bezier curves, blending function specification is most convenient.
As a rule, a Bezier curve is a polynomial of degree one less than the number of control
points used: Three points generate a parabola, four points a cubic curve, and so forth.
Fig below demonstrates the appearance of some Bezier curves for various selections
of control points in the xy-plane (z = 0), with certain control-point placements:
Quadratic surfaces:
Quadric Surfaces: A frequently used class of objects are the quadric surfaces, which
are described with second-degree equations (quadratics). They include spheres,
ellipsoids, and hyperboloids. Quadric surfaces, particularly spheres and ellipsoids, are
common elements of graphics scenes, and they are often available in graphics
packages as primitives’ from which more complex objects can be constructed.
1. Spheres:
In Cartesian coordinates, a spherical surface with radius r centered on the coordinate
origin is defined as the set of points (x, y, z) that satisfy the equation:
x2+ y2 + z2 = r2
We can also describe the spherical surface in parametric form, using latitude and
longitude angles (Figure):
2. Ellipsoid:
An ellipsoidal surface can be described as an extension of a spherical surface, where
the radii in three mutually perpendicular directions can have different values.
And a parametric representation for the ellipsoid in terms of the latitude angle ø and
the longitude angle θ in Fig below.
Fig: An ellipsoid with radii rx, ry and rz centered on the coordinate origin.
Unit-6
Solid Modeling (4 Hrs.)
6.1 Sweep, Boundary and Spatial-Partitioning Representation
6.2 Binary Space Partition Trees (BSP)
6.3 Octree Representation
Solid Modeling:
A way to represent, generate, and manipulate solid objects is known as solid modeling. It
is necessary for many applications where objects must be maintained as solids. E.g. finite
element analysis, computer aided design and machining (CAD/CAM), mass property
determination, refraction. Solid modeling Packages often provide a number of
construction techniques.
Polygonal meshes can be used in solid modeling.
An object is considered solid if the polygons fit together to enclose a space.
In solid models, it is necessary to incorporate directional information on each
face by using the normal vector to the plane of the face, and it is used in the
shading process.
Solid modeling Packages often provide a number of construction techniques /
Procedure for creation of solid modeling:
1. Sweep Representation:
Sweep representations are useful for constructing three-dimensional objects that
possess translational, rotational, or other symmetries. We can represent such objects
by specifying a two-dimensional shape and a sweep that moves the shape through a
region of space. A set of two-dimensional primitives, such as circles and rectangles,
can be provided for sweep representations as menu options. Other methods for
obtaining two-dimensional figures include closed spline-curve constructions and cross-
sectional slices of solid objects.
Figure below illustrates a translational sweep. The periodic spline curve in Fig.(a)
defines the object cross section. We then perform a translational sweep by moving the
control points p, through p3 a set distance along a straight line path perpendicular to
the plane of the cross section. At intervals along this we replicate the cross-sectional
shape and draw a set of connecting lines in the direction of the sweep to obtain the
wireframe representation shown in Fig.(b).
An example of object design using a rotational sweep is given in Fig. below. This time,
the periodic spline cross section is rotated about an axis of rotation specified in the
plane of the cross section to produce the wireframe representation shown in (b). Any
axis can be chosen for a rotational sweep. If we use a rotation axis perpendicular to
the plane of the spline cross section in Fig. (a), we generate a two-dimensional shape.
But if the cross section shown in this figure has depth, then we are using one three-
dimensional object to generate another.
In general, we can specify sweep constructions using any path. For rotational sweeps,
we can move along a circular path through any angular distance from 0 to 360'. For
noncircular paths, we can specify the curve function describing the path and the
distance of travel along the path. In addition, we can vary the shape or size of the cross
section along the sweep path. Or we could vary the orientation of the cross section
relative to the sweep path as we move the shape through a region of space.
Boundary Representation (B-rep):
Boundary Representation, or B-rep for short, can be considered as an extension to the
wireframe model. The merit of a B-rep is that a solid is bounded by its surface and has
its interior and exterior. The surface of a solid consists of a set of well-organized faces,
each of which is a piece of some surface (.e.g., a surface patch). Faces may share
vertices and edges that are curve segments. Therefore, a B-rep is an extension to the
wireframe model by adding face information to the latter.There are two types of
information in a B-rep: topological and geometric. Topological information provide the
relationships among vertices, edges and faces similar to that used in a wireframe
model. In addition to connectivity, topological information also include orientation of
edges and faces. Geometric information are usually equations of the edges and faces.
This scheme is based on the concept that a physical object is bounded by a set of
faces. A solid model is created by combining faces and contains vertices, edges, loops,
and bodies. Only the boundary surfaces of the model are stored and the volumetric
properties are calculated by the Gauss Divergence theorem, which relates volume
integral to surface integrals. This scheme can model a variety of solids depending on
the primitive surfaces (planar, curved, or sculptured). There are two types of solid
models in this scheme:
Polyhedral solids
Curved solids
1. Polyhedral Solids: Polyhedral models consist of straight edges, e.g., a non-cylindrical
surface: box, wedge, combination of two or more non-cylindrical bodies, etc.
Polyhedral solids can have blind or through holes, and two or three-dimensional faces,
with no dangling edges. A valid polyhedral abides by the Euler’s equation:
F – E + V – L = 2 (B-G)
Where,
F = Face
E = Edge
V = Vertices
L = Inner Loop
B = Bodies
G = Through holes
A simple polyhedral has no holes; each face is bounded by a single set of connected
edges (bounded by one loop of edges).
Euler’s equation for a simple polyhedral can be reduced to: F - E + V = 2
Curved Solids: A curved solid is similar to a polyhedral object but it has curved faces
and edges. Spheres and cylinders are examples of curved solids.
Primitives: In B-rep, a model is made up of the following primitives:
Vertex: A point in space
Edge: A finite, no-intersecting space curve bounded by two vertices that are not
necessarily distinct.
Face: A finite connected, non-self-intersecting, region of a closed oriented
surface, bounded by one or more loops.
Loop: An ordered alternating sequence of vertices and edges. A loop defines a
non-self-intersecting closed space curve, which may be a boundary of a face.
Body: Entity that has faces, edges and vertices. A minimum body is a point.
Here plane P1 partitions the space into two sets of objects, one set of object is
back and another set is in front of partitioning plane relative to viewing
direction. Since one object is intersected by plane P1, we divide that object into
two separate objects labeled A and B. Now object A & C are in front of P1, B and
D are back of P1.
We next partition the space with plane P2 and construct the binary free as fig
(b). In this tree, the objects are represented as terminal nodes, with front object
as left branches and behind object as right branches.
When BSP tree is complete, we process the tree by selecting surface for
displaying in order back to front. So foreground object are painted over back
ground objects.