CG Chapter X
CG Chapter X
In computer graphics, we often need to draw different types of objects onto the screen.
Objects are not flat all the time and we need to draw curves many times to draw an
object.
Types of Curves
A curve is an infinitely large set of points. Each point has two neighbors except
endpoints. Curves can be broadly classified into three categories − explicit,
implicit, and parametric curves.
Implicit Curves
Implicit curve representations define the set of points on a curve by employing a
procedure that can test to see if a point in on the curve. Usually, an implicit curve is
defined by an implicit function of the form −
fx,yx,y = 0
It can represent multivalued
curves multipleyvaluesforanxvaluemultipleyvaluesforanxvalue. A common example
is the circle, whose implicit representation is
x 2 + y2 - R 2 = 0
Explicit Curves
Parametric Curves
Curves having parametric form are called parametric curves. The explicit and implicit
curve representations can be used only when the function is known. In practice the
parametric curves are used. A two-dimensional parametric curve has the following form
−
Ptt = ftt, gtt or Ptt = xtt, ytt
The functions f and g become the x,yx,y coordinates of any point on the curve, and the
points are obtained when the parameter t is varied over a certain interval [a, b],
normally [0, 1].
Bezier Curves
Bezier curve is discovered by the French engineer Pierre Bézier. These curves can be
generated under the control of other points. Approximate tangents by using control
points are used to generate curve. The Bezier curve can be represented
mathematically as −
∑k=0nPiBni(t)∑k=0nPiBin(t)
Where pipi is the set of points and Bni(t)Bin(t) represents the Bernstein polynomials
which are given by −
Bni(t)=(ni)(1−t)n−itiBin(t)=(ni)(1−t)n−iti
B-Spline Curves
The Bezier-curve produced by the Bernstein basis function has limited flexibility.
First, the number of specified polygon vertices fixes the order of the resulting
polynomial which defines the curve.
The second limiting characteristic is that the value of the blending function is
nonzero for all parameter values over the entire curve.
The B-spline basis contains the Bernstein basis as the special case. The B-spline basis
is non-global.
A B-spline curve is defined as a linear combination of control points Pi and B-spline
basis function Ni,Ni, k tt given by
C(t)=∑ni=0PiNi,k(t),C(t)=∑i=0nPiNi,k(t), n≥k−1,n≥k−1, tϵ[tk−1,tn+1]tϵ[tk−1,tn+
1]
Where,
{pipi: i=0, 1, 2….n} are the control points
k is the order of the polynomial segments of the B-spline curve. Order k means
that the curve is made up of piecewise polynomial segments of degree k - 1,
the Ni,k(t)Ni,k(t) are the “normalized B-spline blending functions”. They are
described by the order k and by a non-decreasing sequence of real numbers
normally called the “knot sequence”.
ti:i=0,...n+Kti:i=0,...n+K
The Ni, k functions are described as follows −
Ni,1(t)={1,0,ifuϵ[ti,ti+1)OtherwiseNi,1(t)={1,ifuϵ[ti,ti+1)0,Otherwise
and if k > 1,
Ni,k(t)=t−titi+k−1Ni,k−1(t)+ti+k−tti+k−ti+1Ni+1,k−1(t)Ni,k(t)=t−titi+k−1Ni,k−1(t)
+ti+k−tti+k−ti+1Ni+1,k−1(t)
and
tϵ[tk−1,tn+1)tϵ[tk−1,tn+1)
Polygon Surfaces
Objects are represented as a collection of surfaces. 3D object representation is divided
into two categories.
Boundary Representations B−repsB−reps − It describes a 3D object as a set
of surfaces that separates the object interior from the environment.
Space–partitioning representations − It is used to describe interior properties,
by partitioning the spatial region containing an object into a set of small, non-
overlapping, contiguous solids usuallycubesusuallycubes.
The most commonly used boundary representation for a 3D graphics object is a set of
surface polygons 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
their wireframe 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 Tables
In this method, the surface is specified by the set of vertex coordinates and associated
attributes. As shown in the following figure, there are five vertices, from v 1 to v5.
Each vertex stores x, y, and z coordinate information which is represented in the
table as v1: x1, y1, z1.
The Edge table is used to store the edge information of polygon. In the following
figure, edge E1 lies between vertex v1 and v2 which is represented in the table as
E 1 : v1 , v2 .
Polygon surface table stores the number of surfaces present in the polygon.
From the following figure, surface S1 is covered by edges E1, E2 and E3 which
can be represented in the polygon surface table as S1: E1, E2, and E3.
Plane Equations
The equation for plane surface can be expressed as −
Ax + By + Cz + D = 0
Where x,y,zx,y,z is any point on the plane, and the coefficients A, B, C, and D are
constants describing the spatial properties of the plane. We can obtain the values of A,
B, C, and D by solving a set of three plane equations using the coordinate values for
three non collinear points in the plane. Let us assume that three vertices of the plane
are (x1, y1, z1), (x2, y2, z2) and (x3, y3, z3).
Let us solve the following simultaneous equations for ratios A/D, B/D, and C/D. You get
the values of A, B, C, and D.
A/DA/D x + B/DB/D y + C/DC/D z = -1
1 1 1
To obtain the above equations in determinant form, apply Cramer’s rule to the above
equations.
A=⎡⎣⎢111y1y2y3z1z2z3⎤⎦⎥B=⎡⎣⎢x1x2x3111z1z2z3⎤⎦⎥C=⎡⎣⎢x1x2x3y1y2y3111⎤⎦⎥D=
−⎡⎣⎢x1x2x3y1y2y3z1z2z3⎤⎦⎥A=[1y1z11y2z21y3z3]B=[x11z1x21z2x31z3]C=[x1y11x2y2
1x3y31]D=−[x1y1z1x2y2z2x3y3z3]
For any point x,y,zx,y,z with parameters A, B, C, and D, we can say that −
Ax + By + Cz + D ≠ 0 means the point is not on the plane.
Ax + By + Cz + D < 0 means the point is inside the surface.
Ax + By + Cz + D > 0 means the point is outside the surface.
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
Advantages
It can be used to model almost any object.
They are easy to represent as a collection of vertices.
They are easy to transform.
They are easy to draw on computer screen.
Disadvantages
Curved surfaces can only be approximately described.
It is difficult to simulate some type of objects like hair or liquid.