Sie sind auf Seite 1von 63

ME/MF F342:

COMPUTER AIDED DESIGN

M2-6: Geometric
Modeling of Synthetic
Curves: B-spline Curve
BITS Pilani Dr. Srinivasa Prakash Regalla
Hyderabad Campus Department of Mechanical Engineering
Learning OBJECTIVES

 Need for B-spline curve

 How B-spline curve is different from HCC and Bezier?

 Geometric modeling of B-spline Curve:


 Derivative of parametric equation
 Properties of Bernstein polynomials
 Matrix representation of the parametric equation
 Tangent vector and normal vector
 Computer evaluation of B-spline curve
 Affine transformations of B-spline curve

BITS Pilani, Hyderabad Campus


History of B-splines

BITS Pilani, Hyderabad Campus


Splines - History

Draftsman

knot
A Duck (weight)

strips of wood (splines)


Ducks trace out curve
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
Why more spline lectures?
• Because B-spline can offer something
more than HCC and Bezier curve.
• Bezier and Hermite splines have global
control only.
– Moving one control point affects the entire
curve
• B-spline has local control
• Degree of the curve can be independent of
the number of control points.
• B-spline uses different basis functions
that allow the degree of the curve to be an
extra degree of freedom
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
BITS Pilani
Hyderabad Campus

Parametric equation of the B-spline


curve
Parametric representation of B-Spline Curves
n
P(u)   Pi N i ,k (u ) 0  u  umax
i 0
u  Parameter;umax  Maximum value of the parameter
N i ,k (u )  B - Spline basis functions; (k  1)  Degree of the B - Spline curve
N i ,k 1 (u ) N i 1,k 1 (u )
N i ,k (u )  (u  ui )  (ui  k  u )
(ui  k 1  ui ) (ui  k  ui 1 )
1, ui  u  ui 1 0 anything
where N i ,1   This is a unit step function. Choose   0.
0, otherwise 0 0
Here ui are the parametric knots or knot value s.
Knot vector :
(i) 0  j  n  k, that is total (n  k  1) knot value s
(ii) u j  [u 0 , u1 , u 2 , , u n  k ]
(iii) There will be " k" multiplity of knot value s at ends
(iv) u  0 or 1 only for uniform knot vector.
 0, jk

(iv) Formula for estimating u j is u j   j  k  1, k  j  n
 n  k  2, jn

(v) The range of u is 0  u  (n  k  2) Srinivasa Prakash Regalla, Professor,
BITS-Pilani, Hyderabad Campus
Why B-Spline curve’s degree is
independent of (n+1)?
• The degree of the B-Spline curve segment
can be independent (though limited) of the
(n+1) because:
– B-Spline basis functions instead of Berstein
Polynomials are used
– One additional degree of freedom is included
in the B-Spline basis functions to separately
control the degree of the curve, it is k, where
(k-1) is the degree of the curve
– Only the upper limit of the degree is decided
by the (n+1) n
P (u)   Pi Ni ,k (u) , 0  u  umax
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
i 0
Special characteristics of B-Spline equation
• The control points (called de-Boor points)
form the vertices of the control polygon
(called de-Boor polygon)

• The maximum limit of the parameter is no


longer unity (that is 1); it is umax chosen by
fixing the (n+1) and (k-1)
umax = (n – k + 2)
0 u  (n – k + 2)
n
P (u)   Pi Ni ,k (u) , 0  u  umax
i 0
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
n
P (u)   Pi Ni ,k (u) , 0  u  umax
i 0

Examples for umax


• Let (n+1) = 4, then n = 3,
– For (k-1)=1, linear, k=2, umax = n-k+2=3-2+2=3
0 u  3
– For (k-1)=2, quadratic, k=3, umax = n-k+2=3-
3+2=2
0 u  2
– For (k-1)=3, cubic, k=4, umax = n-k+2=3-4+2=1
0 u  1

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


n
P (u)   Pi Ni ,k (u) , 0  u  umax
i 0

Properties of B-Spline Curve


• Partition of Unity: Enables invariance under affine
transformations.
n

N
i 0
i ,k (u )  1, for any value of u.

• Positivity: Enables the curve to lie entirely in its


convex hull.

Ni ,k (u)  0, for any value of u.


Since the u applies piece-wise, both these
properties also apply piece-wise.
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
n
P (u)   Pi Ni ,k (u) , 0  u  umax
i 0

Properties of B-Spline Curve


• Local support: Enables local control.
Each segment of a B-Spline curve is influenced by only k control points or
each control point affects only k curve segments.

