PowerPoint Slides

Tensor Product Bezier Patches
•
Earlier work by de Casteljau (1959-63)
• Later work by Bezier made them popular for CAGD
• The simplest tensor product patch is a bilinear patch, based on the concept of
bilinear interpolation (fitting simplest surface among 4 points)
à
• Bilinear Patch: Given 4 points, b00, b01 ,b10 ,b11, the patch is defined as:
Pà(u; w) =
P
1 P 1
1
1
b
B
(u)B
j (w)
i= 0
j = 0 ij i
or in matrix form, it can be expressed as:
â b 00 b 01 ã â 1 à w ã
[1 à u
u]
b 10 b 11
w
09/23/02
Dinesh Manocha, COMP258
Bilinear Tensor Product Bezier
Patches
They are called a hyperbolic paraboloid
• Consider the surface, z = xy. It is the bilinear interpolant of 4 points
•
àâ 0 ã â 1 ã â 0 ã â 1 ã
0 ; 0 ; 1 ; 1
0
0
0
1
à
• If we intersect with a plane parallel to the x,y plane, the resulting
curve is a hyperbola. If we intersect it with a plane containing the zaxis, the resulting curve is a parabola.
09/23/02
Dinesh Manocha, COMP258
Direct de Casteljau Algorithm
•
Extension of linear interpolation (or convex combination) algorithm for curves to
surfaces
• Given a rectangular array of points, bij, 0  i,j  n and parameter value (u,w).
Compute a point on a surface determined by this array of points by setting:
à
r ;r
b i ;j
=
à
[1 à u
r = 1,….,n
i,j = 0,….,n-r and
â b ri ;jà 1;r à 1 b ri ;jà +1;r1 à 1 ã â 1 à w ã
u]
r à 1;r à 1
r à 1;r à 1
w
b i + 1;j
b i + 1;j + 1
0;0
b i ;j = b i ;j
n;n
b 0;0 is the point with parameter values (u,w) on the surface
09/23/02
Dinesh Manocha, COMP258
Direct de Casteljau Algorithm
The net of bij, is called the Bezier net or the control net.
• Tensor product formulation: A surface is the locus of a curve that is
moving thru space and thereby changing its shape
• The sameàsurface can also be represented using Bernstein basis as:
P n P n
n
n
P (u; w) =
b
B
(u)B
i
j
i
j (w)
i= 0
j=0
à
•
• de Casteljau’s be easily extended when the control points along u and
w directions are different (say m X n)
– Apply the recursive formulation till b k;k
is computed, where
i ;j
k = min(m,n)
– After that use the univariate de Casteljau’s algorithm
09/23/02
Dinesh Manocha, COMP258
Properties of Bezier Patches
Affine invariance
• Convex hull property
• Boundary curves: are Bezier curves
• Variation àdimishing property: Not clear whether it holds for surfaces
– Easy to come with an counter example
à
•
09/23/02
Dinesh Manocha, COMP258
Degree Elevation
Goal: To raise the degree from (m,n) to (m+1,n)
• Compute new coefficients, b 1;0
, such that the surface can be
i ;j
expressed as:
•
à
P
n
j=0
âP
ã n
m + 1 (1;0) m + 1
B i (u) B j (w)
i= 0 bij
P (u; w) =
à in square brackets represent n+1 univariate degree
• The n+1 terms
elevation
• The new control points can be computed, by using the univariate
formula:
i
i
è
1;0
i = 0; :::; m + 1
à
(1
)b
+
b
à
i
;j
i
1;j
b i ;j =
m+ 1
m+ 1
j = 0; :::n
09/23/02
Dinesh Manocha, COMP258
Derivatives
Goal: To compute partials along u or w directions
• A partial derivative is the tangent vector of an isoparametric curve:
•
P
@ P (u; w) =
@u à
• It can be expressed as:
n
j=0
â@ P
@u
m
m
b
B
i
j
i (u)
i= 0
ã n
B j (w)
à
@P (u; w) = m P
@u
where
09/23/02
n P mà 1
j=0
i= 0
à1
n
É (1;0) b i j B m
(u)B
i
j (w),
É 1;0b i ;j = b i + 1;j à b i ;j
Dinesh Manocha, COMP258