Unit 4 Computer Graphics
Unit 4 Computer Graphics
Perspective projection
This method generating view of 3D object by projecting point on the display plane along converging
paths.
Depth cueing
Many times depth information is important so that we can identify for a particular viewing direction
which are the front surfaces and which are the back surfaces of display object.
1
Unit-4 – 3D Concept & Object Representation
Simple method to do this is depth cueing in which assign higher intensity to closer object & lower
intensity to the far objects.
Depth cuing is applied by choosing maximum and minimum intensity values and a range of distance over
which the intensities are to vary.
Another application is to modeling effect of atmosphere.
Surface Rendering
More realistic image is produce by setting surface intensity according to light reflect from that surface &
the characteristics of that surface.
It will give more intensity to the shiny surface and less to dull surface.
It also applies high intensity where light is more & less where light falls is less.
CRT
Viewer
2
Unit-4 – 3D Concept & Object Representation
Vibrating mirror changes its focal length due to vibration which is synchronized with the display of an
object on CRT.
The each point on the object is reflected from the mirror into spatial position corresponding to distance
of that point from a viewing position.
Very good example of this system is GENISCO SPACE GRAPH system, which use vibrating mirror to
project 3D objects into a 25 cm by 25 cm by 25 cm volume. This system is also capable to show 2D cross
section at different depth.
Another way is stereoscopic views.
Stereoscopic views does not produce three dimensional images, but it produce 3D effects by presenting
different view to each eye of an observer so that it appears to have depth.
To obtain this we first need to obtain two views of object generated from viewing direction
corresponding to each eye.
We can contract the two views as computer generated scenes with different viewing positions or we can
use stereo camera pair to photograph some object or scene.
When we see simultaneously both the view as left view with left eye and right view with right eye then
two views is merge and produce image which appears to have depth.
One way to produce stereoscopic effect is to display each of the two views with raster system on
alternate refresh cycles.
The screen is viewed through glasses with each lance design such a way that it act as a rapidly
alternating shutter that is synchronized to block out one of the views.
Polygon Surfaces
A polygonal surface can be thought of as a surface composed of polygonal faces.
The most commonly used boundary representation for a three dimensional object is a set of polygon
surfaces that enclose the object interior
Polygon Tables
Representation of vertex coordinates, edges and other property of polygon into table form is called
polygon table.
Polygon data tables can be organized into two groups: geometric table and attributes table.
Geometric table contains vertex coordinate and the other parameter which specify geometry of polygon.
Attributes table stores other information like Color, transparency etc.
Convenient way to represent geometric table into three different table namely vertex table, edge table,
and polygon table.
3
Unit-4 – 3D Concept & Object Representation
V1
E1
V2 E3
S1 E6
E2
S2
V3 V5
E4 E5
V4
Edge Table
Vertex Table
E1: V1, V2
V1: X1, Y1, Z1 Polygon Surface
E2: V2, V3
V2: X2, Y2, Z2 Table
E3: V3, V1
V3: X3, Y3, Z3 S1: E1, E2, E3
E4: V3, V4
V4: X4, Y4, Z4 S2: E3, E4, E5, E6
E5: V4, V5
V5: X5, Y5, Z5
E6: V5, V1
Fig. 4.5: - Edge table of above example with extra information as surface pointer.
Now if any surface entry in polygon table will find edge in edge table it will verify whether this edge is of
particular surface’s edge or not if not it will detect errors and may be correct if sufficient information is
added.
4
Unit-4 – 3D Concept & Object Representation
Plane Equations
For producing display of 3D objects we must process the input data representation for the object
through several procedures.
For this processing we sometimes need to find orientation and it can be obtained by vertex coordinate
values and the equation of polygon plane.
Equation of plane is given as
𝐴𝑥 + 𝐵𝑦 + 𝐶𝑧 + 𝐷 = 0
Where (x, y, z) is any point on the plane and A, B, C, D are constants by solving three plane equation for
three non collinear points. And solve simultaneous equation for ratio A/D, B/D, and C/D as follows
𝐴 𝐵 𝐶
𝑥1 + 𝑦1 + 𝑧1 = −1
𝐷 𝐷 𝐷
𝐴 𝐵 𝐶
𝑥2 + 𝑦2 + 𝑧2 = −1
𝐷 𝐷 𝐷
𝐴 𝐵 𝐶
𝑥3 + 𝑦3 + 𝑧3 = −1
𝐷 𝐷 𝐷
Solving by determinant
1 𝑦1 𝑧1 𝑥1 1 𝑧1 𝑥1 𝑦1 1 𝑥1 𝑦1 𝑧1
𝐴 = |1 𝑦2 𝑧2| 𝐵 = |𝑥2 1 𝑧2| 𝐶 = |𝑥2 𝑦2 1| 𝐷 = − |𝑥2 𝑦2 𝑧2|
1 𝑦3 𝑧3 𝑥3 1 𝑧3 𝑥3 𝑦3 1 𝑥3 𝑦3 𝑧3
By expanding a determinant we get
𝐴 = 𝑦1(𝑧2 − 𝑧3) + 𝑦2(𝑧3 − 𝑧1) + 𝑦3(𝑧1 − 𝑧2)
𝐵 = 𝑧1(𝑥2 − 𝑥3) + 𝑧2(𝑥3 − 𝑥1) + 𝑧3(𝑥1 − 𝑥2)
𝐶 = 𝑥1(𝑦2 − 𝑦3) + 𝑥2(𝑦3 − 𝑦1) + 𝑥3(𝑦1 − 𝑦2)
𝐷 = −𝑥1(𝑦2𝑧3 − 𝑦3𝑧2) − 𝑥2(𝑦3𝑧1 − 𝑦1𝑧3) − 𝑥3(𝑦1𝑧2 − 𝑦2𝑧1)
This values of A, B, C, D are then store in polygon data structure with other polygon data.
Orientation of plane is described with normal vector to the plane.
N= (A, B, C)
Y
X
Z
Fig. 4.6: - the vector N normal to the surface.
Here N= (A,B,C) where A, B, C are the plane coefficient.
When we are dealing with the polygon surfaces that enclose object interior we define the side of the
faces towards object interior is as inside face and outward side as outside face.
We can calculate normal vector N for any particular surface by cross product of two vectors in counter
clockwise direction in right handed system then.
𝑁 = (𝑣2 − 𝑣1)𝑋(𝑣3 − 𝑣1)
Now N gives values A, B, C for that plane and D can be obtained by putting these values in plane
equation for one of the vertices and solving for D.
Using plane equation in vector form we can obtain D as
𝑁 ∙ 𝑃 = −𝐷
Plane equation is also used to find position of any point compare to plane surface as follows
5
Unit-4 – 3D Concept & Object Representation
Polygon Meshes
Fig. 4.7: -A triangle strip formed with 11 triangle Fig. 4.8: -A quadrilateral mesh containing 12 quadrilaterals
connecting 13 vertices constructed from a 5 by 4 input vertex array
Polygon mesh is a collection of edges, vertices and faces that defines the shape of the polyhedral object
in 3D computer graphics and solid modeling.
An edge can be shared by two or more polygons and vertex is shared by at least two edges.
Polygon mesh is represented in following ways
o Explicit representation
o Pointer to vertex list
o Pointer to edge list
Explicit Representation
In explicit representation each polygon stores all the vertices in order in the memory as,
𝑃 = (((𝑥1, 𝑦1, 𝑧1), (𝑥2, 𝑦2, 𝑧2)), … , ((𝑥𝑚, 𝑦𝑚, 𝑧𝑚), (𝑥𝑛, 𝑦𝑛, 𝑧𝑛)))
It process fast but requires more memory for storing.
Spline Representations
Spline is flexible strip used to produce a smooth curve through a designated set of points.
Several small weights are attached to spline to hold in particular position.
Spline curve is a curve drawn with this method.
6
Unit-4 – 3D Concept & Object Representation
The term spline curve now referred to any composite curve formed with polynomial sections satisfying
specified continuity condition at the boundary of the pieces.
A spline surface can be described with two sets of orthogonal spline curves.
Approximation Spline: - When curve section follows general control point path without necessarily
passing through any control point, the resulting curve is said to approximate the set of control points
and that curve is known as Approximation Spline.
Spline curve can be modified by selecting different control point position.
We can apply transformation on the curve according to need like translation scaling etc.
The convex polygon boundary that encloses a set of control points is called convex hull.
Fig. 4.11: -convex hull shapes for two sets of control points.
A poly line connecting the sequence of control points for an approximation spline is usually displayed to
remind a designer of the control point ordering. This set of connected line segment is often referred as
control graph of the curve.
Control graph is also referred as control polygon or characteristic polygon.
7
Unit-4 – 3D Concept & Object Representation
Fig. 4.12: -Control-graph shapes for two different sets of control points.
Fig. 4.13: - Piecewise construction of a curve by joining two curve segments uses different orders of
continuity: (a) zero-order continuity only, (b) first-order continuity, and (c) second-order continuity.
First order continuity is often sufficient for general application but some graphics package like cad
requires second order continuity for accuracy.
8
Unit-4 – 3D Concept & Object Representation
Hermit Interpolation
It is named after French mathematician Charles hermit
9
Unit-4 – 3D Concept & Object Representation
It is an interpolating piecewise cubic polynomial with specified tangent at each control points.
It is adjusted locally because each curve section is depends on it’s end points only.
Parametric cubic point function for any curve section is then given by:
𝑝(0) = 𝑝𝑘
𝑝(1) = 𝑝𝑘+1
𝑝′(0) = 𝑑𝑝𝑘
𝑝′′(1) = 𝑑𝑝𝑘+1
Where dpk & dpk+1 are values of parametric derivatives at point pk & pk+1 respectively.
Vector equation of cubic spline is:
𝑝(𝑢) = 𝑎𝑢3 + 𝑏𝑢2 + 𝑐𝑢 + 𝑑
Where x component of p is
𝑥(𝑢) = 𝑎𝑥𝑢3 + 𝑏𝑥𝑢2 + 𝑐𝑥𝑢 + 𝑑𝑥 and similarly y & z components
Matrix form of above equation is
𝑎
𝑏
𝑃(𝑢) = [𝑢3 𝑢2 𝑢 1] [ ]
𝑐
𝑑
Now derivatives of p(u) is p’(u)=3au2+2bu+c+0
Matrix form of p’(u) is
𝑎
𝑏
𝑃′(𝑢) = [3𝑢2 2𝑢 1 0] [ ]
𝑐
𝑑
Now substitute end point value of u as 0 & 1 in above equation & combine all four parametric equations
in matrix form:
𝑝𝑘 0 0 0 1 𝑎
𝑝𝑘+1 𝑏
[ ] = [1 1 1 1] [ ]
𝑑𝑝𝑘 0 0 1 0 𝑐
𝑑𝑝𝑘+1 3 2 1 0 𝑑
Now solving it for polynomial co efficient
𝑎 2 −2 1 1 𝑝𝑘
𝑏 𝑝𝑘+1
−3 3 −2 −1
[ ] =[ 0 0 1 0
] [ 𝑑𝑝 ]
𝑐 𝑘
𝑑 1 0 0 0 𝑑𝑝𝑘+1
𝑎 𝑝𝑘
𝑏 𝑝𝑘+1
[ 𝑐 ] = 𝑀𝐻 [ 𝑑𝑝𝑘 ]
𝑑 𝑑𝑝𝑘+1
Now Put value of above equation in equation of 𝑝(𝑢)
2 −2 1 1 𝑝𝑘
−3 3 −2 −1 𝑝𝑘+1
𝑝(𝑢) = [𝑢3 𝑢2 𝑢 1] [ ][ ]
0 0 1 0 𝑑𝑝 𝑘
1 0 0 0 𝑑𝑝𝑘+1
𝑝𝑘
𝑝𝑘+1
𝑝(𝑢) = [2𝑢3 − 3𝑢2 + 1 − 2𝑢3 + 3𝑢2 𝑢3 − 2𝑢2 + 𝑢 𝑢3 − 𝑢2] [ ]
𝑑𝑝𝑘
𝑑𝑝𝑘+1
𝑝(𝑢) = 𝑝𝑘(2𝑢3 − 3𝑢2 + 1) + 𝑝𝑘+1(−2𝑢3 + 3𝑢2 ) + 𝑑𝑝𝑘(𝑢3 − 2𝑢2 + 𝑢) + 𝑑𝑝𝑘+1(𝑢3 − 𝑢2)
𝑝(𝑢) = 𝑝𝑘𝐻0(u) + 𝑝𝑘+1𝐻1(u) + 𝑑𝑝𝑘𝐻2(u) + 𝑑𝑝𝑘+1𝐻3(u)
Where 𝐻𝑘(u) for k=0 , 1 , 2 , 3 are referred to as blending functions because that blend the boundary
constraint values for curve section.
10
Unit-4 – 3D Concept & Object Representation
Cardinal Splines
As like hermit spline cardinal splines also interpolating piecewise cubics with specified endpoint tangents
at the boundary of each section.
But in this spline we need not have to input the values of endpoint tangents.
In cardinal spline values of slope at control point is calculated from two immediate neighbor control
points.
It’s spline section is completely specified by the 4-control points.
Fig. 4.16: -parametric point function p(u) for a cardinal spline section between control points pk and pk+1.
The middle two are two endpoints of curve section and other two are used to calculate slope of
endpoints.
Now parametric equation for cardinal spline is:
𝑝(0) = 𝑝𝑘
𝑝(1) = 𝑝 1𝑘+1
𝑝′(0) = (1 − 𝑡)(𝑝 −𝑝 )
𝑘+1 𝑘−1
2
1
𝑝 (1) = (1 − 𝑡)(𝑝
′ −𝑝 )
𝑘+2 𝑘
2
11
Unit-4 – 3D Concept & Object Representation
Where parameter t is called tension parameter since it controls how loosely or tightly the cardinal spline
fit the control points.
Fig. 4.17: -Effect of the tension parameter on the shape of a cardinal spline section.
When t = 0 this class of curve is referred to as catmull-rom spline or overhauser splines.
Using similar method like hermit we can obtain:
𝑝𝑘−1
𝑝𝑘
𝑝(𝑢) = [𝑢3 𝑢2 𝑢 1] ∙ 𝑀𝑐 ∙ [𝑝𝑘+1]
𝑝𝑘+2
Where the cardinal matrix is
−𝑠 2 − 𝑠 𝑠 − 2 𝑠
𝑀𝑐 = [ 2𝑠 𝑠 − 3 3 − 2𝑠 −𝑠 ]
−𝑠 0 𝑠 0
0 1 0 0
With 𝑠 = (1 − 𝑡)⁄2
Put value of Mc in equation of p(u)
−𝑠 2 − 𝑠 𝑠 − 2 𝑠 𝑝𝑘−1
2𝑠 𝑠 − 3 3 − 2𝑠 −𝑠
𝑝(𝑢) = [𝑢 3 2
𝑢 𝑢 1] ∙ [ ] ∙ [ 𝑝𝑘
−𝑠 0 𝑠 0 𝑝𝑘+1]
0 1 0 0 𝑝𝑘+2
𝑝(𝑢) = [−𝑠𝑢3 + 2𝑠𝑢2 − 𝑠𝑢 (2 − 𝑠)𝑢3 + (𝑠 − 3)𝑢2 + 1 (𝑠 − 2)𝑢3 + (3 − 𝑠)𝑢2 + 𝑠𝑢 𝑠𝑢3 − 𝑠𝑢2]
𝑝𝑘−1
𝑝𝑘
∙ [𝑝 ]
𝑘+1
𝑝𝑘+2
𝑝(𝑢) = 𝑝𝑘−1(−𝑠𝑢3 + 2𝑠𝑢2 − 𝑠𝑢) + 𝑝𝑘((2 − 𝑠)𝑢3 + (𝑠 − 3)𝑢2 + 1)
+ 𝑝𝑘+1((𝑠 − 2)𝑢3 + (3 − 𝑠)𝑢2 + 𝑠𝑢) + 𝑝𝑘+2(𝑠𝑢3 − 𝑠𝑢2)
𝑝(𝑢) = 𝑝𝑘−1𝐶𝐴𝑅0(𝑢) + 𝑝𝑘𝐶𝐴𝑅1(𝑢) + 𝑝𝑘+1𝐶𝐴𝑅2(𝑢) + 𝑝𝑘+2𝐶𝐴𝑅3(𝑢)
Where polynomial 𝐶𝐴𝑅𝑘(𝑢) 𝑓𝑜𝑟 𝑘 = 0,1,2,3 are the cardinals blending functions.
Figure below shows this blending function shape for t = 0.
12
Unit-4 – 3D Concept & Object Representation
Fig. 4.18: -The cardinal blending function for t=0 and s=0.5.
Kochanek-Bartels spline
It is extension of cardinal spline
Two additional parameters are introduced into the constraint equation for defining kochanek-Bartels
spline to provide more flexibility in adjusting the shape of curve section.
For this parametric equations are as follows:
𝑝(0) = 𝑝𝑘
𝑝(1) = 𝑝 1𝑘+1
𝑝′(0) = (1 − 𝑡)[(1 + 𝑏)(1 − 𝑐)(𝑝 − 𝑝 ) + (1 − 𝑏)(1 + 𝑐)(𝑝 − 𝑝 )]
𝑘 𝑘−1 𝑘+1 𝑘
2
1
𝑝 (1) = (1 − 𝑡)[(1 + 𝑏)(1 + 𝑐)(𝑝
′
− 𝑝 ) + (1 − 𝑏)(1 − 𝑐)(𝑝 − 𝑝 )]
𝑘+1 𝑘 𝑘+2 𝑘+1
2
Where ‘t’ is tension parameter same as used in cardinal spline.
B is bias parameter and C is the continuity parameter.
In this spline parametric derivatives may not be continuous across section boundaries.
Bias B is used to adjust the amount that the curve bends at each end of section.
Fig. 4.19: -Effect of bias parameter on the shape of a Kochanek-Bartels spline section.
Parameter c is used to controls continuity of the tangent vectors across the boundaries of section. If C is
nonzero there is discontinuity in the slope of the curve across section boundaries.
13
Unit-4 – 3D Concept & Object Representation
It is used in animation paths in particular abrupt change in motion which is simulated with nonzero
values for parameter C.
Bezier Curves
Bezier curve section can be fitted to any number of control points.
Number of control points and their relative position gives degree of the Bezier polynomials.
With the interpolation spline Bezier curve can be specified with boundary condition or blending function.
Most convenient method is to specify Bezier curve with blending function.
Consider we are given n+1 control point position from p0 to pn where pk = (xk, yk, zk).
This is blended to gives position vector p(u) which gives path of the approximate Bezier curve is:
𝑛
𝑥(𝑢) = ∑ 𝑥𝑘𝐵𝐸𝑍𝑘,𝑛(𝑢)
𝑘=0
𝑛
𝑦(𝑢) = ∑ 𝑦𝑘𝐵𝐸𝑍𝑘,𝑛(𝑢)
𝑘=0
𝑛
𝑧(𝑢) = ∑ 𝑧𝑘𝐵𝐸𝑍𝑘,𝑛(𝑢)
𝑘=0
Bezier curve is a polynomial of degree one less than the number of control points.
Below figure shows some possible curve shapes by selecting various control point.
14
Unit-4 – 3D Concept & Object Representation
Fig. 4.20: -Example of 2D Bezier curves generated by different number of control points.
Efficient method for determining coordinate positions along a Bezier curve can be set up using recursive
calculation
For example successive binomial coefficients can be calculated as
𝑛−𝑘+1
𝐶(𝑛, 𝑘) = 𝐶(𝑛, 𝑘 − 1) 𝑛≥𝑘
𝑘
∑ 𝐵𝐸𝑍𝑘,𝑛(𝑢) = 1
𝑘=0
So any curve position is simply the weighted sum of the control point positions.
Bezier curve smoothly follows the control points without erratic oscillations.
15
Unit-4 – 3D Concept & Object Representation
P3
P2
P4
P1
P0=P5
Fig. 4.21: -A closed Bezier Curve generated by specifying the first and last control points at the same
location.
If we specify multiple control point at same position it will get more weight and curve is pull towards
that position.
P3
P1=P2
P0
P4
Fig. 4.22: -A Bezier curve can be made to pass closer to a given coordinate position by assigning multiple
control point at that position.
Bezier curve can be fitted for any number of control points but it requires higher order polynomial
calculation.
Complicated Bezier curve can be generated by dividing whole curve into several lower order polynomial
curves. So we can get better control over the shape of small region.
Since Bezier curve passes through first and last control point it is easy to join two curve sections with
zero order parametric continuity (C0).
For first order continuity we put end point of first curve and start point of second curve at same position
and last two points of first curve and first two point of second curve is collinear. And second control
point of second curve is at position
𝑝𝑛 + (𝑝𝑛 − 𝑝𝑛−1)
So that control points are equally spaced.
16
Unit-4 – 3D Concept & Object Representation
Fig. 4.23: -Zero and first order continuous curve by putting control point at proper place.
Similarly for second order continuity the third control point of second curve in terms of position of the
last three control points of first curve section as
𝑝𝑛−2 + 4(𝑝𝑛 − 𝑝𝑛−1)
C2 continuity can be unnecessary restrictive especially for cubic curve we left only one control point for
adjust the shape of the curve.
17
Unit-4 – 3D Concept & Object Representation
The form of blending functions determines how control points affect the shape of the curve for values of
parameter u over the range from 0 to 1.
At u = 0 𝐵𝐸𝑍0,3(𝑢) is only nonzero blending function with values 1.
At u = 1 𝐵𝐸𝑍3,3(𝑢) is only nonzero blending function with values 1.
So the cubic Bezier curve is always pass through p0 and p3.
Other blending function is affecting the shape of the curve in intermediate values of parameter u.
𝐵𝐸𝑍1,3(𝑢) is maximum at 𝑢 = 1⁄3and 𝐵𝐸𝑍2,3(𝑢) is maximum at 𝑢 = 2⁄3
Blending function is always nonzero over the entire range of u so it is not allowed for local control of the
curve shape.
At end point positions parametric first order derivatives are :
𝑝′(0) = 3(𝑝1 − 𝑝0)
𝑝′(1) = 3(𝑝3 − 𝑝2)
And second order parametric derivatives are.
𝑝′′(0) = 6(𝑝0 − 2𝑝1 + 𝑝2)
𝑝′′(1) = 6(𝑝1 − 2𝑝2 + 𝑝3)
This expression can be used to construct piecewise curve with C1 and C2 continuity.
Now we represent polynomial expression for blending function in matrix form:
𝑝0
𝑝1
𝑝(𝑢) = [𝑢3 𝑢2 𝑢 1] ∙ 𝑀𝐵𝐸𝑍 ∙
[𝑝 ]
2
𝑝3
−1 3 −3 1
𝑀𝐵𝐸𝑍 = [ 3 −6 3 0]
−3 3 0 0
1 0 0 0
We can add additional parameter like tension and bias as we did with the interpolating spline.
Bezier Surfaces
Two sets of orthogonal Bezier curves can be used to design an object surface by an input mesh of control
points.
By taking Cartesian product of Bezier blending function we obtain parametric vector function as:
𝑚 𝑛
𝑝(𝑢, 𝑣) = ∑ ∑ 𝑝𝑗,𝑘𝐵𝐸𝑍𝑗,𝑚(𝑣)𝐵𝐸𝑍𝑘,𝑛(𝑢)
𝑗=0 𝑘=0
𝑝𝑗,𝑘 Specifying the location of the (m+1) by (n+1) control points.
Figure below shows Bezier surfaces plot, control points are connected by dashed line and curve is
represented by solid lines.
Fig. 4.25: -Bezier surfaces constructed for (a) m=3, n=3, and (b) m=4, n=4. Dashed line connects the
control points.
18
Unit-4 – 3D Concept & Object Representation
Each curve of constant u is plotted by varying v over interval 0 to 1. And similarly we can plot for
constant v.
Bezier surfaces have same properties as Bezier curve, so it can be used in interactive design application.
For each surface patch we first select mesh of control point XY and then select elevation in Z direction.
We can put two or more surfaces together and form required surfaces using method similar to curve
section joining with continuity C0, C1, and C2 as per need.
B-Spline Curves
General expression for B-Spline curve in terms of blending function is given by:
𝑛
19
Unit-4 – 3D Concept & Object Representation
For any u in between 𝑢𝑑−1 to 𝑢𝑛+1, sum of all blending function is 1 i.e. ∑𝑘=0
𝑛 𝐵𝑘,𝑑(𝑢) = 1
There are three general classification for knot vectors:
o Uniform
o Open uniform
o Non uniform
Matrix formulation for a cubic periodic B-Splines with the four control points can then be written as
𝑝0
𝑝1
𝑝(𝑢) = [𝑢3 𝑢2 𝑢 1] ∙ 𝑀𝐵 ∙
[𝑝 ]
2
𝑝3
20
Unit-4 – 3D Concept & Object Representation
Where
−1 3 −3 1
1 3 −6 3 0
𝑀𝐵 = [ ]
6 −3 0 3 0
1 4 1 0
We can also modify the B-Spline equation to include a tension parameter t.
The periodic cubic B-Spline with tension matrix then has the form:
−𝑡 12 − 9𝑡 9𝑡 − 12 𝑡
1 3𝑡 12𝑡 − 18 18 − 15𝑡 0
𝑀𝐵𝑡 = [ ]
6 −3𝑡 0 3𝑡 0
𝑡 6 − 2𝑡 𝑡 0
When t = 1 𝑀𝐵𝑡 = 𝑀𝐵
We can obtain cubic B-Spline blending function for parametric range from 0 to 1 by converting matrix
representation
1 into polynomial form for t = 1 we have
𝐵 ( ) 3
0,3 𝑢
= (1 − 𝑢)
6
1
𝐵1,3 (𝑢) = (3𝑢3 − 6𝑢2 + 4)
6
1
𝐵2,3 (𝑢) = (−3𝑢3 + 3𝑢2 + 3𝑢 + 1)
6
1
𝐵3,3 (𝑢) = 𝑢3
6
21
Unit-4 – 3D Concept & Object Representation
Multiple knot value also reduces continuity by 1 for each repeat of particular value.
We can solve non uniform B-Spline using similar method as we used in uniform B-Spline.
For set of n+1 control point we set degree d and knot values.
Then using the recurrence relations we can obtain blending function or evaluate curve position directly
for display of the curve.
B-Spline Surfaces
B-Spline surface formation is also similar to Bezier splines orthogonal set of curves are used and for
connecting two surface we use same method which is used in Bezier surfaces.
Vector equation of B-Spline surface is given by cartesion product of B-Spline blending functions:
𝑛1 𝑛2
𝑝(𝑢, 𝑣) = ∑ ∑ 𝑝𝑘1,𝑘2𝐵𝑘1,𝑑1(𝑢)𝐵𝑘2,𝑑2(𝑣)
𝑘1=0 𝑘2=0
Where 𝑝𝑘1,𝑘2 specify control point position.
It has same properties as B-Spline curve.
22