• Continuity: Enables continuity the


continuity of different levels, C0, C1, C2 etc.

Ni ,k (u)  0 is (k - 2) continously differentiable.


Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
Meaning of these characteristics
• Partition of unity ensures that the
relationship between the curve and its
defining control points is invariant under
affine transformations.
• affine transformation - a transformation
that is a combination of single
transformations such as translation or
rotation or reflection on an axis
• Transformation - a function that changes
the position or direction of the axes of a
coordinate system
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
• Positivity property guarantees that the
curve segment lies completely within the
convex hull of Pi.
• Local support property indicates that each
segment of a B-Spline curve is influenced
by only k control points or each control
point affects only k curve segments.

• Continuity property tells us about the fact


that B-Spline curve segment is continuous
upto Ck-2 or Cn-1 (where (n+1)=number of
control points) within the segment itself.
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
Two Types of BSpline Curves

• Non-periodic (or open) BSpline curve

• Periodic (or closed) BSpline curve

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


The Knot Vector
For an non - periodic (open) curve :
(i) 0  j  n  k, that is total (n  k  1) knot values
(ii) u j  [u 0 , u1 , u 2 , , u n  k ]
(iii) There will be " k" multiplity of knot values at ends and u  0 or 1 only.
 0, jk

(iv) Formula for estimating u j is u j   j  k  1, k  j  n
 n  k  2, jn

(v) The range of u is 0  u  (n  k  2)

Proof for size of knot vector:


Rule-1: “k” multiplicity of knot values at each end.
Hence, size of knot vector =
k + k + (umax -1) = k + k + n – k + 2 – 1 = n+k+1.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


n
P(u)   Pi Ni ,k (u) 0  u  umax
i 0

N i ,k 1 (u ) N i 1,k 1 (u )
N i ,k (u )  (u  ui )  (ui  k  u )
(ui  k 1  ui ) (ui  k  ui 1 )
The recursive property of B-Spline

where
1, ui  u  ui 1
N i ,1   This is a unit step function.
0, otherwise
0 anything
Choose   0, that is if denominators become zero.
0 0
Here ui are the parametric knots or knot value s.
THE RECURSIVE AND NON-RECURSIVE PARTS OF BASIS FUNCTION EQUATIONS
Consider a cubic (k-1=3) B-Spline for five control points, (n+1)=5:
N i ,k 1 (u ) N i 1,k 1 (u )
P(u)=P0N0,4(u)+P1N1,4(u)+P2N2,4(u)+P3N3,4(u)+P4N4,4(u) N i ,k (u )  (u  ui )  (ui  k  u )
(ui  k 1  ui ) (ui  k  ui 1 )
N0,4(u) N1,4(u) N2,4(u) N3,4(u) N4,4(u) where
1, ui  u  ui 1
N i ,1  
0, otherwise

N0,3(u) N1,3(u) N2,3(u) N3,3(u) N4,3(u) N5,3(u)

N0,2(u) N1,2(u) N2,2(u) N3,2(u) N4,2(u) N5,2(u) N6,2(u)

N0,1(u) N1,1(u) N2,1(u) N3,1(u) N4,1(u) N5,1(u) N6,1(u) N7,1(u)

Optical illusion notwithstanding, this picture shows that one


additional basis function needs to be evaluated at each lower level
using the recursive relation except the last level Ni,1 which is
evaluated using the unit step function part of basis function
equations.
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
EXERCISE:

USING THE PARAMETRIC EQUATION AND RECURSIVE


FORMULA FOR BASIS FUNCTIONS GENERATE THE
PARAMETRIC EQUATION OF THE FOLLOWING B-
SPLINE CURVES:

(i) One control point and zeroth degree B-spline curve.


(ii) Two control points and first degree B-spline curve.

BITS Pilani, Hyderabad Campus


Solution:
N i ,k 1 (u ) N i 1,k 1 (u )
n N i ,k (u )  (u  ui )  (ui  k  u )
P(u)   Pi Ni ,k (u)
(ui  k 1  ui ) (ui  k  ui 1 )
0  u  umax where
i 0 1, ui  u  ui 1
N i ,1  
(i) 0, otherwise

n  1  1; k  1  n  0; k  1;
n  k  1  2; 0  j  1; n  k  2  1; 0  u  1; u j  [0,1]
0
P(u )   Pi N i ,1 (u ) P0 N 0,1 (u )  P0 , 0  u 1
i 0
(ii)
n  1  2; k  1max  n  1; k  2;
n  k  1  4; 0  j  3; n  k  2  1; 0  u  1; u j  [0,0,1,1]
1
P(u )   Pi N i , 2 (u ) P0 N 0,1 (u )  P1 N1,1 (u )  P0  u ( P1  P0 ), 0  u 1
i 0

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


