Professional Documents
Culture Documents
Curved Surfaces
In CAD, We want to find a math form for representing curved surfaces, that :
(a) look nice (smooth contours) (b) is easy to manipulate and manufacture (c) follows prescribed shape (airfoil design) To study the curved surface, we need to start from curves.
Parametric Representation
* a curve * a surface
T
P ( u , v ) = x ( u , v ) , y ( u , v ) , z ( u , v )
We can represent any functions of curve (curved surface) using parametric equation.
P1, u=0 P1 P
P2-P1 P2
P2, u=1
P = P1 + ( P - P1 ) P - P1 = u ( P2 - P1 )
y x
P = P1 + u( P2 - P1 ), 0 u 1
Lines
z
P1, u=0 P1
P P
P2-P1 P2
y
P2, u=1
P = P1 + u( P2 - P1 ), 0 u 1
x = x1 + u ( x2 x1 ) y = y1 + u ( y2 y1 ) 0 u 1 z = z + u ( z z ) 1 2 1
Circle
Representation 1 (Non-parametric)
x2 + y2 = 1
(a) x=u
y=
1! u2
0.25 0.5
0.75
Circle
Representation 2 (parametric) /2 3/8 /4
(b)
x = cos u
y = sin u
better definition than (a) but still slow
/8 u 0
Circle
Representation 3 (parametric)
Recursive approach
x n = r cos y n = r sin
Pn+1 Pn
(c)
-- Pn
-- Pn+1
Observation: curves are represented by a series of line-segments Similarly all conic sections can be represented.
Ellipse
x = xo + A cos y = yo + B sin z = z o
0 2
The computer uses the same method as in the Representation 3 of circle to reduce the amount of calculation.
Example
Parabola
explicit
x = cy
parametric
x = xo + Au 2 y = yo + 2 Au z = z o
0u
Hyperbola
implicit
x y 2 =1 2 a b
x = a cosh u y = b sinh u z = z o
parametric
0u
yi = ai 0 + ai1 x
y x
M (x ) ai x + bi y (x ) = R (x ) = = EI EI 1 ai 3 bi 2 y (x ) = 6 x + 2 x + ci x + d i EI
''
Cubic Spline
Drafting Spline
()
() () ()
! # = %C u i z u$ i
T 3 i=0
(0 & u & 1)
# ( ( ! T ( = [U ][C] ( ( ( $
u =1
Boundary Conditions: Location of the two end points and their slopes
r P0 '
u=0
r P0 p0
--
r p1 P --1
u=1
r p1' P 1
--
i=0
!u3 "
u2
! P0 ! P1 !' P0 !' P1
Based on: Location of the two end points and their slopes
=U
[M H ]
! V
0 ! u !1
Bezier Curve
r p1 p1
r p2 p2 r p2 p2
r p3 p3
r p0 p0
p (u ) =
r p3 p3
r p0 p0
p1 p
1
p B (u )
i i ,n i =0
n segment(each polygon) n+1 vertices (each polygon) and number of control points
u [0,
1]
Bezier Curve
P. Bezier of the French automobile company of Renault first introduced the Bezier curve. A system for designing sculptured surfaces of automobile bodies (based on the Bezier curve)
- passes p 0 and p n , the two end points. - has end point derivatives: ! ! ! ! ! ! ' ' = n( p ! p ) ' p ! p p n( ) p0 0= n( p11 p0 ); pn ' =pn =n n( pn pn1 ) 0 n!1
- uses a vector of control points, representing the n+1 vertices of a characteristic polygon.
Bernstein Polynomial
n! n i i Bi ,n (u ) = u (1 u ) i!(n i ) !
Bi ,n (u ) is a function of the number of curve segments, n.
n=2
i 0
2! =1 0! 2!
1
2! =2 1! 1!
2
2! =1 2! 0!
n! i! (n i )!
Bernstein Polynomial
In the mathematical field of numerical analysis, a Bernstein polynomial, named after Sergei Natanovich Bernstein, is a polynomial in the Bernstein form, that is a linear combination of Bernstein basis polynomials. A numerically stable way to evaluate polynomials in Bernstein form is de Casteljau's algorithm which reduces the computational demand caused by the factorials.
r -p1 p1
-r p0 p0
1
2! =2 1! 1!
-r p2 p2
2
2! =1 2! 0!
n! i! (n i )!
p(u ) = pi Bi ,n (u )
i =0
n! i (u ) = (1 u )ni Bi ,n u i!(n i ) !
! ! 2 ! 2! p(u) = 1! (1" u) p0 + 2 ! u(1! u) p1 +1! u p2 ! ! ! ! p '(u) = !2(1! u) p0 + 2(1! 2u) p1 + 2up2 ! ! r r r p(0) = p0 p '(0) = 2( p1 p0 ) ! ! r r r p(1) = p2 p '(1) = 2( p2 p1 )
The order of Bezier curve is a function of the number of control points. Four control points (n=3) always produce a cubic Bezier curve.
p1 p2 p2 p3 p0 p1 p3 p2 p1 p3 p3 p1 p0 p1 p1 p2 p0 p1 p2 p3 p2 p2 p1 p3 p2 p0 p2 p1
p0 p0
pn,p3
p1
pn,p3
An Example
The coordinates of four control points relative to a current WCS are given by
T T T T
Find the equation of the resulting Bezier curve. Also find points on curve for
u = 0, 1 , 1 , 3 ,1 4 2 4
P1
P2
P0
P3
Solution
P (u ) = P0 B0,3 + P1 B1,3 + P2 B2,3 + P3 B2,3 0 u 1
n! n i Bi ,n (u ) = u i (1 u ) i!(n i ) !
P (u ) = P0 (1 u) + 3Pu (1 u ) + 3P2u 2 (1 u ) + Pu3 1 3
3 2
0 u 1
u = 0, , , , 1
P1(2,3) u=1/2
P2(3,3)
- control points, P1, P2, P3, & P4, - points on curve, P(u)
P0(2,2)
u=1/4
u=3/4
P3(3,2)
B-Spline
A Generalization from Bezier Curve Better local control Degree of resulting curve is independent to the number of control points.
Math Representation
n
P ( u ) = Pi N i ,k (u )
i =0
0 u umax
Ni ,k (u) = (u ui )
Ni ,k 1 (u ) ui + k 1 ui
+ (ui + k u)
Ni +1,k 1 (u) ui + k ui +1
Parametric Knots
Ni ,k (u) = (u ui ) Ni ,k 1 (u ) ui + k 1 ui + (ui + k u) Ni +1,k 1 (u) ui + k ui +1
where, 0 j n+k, thus if a curve with (k-1) degree and (n+1) control points is to be developed, (n+k+1) knots then are required with 0 u umax = n k +2
k-1
Properties of B-Spline
Number of control points independent of degree of polynomial
vertex Linear k=2 Quadratic B-Spline k=3 Cubic B Spline k=4 Fourth Order B-Spline k=5 vertex
The higher the order of the B-Spline, the less the influence the close control point
Properties of B-Spline
B-spline allows better local control. Shape of the curve can be adjusted by moving the control points. Local control: a control point only influences k segments.
2 3 5 7
4 1
5 6 5
Properties of B-Spline
Repeated values of a control point can pull a B-spline curve forward to vertex. ( Interactive curve control )
An Example
Find the equation of a cubic B-spline curve defined by the same control points as in the last example. How does the curve compare with the Bezier curve?
Values to be Calculated
Calculating Ni,1
Calculating Ni,k
Calculating Ni,k
Result
n + 1 control points: 3+1=4 k 1 degree curve: 4-1=3 4 control points cubic polynomial
P ( u ) = Pi Ri ,k (u )
i =0
0 u umax
(hi " scalar )
Ri ,k =
hi N i ,k (u )
n
!h N
i i =0
i ,k
(u )
then
Development of NURBS
Boeing: Tiger System in 1979 SDRC: Geomod in 1993 University of Utah: Alpha-1 in 1981 Industry Standard: IGES, PHIGS, PDES, Pro/E, etc.
Advantages of NURBS
Serve as a genuine generalizations of non-rational B-spline forms as well as rational and non-rational Bezier curves and surfaces Offer a common mathematical form for representing both standard analytic shapes (conics, quadratics, surface of revolution, etc) and free-from curves and surfaces precisely. B-splines can only approximate conic curves. Provide the flexibility to design a large variety of shapes by using control points and weights. increasing the weights has the effect of drawing a curve toward the control point. Have a powerful tool kit (knot insertion/refinement/removal, degree elevation, splitting, etc. Invariant under scaling, rotation, translation, and projections. Reasonably fast and computationally stable. Clear geometric interpretations