Spring, 2005 CSE530 Lecture Notes ST NY BR K STATE UNIVERSITY OF NEW YORK Department of Computer Science Center for Visual Computing Geometric Theory, Algorithms, and Techniques Hong Qin Department of Computer Science State University of New York at Stony Brook Stony Brook, New York 11794--4400 Tel: (631)632-8450; Fax: (631)632-8334 [email protected]http://www.cs.sunysb.edu/~qin Hong Qin Department of Computer Science State University of New York at Stony Brook Stony Brook, New York 11794--4400 Tel: (631)632-8450; Fax: (631)632-8334 [email protected]http://www.cs.sunysb.edu/~qin
260
Embed
Geometric Theory, Algorithms, and Techniquesnetlab.cs.ucla.edu/wiki/files/cse530-geometry.pdf · 2007. 12. 26. · CSE530 Lecture Notes Spring, 2005 STzNY BRzzK STATE UNIVERSITY OF
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Geometric Theory, Algorithms, and Techniques
Hong QinDepartment of Computer Science
State University of New York at Stony BrookStony Brook, New York 11794--4400
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
3D Shape Representation• Points (vertices), a set of points• Lines, polylines, curve• Triangles, polygons• Triangular meshes, polygonal meshes• Analytic (commonly-used) shape• Quadric surfaces, sphere, ellipsoid, torus• Superquadric surfaces, superellipse, superellipsoid• Blobby models
• Points (vertices), a set of points• Lines, polylines, curve• Triangles, polygons• Triangular meshes, polygonal meshes• Analytic (commonly-used) shape• Quadric surfaces, sphere, ellipsoid, torus• Superquadric surfaces, superellipse, superellipsoid• Blobby models
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Basic Shapespoint line
plane
triangle
polygon
curve
surface
Curved
solid
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Fundamental Shapes• Vertex (vertices)• Line segments• Triangle, triangular meshes• Quadrilateral• Polygon• Curved object• Tetrahedron, pyramid, hexahedron• Many more…
• Vertex (vertices)• Line segments• Triangle, triangular meshes• Quadrilateral• Polygon• Curved object• Tetrahedron, pyramid, hexahedron• Many more…
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Polygonal Meshes
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Shaded Model
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Mechanical Part
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
NURBS model
PDE models
Subdivision model
Implicit model
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Building Structure
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Mathematical Tools• Parametric curves and surfaces• Spline-based objects (piecewise polynomials)• Explicit, implicit, and parametric representations• The integrated way to look at the shape:
– Object can be considered as a set of faces, each face can be further decomposed into a set of edges, each edge can be decomposed intovertices
• Subdivision models• Other procedure-based models• Sweeping• Surfaces of revolution• Volumetric models
• Parametric curves and surfaces• Spline-based objects (piecewise polynomials)• Explicit, implicit, and parametric representations• The integrated way to look at the shape:
– Object can be considered as a set of faces, each face can be further decomposed into a set of edges, each edge can be decomposed intovertices
• Subdivision models• Other procedure-based models• Sweeping• Surfaces of revolution• Volumetric models
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Line Equation• Parametric representation
• Parametric representation is not unique• In general
• Re-parameterization (variable transformation)
• Parametric representation
• Parametric representation is not unique• In general
• Re-parameterization (variable transformation)
]1,0[)-(),( 01010
∈+=
uupppppl
]1,1[010110
−∈−++=
vv)p0.5(p)p0.5(p)p,l(p
],[),(
bauu∈
p
]1,0[))(()(
)()/()(
∈+−=
+−=−−=
vavabv
avabuabauv
pq
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Basic Concepts• Linear interpolation:
• Local coordinates: • Reparameterization: • Affine transformation:
• Polynomials• Continuity
• Linear interpolation:
• Local coordinates: • Reparameterization: • Affine transformation:
• Polynomials• Continuity
)()1( 10 tt vvv +−=
]1,0[,10 ∈∈ t]v,[vv)())((),(),( vhvgfvguuf ==
1)()()(
=++=+
baybfxafbyaxf
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Linear and Bilinear Interpolation
a
b
bap uu +−= )1(
a b
c
d
fepdbfcae
vvuuuu
+−=+−=+−=
)1()1()1(
e
f
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Cubic Hermite Splines• Two vertices and two tangent vectors:
• Hermite curve
• Two vertices and two tangent vectors:
• Hermite curve
;)1()0(
;)1(,)0(
1)1(
0)1(
10
dc,dc
vcvc
==
==
)()(),()(),()(),()(
);()()()()(
4333
322
311
30
331
320
311
300
ufuHufuHufuHufuH
uHuHuHuHu
====
+++= ddvvc
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Hermite Splines• Higher-order polynomials
• Note that, n is odd!• Geometric intuition• Higher-order derivatives are required
• Higher-order polynomials
• Note that, n is odd!• Geometric intuition• Higher-order derivatives are required
;2/)1,...(0),1()0(
);()()(
)()()()(
)(1
)(0
01)1(
112/)1(
2/)1(1
2/)1(2/)1(
01100
00
−===
++++
+++=
−+−
−−
ni
uHuHuH
uHuHuHu
iiii
nn
nn
nn
n
nn
nnn
cv,cv
vv...v
v...vvc
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Why Cubic Polynomials• Lowest degree for specifying curve in space• Lowest degree for specifying points to
interpolate and tangents to interpolate• Commonly used in computer graphics• Lower degree has too little flexibility• Higher degree is unnecessarily complex, exhibit
undesired wiggles
• Lowest degree for specifying curve in space• Lowest degree for specifying points to
interpolate and tangents to interpolate• Commonly used in computer graphics• Lower degree has too little flexibility• Higher degree is unnecessarily complex, exhibit
undesired wiggles
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Variations of Hermite Curve• Variations of Hermite curves
• In matrix form (x-component only)
• Variations of Hermite curves
• In matrix form (x-component only)3/)1('3)1('3/)0('3)0('
)1()0(
3223
0101
3
0
cpp),p(pccpp),p(pc
cpcp
−=−=+=−=
==
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
x
x
x
x
x
x
x
x
,0
,0
,0
,0
3300003310000001
)1(')0(')1()0(
pppp
cccc
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Cubic Bezier Curves• Four control points• Curve geometry• Four control points• Curve geometry
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Curve Mathematics (Cubic)• Bezier curve
• Control points and basis functions
• Image and properties of basis functions
• Bezier curve
• Control points and basis functions
• Image and properties of basis functions
∑=
=3
0
3 )()(i
ii uBu pc
333
232
231
330
)(
)1(3)(
)1(3)(
)1()(
uuB
uuuB
uuuB
uuB
=
−=
−=
−=
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Recursive Evaluation• Recursive linear interpolation• Recursive linear interpolation
)(
)()1(
30
21
20
12
11
10
03
02
01
00
u
uu
cp
pp
ppp
pppp
=
−
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Recursive Subdivision Algorithm
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Basic Properties (Cubic)• The curve passes through the first and the last
points (end-point interpolation)• Linear combination of control points and basis
functions• Basis functions are all polynomials• Basis functions sum to one (partition of unity)• All basis functions are non-negative• Convex hull (both necessary and sufficient)• Predictability
• The curve passes through the first and the last points (end-point interpolation)
• Linear combination of control points and basis functions
• Basis functions are all polynomials• Basis functions sum to one (partition of unity)• All basis functions are non-negative• Convex hull (both necessary and sufficient)• Predictability
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Derivatives• Tangent vectors can easily be evaluated at the
end-points• Second derivatives at end-points can also be
easily computed:
• Tangent vectors can easily be evaluated at the end-points
• Second derivatives at end-points can also be easily computed:
)p(pc);p(pc 2301 )1('3)0(' −=−=
)pp(p))p(p)p((pc
)pp(p))p(p)p((pc
1231223)2(
0120112)2(
2632)1(
2632)0(
+−=−−−×=
+−=−−−×=
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Derivative Curve• The derivative of a cubic Bezier curve is a
quadratic Bezier curve• The derivative of a cubic Bezier curve is a
quadratic Bezier curve
22312
201
32
22
12
02
3)1(23)1(3
3))1(2(3))1(2)1((3)1(3)('
uuuu
uuuuuuuuu
)p(p)p(p)p(p
ppppc
−+−−+−−
=+−−+−−−+−−=
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
More Properties (Cubic)• Two curve spans are obtained, and both of them
are standard Bezier curves (through reparameterization)
• The control points for the left and the right are
• Two curve spans are obtained, and both of them are standard Bezier curves (through reparameterization)
• The control points for the left and the right are]1,0[),(]1,0[),(
]1,[),(],0[),(
∈∈
∈∈
uuuu
uvvuvv
r
l
cccc
03
12
21
30
30
20
10
00
p,p,p,p
p,p,p,p
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
High-Degree Curves• Generalizing to high-degree curves
• Advantages:– Easy to compute, Infinitely differentiable
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Piecewise C2 Bezier Curves
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Continuity Summary• C0: straightforward, but not enough• C3: too constrained• Piecewise curves with Hermite and Bezier
representations satisfying various continuity conditions
• Interactive system for C2 interpolating splinesusing piecewise Bezier curves
• Advantages and disadvantages
• C0: straightforward, but not enough• C3: too constrained• Piecewise curves with Hermite and Bezier
representations satisfying various continuity conditions
• Interactive system for C2 interpolating splinesusing piecewise Bezier curves
• Advantages and disadvantages
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
C2 Interpolating Splines
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Natural C2 Cubic Splines• A set of piecewise cubic polynomials
• C2 continuity at each vertex
• A set of piecewise cubic polynomials
• C2 continuity at each vertex
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
)()()(
)(uzuyux
uic
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Natural C2 Cubic Splines
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Natural Splines• Interpolate all control points• Equivalent to a thin strip of metal in a physical
sense• Forced to pass through a set of desired points• No local control (global control)• N+1 control points• N pieces• 2(n-1) conditions• We need two additional conditions
• Interpolate all control points• Equivalent to a thin strip of metal in a physical
sense• Forced to pass through a set of desired points• No local control (global control)• N+1 control points• N pieces• 2(n-1) conditions• We need two additional conditions
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Natural Splines• Interactive design system
– Specify derivatives at two end-points– Specify the two internal control points that define the
first curve span– Natural end conditions: second-order derivatives at
two end points are defined to be zero• Advantages: interpolation, C2• Disadvantages: no local control (if one point is
changed, the entire curve will move)• How to overcome this drawback: B-Splines
• Interactive design system– Specify derivatives at two end-points– Specify the two internal control points that define the
first curve span– Natural end conditions: second-order derivatives at
two end points are defined to be zero• Advantages: interpolation, C2• Disadvantages: no local control (if one point is
changed, the entire curve will move)• How to overcome this drawback: B-Splines
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Splines Motivation• The goal is local control!!!• B-splines provide local control• Do not interpolate control points• C2 continuity• Alternatively
– Catmull-Rom Splines– Keep interpolations– Give up C2 continuity (only C1 is achieved)– Will be discussed later!!!
• The goal is local control!!!• B-splines provide local control• Do not interpolate control points• C2 continuity• Alternatively
– Catmull-Rom Splines– Keep interpolations– Give up C2 continuity (only C1 is achieved)– Will be discussed later!!!
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
C2 Approximating Splines
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
From B-Splines to Bezier
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Uniform B-Splines• B-spline control points: • Piecewise Bezier curves with C2 continuity at
joints• Bezier control points:
• B-spline control points: • Piecewise Bezier curves with C2 continuity at
joints• Bezier control points:
np,...,p,p 10
)4(61
)4(61)
32
32(
21
32
32
3213
2102110
0
212
211
00
pppv
pppppppv
ppv
ppv
pv
++=
++=+
++
=
+=
+=
=
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Uniform B-Splines• In general, I-th segment of B-splines is
determined by four consecutive B-spline control points
• In general, I-th segment of B-splines is determined by four consecutive B-spline control points
)4(61
)4(61
32
32
3213
210
212
211
+++
++
++
++
++=
++=
+=
+=
iii
iii
ii
ii
pppv
pppv
ppv
ppv
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Uniform B-Splines• In matrix form
• Question: how many Bezier segments???
• In matrix form
• Question: how many Bezier segments???
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
+
+
+
3
2
1
3
2
1
0
1410042002400141
61
i
i
i
i
pppp
vvvv
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Spline Properties• C2 continuity, Approximation, Local control, convex
hull• Each segment is determined by four control points• Questions: what happens if we put more than one
control points in the same location???– Double vertices, triple vertices, collinear vertices
• End conditions– Double endpoints: curve will be tangent to line between first
distinct points– Triple endpoint: curve interpolate endpoint, start with a line
segment• B-spline display: transform it to Bezier curves
• C2 continuity, Approximation, Local control, convex hull
• Each segment is determined by four control points• Questions: what happens if we put more than one
control points in the same location???– Double vertices, triple vertices, collinear vertices
• End conditions– Double endpoints: curve will be tangent to line between first
distinct points– Triple endpoint: curve interpolate endpoint, start with a line
segment• B-spline display: transform it to Bezier curves
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Catmull-Rom Splines
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Catmull-Rom Splines• Keep interpolation• Give up C2 continuity• Control tangents locally• Idea: Bezier curve between successive points• How to determine two internal vertices
• Keep interpolation• Give up C2 continuity• Control tangents locally• Idea: Bezier curve between successive points• How to determine two internal vertices
66
66
)(32
)1('
)(32
)0('
)1()0(
122
111
232
0111
310
iii
iii
ii
ii
ii
pppv
pppv
vvppc
vvppc
vpc,vpc
++−=
−+=
−=−
=
−=−
=
====
++
−+
+
−+
+
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Catmull-Rom Splines• In matrix form
• Problem: boundary conditions• Properties: C1, interpolation, local control, non-
convex-hull
• In matrix form
• Problem: boundary conditions• Properties: C1, interpolation, local control, non-
convex-hull
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
+
+
−
2
1
1
3
2
1
0
06001610
01610060
61
i
i
i
i
ppp
p
vvvv
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Cardinal Splines• Four vertices define end-points and their
associated tangents
• Special case: Catmull-Rom splines when • More general case: Kochanek-Bartels splines
– Tension, bias, continuity parameters
• Four vertices define end-points and their associated tangents
• Special case: Catmull-Rom splines when • More general case: Kochanek-Bartels splines
– Tension, bias, continuity parameters
)v(vc
)v(vc
vc,vc
13)1(
02)1(
21
)1(21)1(
)1(21)0(
)1()0(
−−=
−−=
==
α
α
0=α
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Cardinal Splines
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Kochanek-Bartels Splines• Four vertices to define four conditions
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Piecewise B-Splines
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Spline Basis Functions
)()()(
01
)(
1,11
1,1
,
11,
uBuuuuuB
uuuuuB
otherwiseuuu
uB
kiiki
kiki
iki
iki
iii
−+++
+−
−+
+
−−
+−
−=
⎩⎨⎧ <<=
=
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Basis Functions• Linear examples
• How does it look like???
• Linear examples
• How does it look like???
⎩⎨⎧
∈−∈−
=
⎩⎨⎧
∈−∈−
=
⎩⎨⎧
∈−∈
=
]4,3[4]3,2[2
)(
]3,2[3]2,1[1
)(
]2,1[2]1,0[
)(
2,2
2,1
2,0
uuuu
uB
uuuu
uB
uuuu
uB
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Basis Functions• Quadratic cases (knot vector is [0,1,2,3,4,5,6])
• Cubic example
• Quadratic cases (knot vector is [0,1,2,3,4,5,6])
• Cubic example......)(......)(
433221
,)4(21
),4)(2(21)3)(1(
21
,)1(21
)(
322110
,)3(21
),3)(1(21)2(
21
,21
)(
3,3
3,2
2
2
3,1
2
2
3,0
=
=
<<=<<=<<=
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
−
−−+−−
−
=
<<=<<=<<=
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
−
−−+−=
uBuB
uuu
u
uuuu
u
uB
uuu
u
uuuu
u
uB
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Spline Basis Function Image
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Splines• Mathematics• Control points and basis functions of degree (k-
1)• Piecewise polynomials• Basis functions are defined recursively• We also have to introduce a knot sequence
(n+k+1) in a non-decreasing order
• Note that, the parametric domain:
• Mathematics• Control points and basis functions of degree (k-
1)• Piecewise polynomials• Basis functions are defined recursively• We also have to introduce a knot sequence
(n+k+1) in a non-decreasing order
• Note that, the parametric domain:
)()( ,0
uBu ki
n
ii∑
=
= pc
knuuuuu +,......,,,, 3210
],[ 11 +−∈ nk uuu
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Basis Functions
4,34,24,14,0
3,43,33,23,13,0
2,52,42,32,22,12,0
1,61,51,41,31,21,11,0
BBBBBBBBB
BBBBBBBBBBBBB
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Spline Facts• The curve is a linear combination of control points and
their associated basis functions ((n+1) control points and basis functions, respectively)
• Basis functions are piecewise polynomials defined (recursively) over a set of non-decreasing knots
• The degree of basis functions is independent of the number of control points (note that, I is index, k is the order, k-1 is the degree)
• The first k and last k knots do NOT contribute to the parametric domain. Parametric domain is only defined by a subset of knots
• The curve is a linear combination of control points and their associated basis functions ((n+1) control points and basis functions, respectively)
• Basis functions are piecewise polynomials defined (recursively) over a set of non-decreasing knots
• The degree of basis functions is independent of the number of control points (note that, I is index, k is the order, k-1 is the degree)
• The first k and last k knots do NOT contribute to the parametric domain. Parametric domain is only defined by a subset of knots
},......,,......,,......,{ 110 knnk uuuu ++−
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Spline Properties• C(u): piecewise polynomial of degree (k-1)• Continuity at joints: C(k-2)• The number of control points and basis functions: (n+1)• One typical basis function is defined over k sub-
intervals which are specified by k+1 knots ([u(k),u(I+k)])
• There are n+k+1 knots in total, knot sequence divides the parametric axis into n+k sub-intervals
• There are (n+1)-(k-1)=n-k+2 sub-intervals within the parametric domain ([u(k-1),u(n+1)])
• C(u): piecewise polynomial of degree (k-1)• Continuity at joints: C(k-2)• The number of control points and basis functions: (n+1)• One typical basis function is defined over k sub-
intervals which are specified by k+1 knots ([u(k),u(I+k)])
• There are n+k+1 knots in total, knot sequence divides the parametric axis into n+k sub-intervals
• There are (n+1)-(k-1)=n-k+2 sub-intervals within the parametric domain ([u(k-1),u(n+1)])
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Spline Properties• There are n-k+2 piecewise polynomials• Each curve span is influenced by k control points• Each control points at most affects k curve spans• Local control!!!• Convex hull• The degree of B-spline polynomial can be independent
from the number of control points• Compare B-spline with Bezier!!!• Key components: control points, basis functions, knots,
parametric domain, local vs. global control, continuity
• There are n-k+2 piecewise polynomials• Each curve span is influenced by k control points• Each control points at most affects k curve spans• Local control!!!• Convex hull• The degree of B-spline polynomial can be independent
from the number of control points• Compare B-spline with Bezier!!!• Key components: control points, basis functions, knots,
parametric domain, local vs. global control, continuity
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Spline Properties• Partition of unity, positivity, and recursive
evaluation of basis functions• Special cases: Bezier splines• Efficient algorithms and tools
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Matrix Expression
• The matrix structure and components of B?
• The matrix structure and components of A?
• The matrix structure and components of B?
• The matrix structure and components of A?
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
+− nn p
pB
v
vΜΜ
0
3)3(4
0
ABAvq ==
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Spline Discretization• Parametric domain: [u(k-1),u(n+1)]• There are n+2-k curve spans (pieces)• Assuming m+1 points per span (uniform
sampling)• Total sampling points m(n+2-k)+1=l• B-spline discretization with corresponding
parametric values:
• Parametric domain: [u(k-1),u(n+1)]• There are n+2-k curve spans (pieces)• Assuming m+1 points per span (uniform
sampling)• Total sampling points m(n+2-k)+1=l• B-spline discretization with corresponding
parametric values:
)()( ,0
10
10
ikj
n
jjii
l
l
vBv ∑=
−
−
== pcq
v,......,vq,......,q
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Spline Discretization• Matrix equation
• A is (l)x(n+1) matrix, in general (l) is much larger than (n+1), so A is sparse
• The linear discretization for both modeling and rendering
• Matrix equation
• A is (l)x(n+1) matrix, in general (l) is much larger than (n+1), so A is sparse
• The linear discretization for both modeling and rendering
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−− nlknlk
knk
l vBvB
vBvB
p
p
q
qΜ
ΛΜΟΜ
ΛΜ
0
1,1,0
0,0,0
1
0
)()(
)()(
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
From B-Splines to NURBS• What are NURBS???• Non Uniform Rational B-Splines (NURBS)• Rational curve motivation• Polynomial-based splines can not represent commonly-
used analytic shapes such as conic sections (e.g., circles, ellipses, parabolas)
• Rational splines can achieve this goal• NURBS are a unified representation
– Polynomial, conic section, etc.– Industry standard
• What are NURBS???• Non Uniform Rational B-Splines (NURBS)• Rational curve motivation• Polynomial-based splines can not represent commonly-
used analytic shapes such as conic sections (e.g., circles, ellipses, parabolas)
• Rational splines can achieve this goal• NURBS are a unified representation
– Polynomial, conic section, etc.– Industry standard
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
From B-Splines to NURBS• B-splines
• NURBS (curve)
• B-splines
• NURBS (curve)
)()( ,0 ,
,
,
uB
wwww
u ki
n
i
i
izi
iyi
ixi
∑=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=ppp
c
∑
∑
=
== n
ikii
n
ikiii
uBw
uBwu
0,
0,
)(
)()(
pc
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Geometric NURBS• Non-Uniform Rational B-Splines• CAGD industry standard --- useful properties• Degrees of freedom
– Control points– Weights
• Non-Uniform Rational B-Splines• CAGD industry standard --- useful properties• Degrees of freedom
– Control points– Weights
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Rational Bezier Curve• Projecting a Bezier curve onto w=1 plane• Projecting a Bezier curve onto w=1 plane
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
From B-Splines to NURBS
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
NURBS Weights• Weight increase “attracts” the curve towards the
associated control point• Weight decrease “pushes away” the curve from
the associated control point
• Weight increase “attracts” the curve towards the associated control point
• Weight decrease “pushes away” the curve from the associated control point
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
NURBS for Analytic Shapes• Conic sections• Natural quadrics• Extruded surfaces• Ruled surfaces• Surfaces of revolution
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
NURBS Circle
]4,4,4,3,2,2,1,0,0,0[knot1,5.0,5.0,1,5.0,5.0,1
==iw
gd,e,d,c,b,a,a=g
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
NURBS Curve• Geometric components
– Control points, parametric domain, weights, knots• Homogeneous representation of B-splines• Geometric meaning --- obtained from projection• Properties of NURBS
– Represent standard shapes, invariant under perspective projection, B-spline is a special case, weights as extra degrees of freedom, common analytic shapes such as circles, clear geometric meaning of weights
• Geometric components– Control points, parametric domain, weights, knots
• Homogeneous representation of B-splines• Geometric meaning --- obtained from projection• Properties of NURBS
– Represent standard shapes, invariant under perspective projection, B-spline is a special case, weights as extra degrees of freedom, common analytic shapes such as circles, clear geometric meaning of weights
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
NURBS Properties• Generalization of B-splines and Bezier splines• Unified formulation for free-form and analytic shape• Weights as extra DOFs• Various smoothness requirements• Powerful geometric toolkits• Efficient and fast evaluation algorithm• Invariance under standard transformations• Composite curves• Continuity conditions
• Generalization of B-splines and Bezier splines• Unified formulation for free-form and analytic shape• Weights as extra DOFs• Various smoothness requirements• Powerful geometric toolkits• Efficient and fast evaluation algorithm• Invariance under standard transformations• Composite curves• Continuity conditions
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Geometric Modeling• Why geometric modeling• Fundamental for visual computing
– Graphics, visualization– Computer aided design and manufacturing– Imaging– Entertainment, etc.
• Critical for virtual engineering• Interaction• Geometric information for decision making
• Why geometric modeling• Fundamental for visual computing
– Graphics, visualization– Computer aided design and manufacturing– Imaging– Entertainment, etc.
• Critical for virtual engineering• Interaction• Geometric information for decision making
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
From Curve to Surface
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Parameterization
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surfaces• From curves to surfaces• A simple curve example (Bezier)
• Consider each control point now becoming a Bezier curve
• From curves to surfaces• A simple curve example (Bezier)
• Consider each control point now becoming a Bezier curve
]1,0[
)()(3
0
∈
= ∑=
u
uBui
iipc
]1,0[
)(3
0,
∈
= ∑=
v
vBj
jjii pp
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surfaces• Then, we have• Matrix form• Then, we have• Matrix form
∑∑∑ ∑= == =
==3
0
3
0,
3
0
3
0, )()()())((),(
i jjiji
i jjji vBuBuBvBvu pps
[ ]
TTVUMPM
uBuBuBuB
uBuBuBuBvu
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
)()()()(
)()()()(),(
3
2
1
0
3,32,31,30,3
3,22,21,20,2
3,12,11,10,1
3,02,01,00,0
3210
pppppppppppppppp
s
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surfaces• Further generalize to degree of n and m along
two parametric directions
• Question: which control points are interpolated?• How about B-spline surfaces???
• Further generalize to degree of n and m along two parametric directions
• Question: which control points are interpolated?• How about B-spline surfaces???
∑∑= =
=n
i
m
j
mj
niji vBuBvu
0 0, )()(),( ps
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Tensor Product Surfaces• Where are they from?• Monomial form• Bezier surface
• B-spline surface
• General case
• Where are they from?• Monomial form• Bezier surface
• B-spline surface
• General case
ji
i jji vuvu ∑∑= ,),( as
)()(),( , vBuBvu nj
mi
i jji∑∑= ps
)()(),( ,0 0
,, vBuBvu lj
m
i
n
jkiji∑∑
= =
= ps
∑∑=i j
jiji vGuFvu )()(),( ,vs
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Research Issues• Continuity across adjacent patches• Integral computation• Triangular splines over regular triangulation• Transform triangular splines to a set of piecewise
triangular Bezier patches• Interpolation/approximation using triangular
splines
• Continuity across adjacent patches• Integral computation• Triangular splines over regular triangulation• Transform triangular splines to a set of piecewise
triangular Bezier patches• Interpolation/approximation using triangular
splines
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Bezier Surface
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Recursive Evaluation
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Control points (Cubic)
0,0,31,0,22,0,13,0,0
0,1,21,1,12,1,0
0,2,11,2,0
0,3,0
ppppppp
ppp
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Basis Functions (Cubic)
rrrrrtrtttttrrsrststt
rsssstsss
33363
33
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Patch Subdivision
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Domain
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Coons-Gordon Surface
),,0(;0 tsfr = )0,,(;0 srft =
),0,(;0 trfs =
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Coons-Gordon Surface
.consts =
.constt =
.constr =
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Interpolation
srr
LtrLtsPtr
rLtsLsrP
tss
LsrLtrP
+=
+=+
=
+=+
=
+=
α
γγ
α
ββ
α
αα
)(),0,()(),,0()(
)(),,0()()0,,()(
)()0,,()(),0,()(
11
103
11
102
11
101
fff
fff
fff
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Interpolation• The Boolean sum of any two operators results
the same!
• Use cubic blending functions for C1 interpolation!
• The Boolean sum of any two operators results the same!
• Use cubic blending functions for C1 interpolation!
ffffff
)()()()()()(
3223
3113
2112
PPPPPPPPP
⊕=⊕=⊕=
.........)(
.........)()()0,,()()0,,()(),0,()(),0,()(
3
2
33
32
31
301
==
+++=
ff
fffff
QQ
HsrHsrDHtrDHtrQ αααα αα
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Gregory’s Method• Convex combination
• Generalize to pentagonal patch!
• Convex combination
• Generalize to pentagonal patch!..................
)()()()(
)()()()(
.........)(.........)(
),0,(),0,()(
3
2
222
2
1
123132231
3223
3113
2112
3
2
1
==
++=
++=⊕=⊕=⊕=
==
+=
aa
tsrsa
TaTaTaTTTT
TTTTTT
TT
trDtrT
ffff
ffff
ff
fff αα
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular B-splines
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surface Properties• Inherit from their curve generators• More!• Efficient algorithms• Continuity across boundaries• Interpolation and approximation tools
• Inherit from their curve generators• More!• Efficient algorithms• Continuity across boundaries• Interpolation and approximation tools
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spherical Parameterization
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spherical Parameterization
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Possible ApplicationsShape classificationMedical registrationShape classificationMedical registration
Solving PDEs on surfaces
Smooth surface fitting
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Shape Morphing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Morphing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Frenet Swept Surfaces• Orient the profile Curve (C1(u)) using the Frenet frame
of C2(v)– Put C1(u) on the normal plane (n,b)– Place the original of C1(u) on C2(v)– Align the x-axis of C1(u) with –n– Align the y-axis of C1(u) with b
• Example: if C2(v) is a circle• Variation (generalization)• Scale C1(u) as it moves• Morph C1(u) into C3(u) as it moves• Use your own imagination!
• Orient the profile Curve (C1(u)) using the Frenet frame of C2(v)– Put C1(u) on the normal plane (n,b)– Place the original of C1(u) on C2(v)– Align the x-axis of C1(u) with –n– Align the y-axis of C1(u) with b
• Example: if C2(v) is a circle• Variation (generalization)• Scale C1(u) as it moves• Morph C1(u) into C3(u) as it moves• Use your own imagination!
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Ruled Surfaces
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Ruled Surfaces• Move one straight line along a curve• Example: plane, cone, cylinder• Cylindrical surface• Surface equation
• Isoparametric lines• More examples
• Move one straight line along a curve• Example: plane, cone, cylinder• Cylindrical surface• Surface equation
• Isoparametric lines• More examples
)()(),()1,()0,()1(),(
)()()1(),(
uvuvuuvuvvu
uvuvvu
qpssss
bas
+=+−=
+−=
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Developable Surfaces• Deform a surface to planar shape without
length/area changes• Unroll a surface to a plane without
stretching/distorting• Example: cone, cylinder• Developable surfaces vs. Ruled surfaces• More examples???
• Deform a surface to planar shape without length/area changes
• Unroll a surface to a plane without stretching/distorting
• Example: cone, cylinder• Developable surfaces vs. Ruled surfaces• More examples???
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Developable Surface
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Summary• Parametric curves and surfaces• Polynomials and rational polynomials• Free-form curves and surfaces• Other commonly-used geometric primitives
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Direct Volume Rendering
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Implicit Functions• Long history: classical algebraic geometry• Implicit and parametric forms
– Advantages– Disadvantages
• Curves, surfaces, solids in higher-dimension• Intersection computation• Point classification• Larger than parameter-based modeling• Unbounded geometry• Object traversal• Evaluation
• Long history: classical algebraic geometry• Implicit and parametric forms
– Advantages– Disadvantages
• Curves, surfaces, solids in higher-dimension• Intersection computation• Point classification• Larger than parameter-based modeling• Unbounded geometry• Object traversal• Evaluation
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Implicit Functions• Efficient algorithms, toolkits,software• Computer-based shape modeling and design• Geometric degeneracy and anomaly• Algebraic and geometric operations are often
closed• Mathematics: algebraic geometry• Symbolic computation• Deformation and transformation• Shape editing, rendering, and control
• Efficient algorithms, toolkits,software• Computer-based shape modeling and design• Geometric degeneracy and anomaly• Algebraic and geometric operations are often
closed• Mathematics: algebraic geometry• Symbolic computation• Deformation and transformation• Shape editing, rendering, and control
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Implicit Functions• Conversion between parametric and implicit
forms• Implicitization vs. parameterization• Strategy: integration of both techniques• Approximation using parametric models
• Conversion between parametric and implicit forms
• Implicitization vs. parameterization• Strategy: integration of both techniques• Approximation using parametric models
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Free-Form Deformation• Free-Form Deformation Example• Free-Form Deformation Example
Original Model
Solid Mesh
Deformed Mesh
Result
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Free-Form Deformation• Free-Form Deformation Example (Complex >> 49000
faces)• Free-Form Deformation Example (Complex >> 49000
faces)
Original Model
Solid Mesh
Deformed (Results in both surface rendered and wireframe)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Free-Form Deformation• Free-Form Deformation Example (Non-trivial topology)• Free-Form Deformation Example (Non-trivial topology)
Original Model
Solid Mesh with a hole
Deformed Mesh
Result (no change in central cylinder)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Free-Form Deformation• Free-Form Deformation Example (Localized)• Free-Form Deformation Example (Localized)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Shape Modeling• Direct Modeling / Manipulation• Direct Modeling / Manipulation
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Material Modeling• Material Representation (Non-homogeneous)• Material Representation (Non-homogeneous)