EXERCISE:

PROVE THAT THE DEGREE OF B-SPLINE CANNOT BE


MORE THAN THE NUMBER OF CONTROL POINTS.

BITS Pilani, Hyderabad Campus


Solution:
• This limit is found by requiring the upper bound
on the value of “u” to be greater than the lower
bound for the “u” range to be valid, that is
(n-k+2) > 0
[(n+1)+(1-k)]>0
 (k-1) < (n+1)
 (k-1)  n
This relation says that a minimum of two, three
and four control points are required to define a
linear, quadratic and cubic B-Spline curve
respectively.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Properties of B-spline
Curves:
Non-Periodic (Open) Curves
Knot values and the parameter itself
• Knot values are discrete; Parameter is
continuous between 0 and umax.
• The knot values are essential for obtaining the
parametric equation of degree (k-1) for the
curve.
• Once the parametric equation is determined, the
point on the curve corresponding to any value of
0uumax, can be determined by substitution.
• Thus it is very essential to understand the
purpose of the knot values (which are discrete
and finite in number, precisely (n+k+1) and the
variation of the parameter (which is continuous
between the limits of 0 and umax along the
curve).
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
Exercise:

What is the effect of moving a control point on the shape of


the B-spline curve? How much portion of the B-spline
curve moves when a control point is moved?

BITS Pilani, Hyderabad Campus


The local control of B-Spline
• The local control of B-Spline curve can be
obtained by three ways:
1)By changing the position of the control
point(s). Moving any one control point will
affect only “k” number of curve portions
symmetrically around it.
2)Using multiple control points by placing
several points at the same location
3)By choosing a different degree, (k-1).

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


changing the position of the control point

The curve is cubic

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Exercise:

What is the nature of the curve for different choices of the


degree (k-1) upto quintic?
Sketch these curves and comment on the nature of
variation in the shape of the curve.

BITS Pilani, Hyderabad Campus


• Increasing the degree of the curve tightens it.
The lesser the degree of the curve the closer the
curve gets to the control points.
(k – 1) = 0 -> Zero degree curve (control
points themselves)
(k – 1) = 1 -> First degree curve (control
polygonal segments themselves)
(k – 1) = 2 -> Second degree curve
(quadratic curve).
(k – 1) = 3 -> Third degree curve (cubic
curve)
(k – 1) = 4 -> Fourth degree curve (quartic
curve)
(k – 1) = 5 -> Fifth degree curve (quintic
curve)
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
• The quadratic curve is always tangent to
the midpoints of all the internal polygon
segments. This is not the case for other
degrees. (k-1)=2
(k-1)=3
(k-1)=5

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Exercise:
What are the conditions under which the B-
spline curve becomes equal to Bezier
curve?

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Equivalence of B-Spline and Bezier curves
• If k equals the number of control points (n+1), B-
Spline curveBezier curve, “u” varies from 0 to 1
• Multiple control points induce regions of high
curvature of a B-Spline curve
• When multiplicity at any point is equal to k-1 the
curve has a cusp or a sharp corner.
• When the multiplicity at any control point is “k”, then
the B-Spline curve will pass through it. But Ck-2
continuity is maintained in both cases.
• Multiplicity of points maintains the degree of the
curve but the knot vector is changed.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


• Changing one control point affects only k
curve portions symmetrically around it

• In other words, each portion (or a point in


it) is influenced by only k number of control
points surrounding it

• This is the key behind the procedure of


finding the convex hull of a B-Spline curve.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Exercise:

Construct the convex hull of (n+1) control


points B-spline curve for various degrees.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Solution:
Finding convex hull for a B-Spline
Step-1: Join “k” number of control points at a time
repeatedly from first to the last in the control point
set.
Step-2: This results in a set of mini-convex hulls.

Step-3: Then, finally the total convex hull of the B-


Spline curve is obtained as the union of these ‘mini’
convex hulls.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


When k-1=2, k=3 and
hence take 3 points at a
time

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Convex hull properties of B-spline
curves for various degrees

BITS Pilani, Hyderabad Campus


LEVEL OF INTERPOLATION

• A non-periodic approximating B-Spline


curve passes through the first and last
control points Po and Pn

• It is tangent to the first (P1 - Po) and last (Pn


– Pn-1) control polygonal segments, similar
to the Bezier curve.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


EXERCISE:
Find the complete parametric equation of the quadratic B-Spline
curve with the above given control points.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


QUESTION: HOW TO MAKE THE B-SPLINE PASS THROUGH A CONTROL
POINT ?

Answer: (k) multiplicity of control points is required. For example, for k-1=2,
quadratic curve, it is as follows.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


MATRIX FORM OF B-SPLINE CURVE
The different segments of the B - Spline curve can independently
written as follows.For a quadratic B - Spline curve, k - 1  2 or k  3,

  
Pi (u )  1  u  Pi   2u 2  2u  1 Pi 1  u 2 Pi  2
1
2
2

0  u 1

 1  2 1  Pi 1 
1 2
2
 
Pi (u )  u u 1  2 2 0  Pi  for i  [1 : n  1]
 1 1 0  Pi 1 
  1  2 1   Pi 1    Pi 1 
  
 
Pi (u )  u 2 u 1   2 2 0   Pi    U [ M ]s  Pi 
1
2 1 1 0   Pi 1    Pi 1 
 
For cubic B - Splines, k  3, the analogous form is
 1 3  3
1  Pi 1 
 3 6 30  Pi 
6

1 3 2
Pi (u )  u u u 1 
 3 0 0  Pi 1 
3
for i  [1 : n  2]
  
1 4 0  Pi  2 
1
   1 3  3 1   Pi 1    Pi 1 
  
    P 
 1  3  6 3 0   Pi  

Pi (u )  u u u 1 
3 2

6

 3 0 
3 0   Pi 1     U [ M ] s
 i 
 Pi 1 
  
      

  1 4 1 0    i  2  
P  Pi  2 
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
PERIODIC OR CLOSED
B-SPLINE CURVES

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Periodic or Closed B-Spline Curves
n
P u    Pi N i , j (u ) 0  u  umax
i 0

N i ,k (u )  N 0,k ((u  i  n  1) mod (n  1))


u j  j, 0  j  n  1
0  u  n 1
The mod function in the above equation is defined as follows.
 A, if A  n

A mod n   0, if A  n
remainder of A / n, if A  n

Examples:
(5) mod (10)  5; (8) mod (8)  0; (28) mod (8)  4
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
Characteristics of Periodic B-Splines

• The difference from non-periodic curves is


the choice of knots and basis functions
• Periodic B-spline basis functions with
knots as integers are utilized
• These basis functions are cyclic translates
of a single canonical function with a period
(interval) of k for support.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Characteristics of Periodic B-Splines
• They also have the properties of partition
of unity, positivity, local support and
continuity.

• They do not pass through the end control


points

• Therefore they are not tangent to the first


and last control polygon segments
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
Example of Knot Vectors for Periodic B-Spline Curve

(n+1)=4, then the curve is cubic, (k-1)=n=3:

Range of u:
0j(n+1) 0j4; 0u(n+1)  0u4

Knot vector:
uj = j  [uj]=[0,1,2,3,4]

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Canonical function is Canonical function is

1 N0,k=N0,2 3/4 N0,k=N0,3

0 u
1 2 0 3
(n+1)=2  n=1=(k-1)
(n+1)=3 n=2=(k-1)
linear; k=2; uj = [0 1 2]
quadratic; k=3; uj = [0 1 2 3]

Canonical function is
2/3 N0,k=N0,4

0 4
(n+1)=4 n=3=(k-1)
cubic; k=4; uj = [0 1 2 3 4]

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Ni ,k (u)  N0,k ((u  i  n  1) mod (n  1))
• The mod function enables the periodic or cyclic
translation[mod(n+1)] of the canonical basis
function N0,k.
• N0,k is the same as for non-periodic curves and is
to be evaluated from the following Cox-DeBoor
recursive equations.
N i ,k 1 (u ) N i 1,k 1 (u )
N i ,k (u )  (u  ui )  (ui  k  u )
(ui  k 1  ui ) (ui  k  ui 1 )
where
1, ui  u  ui 1
N i ,1   This is a unit step function.
0, otherwise
0
Choose  1 if denominators become zero.
0
Example of Periodic B-Spline curve

• Generate the parametric equation of a


quadratic period B-spline curve for 3
control points.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


BSplines
• Special Properies

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


• Spline curves originate from flexible strips
used to create smooth curves in traditional
drafting applications. Much like Bezier
curves they are formed mathematically
from piecewise approximations of cubic
polynomial functions with zero, first and
second order continuity.
• B-Splines are one type of spline that are
perhaps the most popular in computer
graphics applications

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


• Such curves have many advantages

• Changes to a control point only affects the curve in that locality

• Any number of points can be added without increasing the degree of


the polynomial.

• As with Bezier curves adding multiple points at or near a single


position draws the curve towards that position.

• Closed curves can be created by making the first and last points the
same, although continuity will not be maintained automatically.

• B-Splines lie in the convex hull of the control points.


• There is another curve in the family called Beta-Splines which have
additional parameters beta1 and beta2 which adjust the shape
relative to the convex hull. B-Splines are subsets of Beta-Splines.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


• The following example (created with the source below) shows the
spline through 4 control points, with degree (k-1) = 2, 3, and 4. (k-1)
= 2 is just linear interpolation, as the degree increases the smoother
the curve becomes. Note that the curve lies within the convex hull of
the points.
• Note also that the tangent of the curve at the endpoints is the same
as the slope of the line between the first two or last two control
points.
• This makes for convenient matching of the curve between sections.

Courtesy: http://astronomy.swin.edu.au/~pbourke/curves/spline/
• For example in the following the spline on the left
has control points starting and ending at the origin.
The curve on the right has control points on the
same square but the start and end control point is
along the bottom edge and the slope of the first two
and last two control points is the same.

Courtesy: http://astronomy.swin.edu.au/~pbourke/curves/spline/
• the curve always passes through the first
and last point. The following has the same
control points as for the curve on the right
above but for increasing values of the
degree, k-1.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Rational Curves

• A rational curve is defied by the algebraic ratio of


two polynomials
• Non-rational curve is defined by one polynomial.
• Rational curves derive their theories from
projective geometry.
• The rational curves are important because they
are invariant both under affine and projective (or
perspective) transformations

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Rational Curves
• A rational curve is defined by the algebraic ration of to polynomials
while a non-rational curve is defined by one polynomial only.
• They are invariant under projective transformation also
The rational B - Spline curve defined for (n  1) control points Pi .
Its parametric form is given as follows.
n
P(u )   Pi Ri ,k (u ) 0  u  umax
i 0

Ri ,k (u ) are the rational B - Spline basis functions and are given by


hi N i ,k (u )
Ri ,k (u )  n

h N
i 0
i i ,k (u )

If we substitute h i  1, Ri ,k (u )  N i ,k (u )
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
n
P (u )   Pi Ri ,k (u ), 0  u umax
i 0

Ri ,k (u ) are the rational B - Spline basis functions and are given by


hi N i ,k (u )
Ri ,k (u )  n

h N
i 0
i i ,k (u )

The Ri ,k (u ) are a generalization of the nonrational basis functions N i ,k (u ).


If we substitute hi  1 in the equation, Ri ,k (u )  N i ,k (u ).
The choice of the H  [h0 h1 h2 h3 ... hn ]T vector controls the behaviour of
the curve.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Rational B-Spline Curves: Calculation
of Open Rational B-spline Curves
• Consider the control polygon given by the
vertices
P1[ 0 0 ], P2[ 1 2 ], P3[ 5/2 0 ], P4[ 4 2 ], P5[ 5 0 ]
Determine the point at u= 3/2 for the
quadratic (k = 3) open rational B-spline
curve with homogeneous weighting factors
given by
[H ] = [1 1 h3 1 1], h3 = 0, 1/4, 1, 5.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


• The knot vector is [0 0 0 1 2 3 3 3].
• The parameter range is 0≤u ≤ 3.
• The curves are composed of three
piecewise rational quadratics, one for each
of the interior intervals in the knot vector.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus


Brief on Transformation (More detailed discussion on
transformation will be later though)

• Transformation is two types.


1) Affine Transformation – preserves parallel lines
(linear transformation L(u) is a special case of
affine transformation); this includes rotation,
scaling and shearing (these are linear also) and
translation
translation = linear transformation + Constant
2) Non-affine transformation – lines no more
remain parallel in transformation
This includes
• perspective projective transformation
Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus
B-Spline Versus Bezier curve
• B-Spline is a powerful generalization of the
Bezier curve
• B-Spline can be both interpolating type and
approximating type
• B-Spline provides local control thus better shape
control is possible
• The degree (k-1) of the curve segment is not
depedent on the number control points; thus
with four control points, quadratic as well as
cubic B-Spline curves are possible
• In general, with (n+1) control points, B-Spline
curves of any degree upto “n” are possible.

Srinivasa Prakash Regalla, Professor, BITS-Pilani, Hyderabad Campus

Das könnte Ihnen auch gefallen