geometric theory, algorithms, and techniquesnetlab.cs.ucla.edu/wiki/files/cse530-geometry.pdf ·...
TRANSCRIPT
![Page 1: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/1.jpg)
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
Tel: (631)632-8450; Fax: (631)[email protected]
http://www.cs.sunysb.edu/~qin
Hong QinDepartment of Computer Science
State University of New York at Stony BrookStony Brook, New York 11794--4400
Tel: (631)632-8450; Fax: (631)[email protected]
http://www.cs.sunysb.edu/~qin
![Page 2: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/2.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Introduction• Geometric modeling and
visual computing– Computer graphics
• Visualization, animation, virtual reality
– CAD/CAM• Engineering, manufacturing
– Computer vision– Physical simulation– Natural phenomena
• Geometric modeling and visual computing– Computer graphics
• Visualization, animation, virtual reality
– CAD/CAM• Engineering, manufacturing
– Computer vision– Physical simulation– Natural phenomena
![Page 3: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/3.jpg)
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
![Page 4: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/4.jpg)
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
![Page 5: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/5.jpg)
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…
![Page 6: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/6.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Polygonal Meshes
![Page 7: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/7.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Shaded Model
![Page 8: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/8.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Mechanical Part
![Page 9: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/9.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 10: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/10.jpg)
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
![Page 11: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/11.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Building Structure
![Page 12: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/12.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 13: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/13.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 14: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/14.jpg)
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
![Page 15: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/15.jpg)
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
![Page 16: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/16.jpg)
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
![Page 17: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/17.jpg)
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
![Page 18: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/18.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Fundamental Features• Geometry
– Position, direction, length, area, normal, tangent, etc.• Interaction
– Size, continuity, collision, intersection• Topology• Differential properties
– Curvature, arc-length• Physical attributes• Computer representation & data structure• Others!
• Geometry– Position, direction, length, area, normal, tangent, etc.
• Interaction– Size, continuity, collision, intersection
• Topology• Differential properties
– Curvature, arc-length• Physical attributes• Computer representation & data structure• Others!
![Page 19: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/19.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Mathematical Formulations• Point:
• Line:• Quadratic curve:
• Parametric domain and reparameterization:
• Point:
• Line:• Quadratic curve:
• Parametric domain and reparameterization:
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
z
y
x
aaa
p
[ ] [ ]TT uu bbbaaal +=)(
[ ] [ ] [ ]TzyxT
zyxT
zyx uuu cccbbbaaaq ++= 2)(
)/()(];1,0[];,[ seses uuuuvvuuu −−=∈∈
![Page 20: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/20.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Parametric Polynomials• High-order polynomials
• No intuitive insight for the curved shape• Difficult for piecewise smooth curves
• High-order polynomials
• No intuitive insight for the curved shape• Difficult for piecewise smooth curves
n
zn
yn
xni
zi
yi
xi
z
y
x
uuu⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡++
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡++
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
,
,
,
,
,
,
,0
,0
,0
......)(aaa
aaa
aaa
c
![Page 21: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/21.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Parametric Polynomials
![Page 22: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/22.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
How to Define a Curve?• Specify a set of points for interpolation and/or
approximation with fixed or unfixed parameterization
• Specify the derivatives at some locations• What is the geometric meaning to specify derivatives?• A set of constraints• Solve constraint equations
• Specify a set of points for interpolation and/or approximation with fixed or unfixed parameterization
• Specify the derivatives at some locations• What is the geometric meaning to specify derivatives?• A set of constraints• Solve constraint equations
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
)()()(
i
i
i
uzuyux
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
)(')(')('
i
i
i
uzuyux
![Page 23: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/23.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 24: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/24.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
One Example• Two end-vertices: c(0) and c(1)• One mid-point: c(0.5)• Tangent at the mid-point: c’(0.5)• Assuming 3D curve
• Two end-vertices: c(0) and c(1)• One mid-point: c(0.5)• Tangent at the mid-point: c’(0.5)• Assuming 3D curve
![Page 25: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/25.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Cubic Polynomials• Parametric representation (u is in [0,1])
• Each components are treated independently• High-dimension curves can be easily defined• Alternatively
• Parametric representation (u is in [0,1])
• Each components are treated independently• High-dimension curves can be easily defined• Alternatively
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
0
0
0
1
1
12
2
2
23
3
3
3
)()()(
cba
ucba
ucba
ucba
uzuyux
[ ][ ]
UCuzUBuy
UAaaaauuuux T
==
==
)()(
1)( 012323
![Page 26: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/26.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Cubic Polynomial Example• Constraints: two end-points, one mid-point, and
tangent at the mid-point
• In matrix form
• Constraints: two end-points, one mid-point, and tangent at the mid-point
• In matrix form
[ ][ ][ ]
[ ]AxAx
AxAx
1111)1(01)5.0(2)5.0(3)5.0('
15.05.05.0)5.0(1000)0(
2
123
==
=
=
A
xxxx
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
111101175.015.025.0125.01000
)1()5.0(')5.0(
)0(
![Page 27: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/27.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Solve this Linear Equation• Invert the matrix
• Rewrite the curve expression
• Invert the matrix
• Rewrite the curve expression
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−−−
−−
=
)1()5.0(')5.0(
)0(
000112454648
4404
xxxx
A
[ ][ ][ ]T
T
T
zzzzUMuz
yyyyUMuy
xxxxUMux
)1()5.0(')5.0()0()(
)1()5.0(')5.0()0()(
)1()5.0(')5.0()0()(
=
=
=
![Page 28: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/28.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Basis Functions• Special polynomials
• What is the image of these basis functions?• Polynomial curve can be defined by
• Observations– More intuitive, easy to control, polynomials
• Special polynomials
• What is the image of these basis functions?• Polynomial curve can be defined by
• Observations– More intuitive, easy to control, polynomials
144)(
264)(
44)(
1584)(
234
233
22
231
+−=
−+−=
+−=
+−+−=
uuuf
uuuuf
uuuf
uuuuf
)()1()()5.0(')()5.0()()0()( 4321 ufufufufu ccccc +++=
![Page 29: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/29.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Lagrange Curve• Point interpolation• Point interpolation
![Page 30: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/30.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Lagrange Curves• Curve
• Lagrange polynomials of degree n:• Knot sequence: • Kronecker delta: • The curve interpolate all the data point, but
unwanted oscillation
• Curve
• Lagrange polynomials of degree n:• Knot sequence: • Kronecker delta: • The curve interpolate all the data point, but
unwanted oscillation
)(...)()( 0 uLuLu nn
n
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡++
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
aaa
aaa
c
)(uLni
nuu ,...,0
ijjni uL δ=)(
![Page 31: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/31.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Lagrange Basis Functions
))()...(())()...(()(
))...()()...(())...()()...(()(
))...()(())...()(()(
0),...,1,0,(1
)(
120
120
110
110
02010
210
−−
−−
+−
+−
−−−−−−
=
−−−−−−−−
=
−−−−−−
=
⎩⎨⎧ ==
=
nnnnn
nnnn
niiiiii
niini
n
nn
jni
uuuuuuuuuuuuuL
uuuuuuuuuuuuuuuuuL
uuuuuuuuuuuuuL
Otherwisenjiji
uL
![Page 32: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/32.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Cubic Hermite Splines
C(0)
C’(0)
C(1)
C’(1)
![Page 33: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/33.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Cubic Hermite Curve• Hermite curve
• Two end-points and two tangents at end-points
• Matrix inversion
• Hermite curve
• Two end-points and two tangents at end-points
• Matrix inversion
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
)()()(
)(uzuyux
uc
A
xxxx
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
0123010011111000
)1(')0('
)1()0(
[ ][ ]T
T
zzzzUMuz
yyyyUMuy
xxxx
Uux
)1(')0(')1()0()(
)1(')0(')1()0()(
)1(')0('
)1()0(
00010100
12331122
)(
=
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡−−−
−
=
![Page 34: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/34.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Hermite Curve• Basis functions
• Display the image of these basis functions and the Hermite curve itself
• Basis functions
• Display the image of these basis functions and the Hermite curve itself
234
233
232
231
)(
2)(
32)(
132)(
uuuf
uuuuf
uuuf
uuuf
−=
+−=
+−=
+−=
)()1(')()0(')()1()()0()( 4321 ufufufufu ccccc +++=
![Page 35: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/35.jpg)
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
![Page 36: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/36.jpg)
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
![Page 37: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/37.jpg)
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
![Page 38: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/38.jpg)
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
![Page 39: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/39.jpg)
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
![Page 40: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/40.jpg)
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
=
−=
−=
−=
![Page 41: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/41.jpg)
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
=
−
![Page 42: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/42.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Recursive Subdivision Algorithm
![Page 43: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/43.jpg)
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
![Page 44: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/44.jpg)
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(
+−=−−−×=
+−=−−−×=
![Page 45: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/45.jpg)
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
−+−−+−−
=+−−+−−−+−−=
![Page 46: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/46.jpg)
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
![Page 47: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/47.jpg)
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
• Disadvantages:– Computationally complex, undulation, undesired
wiggles• How about high-order Hermite? Not natural!!!
• Generalizing to high-degree curves
• Advantages:– Easy to compute, Infinitely differentiable
• Disadvantages:– Computationally complex, undulation, undesired
wiggles• How about high-order Hermite? Not natural!!!
in
ii
i
i
ucba
uzuyux
∑= ⎥
⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
0)()()(
![Page 48: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/48.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Bezier Splines• Bezier curves of degree n
• Control points and basis functions (Bernstein polynomials of degree n):
• Bezier curves of degree n
• Control points and basis functions (Bernstein polynomials of degree n):
∑=
=n
i
nii uBu
0)()( pc
!)!(!
)1()(
iinn
in
uuin
uB iinni
−=⎟⎟
⎠
⎞⎜⎜⎝
⎛
−⎟⎟⎠
⎞⎜⎜⎝
⎛= −
![Page 49: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/49.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Recursive Computation
)()(
)1(
,...2,1,0,
0
11
1
0
uu
uu
ni
n
ji
ji
ji
ii
pc
ppp
pp
=
+−=
==−+
−
![Page 50: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/50.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Recursive Computation• N+1 levels• N+1 levels
)(
)()1(
0
11
10
11
10
000
u
uu
n
nn
n
n
cp
pp.........
p...p
p......p
=
−
−−
−
![Page 51: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/51.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Properties• Basis functions are non-negative• The summation of all basis functions is unity• End-point interpolation• Binomial expansion theorem
• Convex hull: the curve is bounded by the convex hull defined by control points
• Basis functions are non-negative• The summation of all basis functions is unity• End-point interpolation• Binomial expansion theorem
• Convex hull: the curve is bounded by the convex hull defined by control points
npc,pc == )1()0( 0
inin
i
n uuin
uu −
=
−⎟⎟⎠
⎞⎜⎜⎝
⎛=+− ∑ )1())1((
0
![Page 52: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/52.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
More Properties• Recursive subdivision and evaluation• Symmetry: c(u) and c(1-u) are defined by the
same set of point points, but different ordering
• Recursive subdivision and evaluation• Symmetry: c(u) and c(1-u) are defined by the
same set of point points, but different ordering
0
0
,,p,...p
;p,...p
n
n
![Page 53: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/53.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Tangents and Derivatives• End-point tangents:
• I-th derivatives at two end-points depend on
• Derivatives at non-end-points involve all control points
• End-point tangents:
• I-th derivatives at two end-points depend on
• Derivatives at non-end-points involve all control points
)p(pc)p(pc
1
01
)1(')0('
−−=−=
nnnn
inn
i
−p,...,p;p,...,p 0
![Page 54: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/54.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Other Advanced Topics• Efficient evaluation algorithm• Differentiation and integration• Degree elevation
– Use a polynomial of degree (n+1) to express that of degree (n)
• Composite curves• Geometric continuity• Display of curve
• Efficient evaluation algorithm• Differentiation and integration• Degree elevation
– Use a polynomial of degree (n+1) to express that of degree (n)
• Composite curves• Geometric continuity• Display of curve
![Page 55: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/55.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Bezier Curve Rendering• Use its control polygon to approximate the curve• Recursive subdivision till the tolerance is satisfied• Algorithm go here
– If the current control polygon is flat (with tolerance), then output the line segments, else subdivide the curve at u=0.5
– Compute control points for the left half and the right half, respectively
– Recursively call the same procedure for the left one and the right one
• Use its control polygon to approximate the curve• Recursive subdivision till the tolerance is satisfied• Algorithm go here
– If the current control polygon is flat (with tolerance), then output the line segments, else subdivide the curve at u=0.5
– Compute control points for the left half and the right half, respectively
– Recursively call the same procedure for the left one and the right one
![Page 56: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/56.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
High-Degree Polynomials• More degrees of freedom• Easy to compute• Infinitely differentiable• Drawbacks:
– High-order– Global control– Expensive to compute, complex– undulation
• More degrees of freedom• Easy to compute• Infinitely differentiable• Drawbacks:
– High-order– Global control– Expensive to compute, complex– undulation
![Page 57: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/57.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Piecewise Polynomials• Piecewise --- different polynomials for different
parts of the curve• Advantages --- flexible, low-degree• Disadvantages --- how to ensure smoothness at
the joints (continuity)
• Piecewise --- different polynomials for different parts of the curve
• Advantages --- flexible, low-degree• Disadvantages --- how to ensure smoothness at
the joints (continuity)
![Page 58: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/58.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Piecewise Curves
![Page 59: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/59.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 60: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/60.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Piecewise Bezier Curves
![Page 61: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/61.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Continuity• One of the fundamental concepts• Commonly used cases:
• Consider two curves: a(u) and b(u) (u is in [0,1])
• One of the fundamental concepts• Commonly used cases:
• Consider two curves: a(u) and b(u) (u is in [0,1])
210 ,, CCC
![Page 62: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/62.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Positional Continuity
)0()1( ba =
![Page 63: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/63.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Derivative Continuity
)0(')1(')0()1(
baba
==
![Page 64: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/64.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
General Continuity• Cn continuity: derivatives (up to n-th) are the same at
the joining point
• The prior definition is for parametric continuity• Parametric continuity depends of parameterization! But,
parameterization is not unique!• Different parametric representations may express the
same geometry• Re-parameterization can be easily implemented• Another type of continuity: geometric continuity, or Gn
• Cn continuity: derivatives (up to n-th) are the same at the joining point
• The prior definition is for parametric continuity• Parametric continuity depends of parameterization! But,
parameterization is not unique!• Different parametric representations may express the
same geometry• Re-parameterization can be easily implemented• Another type of continuity: geometric continuity, or Gn
ni
ii
,...,2,1,0)0()1( )()(
== ba
![Page 65: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/65.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Geometric Continuity• G0 and G1• G0 and G1
![Page 66: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/66.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Geometric Continuity• Depend on the curve geometry• DO NOT depend on the underlying
parameterization• G0: the same joint• G1: two curve tangents at the joint align, but
may (or may not) have the same magnitude• G1: it is C1 after the reparameterization• Which condition is stronger???• Examples
• Depend on the curve geometry• DO NOT depend on the underlying
parameterization• G0: the same joint• G1: two curve tangents at the joint align, but
may (or may not) have the same magnitude• G1: it is C1 after the reparameterization• Which condition is stronger???• Examples
![Page 67: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/67.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Piecewise Hermite Curves• How to build an interactive system to satisfy
various constraints• C0 continuity• C1 continuity
• G1 continuity
• How to build an interactive system to satisfy various constraints
• C0 continuity• C1 continuity
• G1 continuity
)0()1( ba =
)0(')1(')0()1(
baba
==
)0(')1(')0()1(
babaα=
=
![Page 68: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/68.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Piecewise Hermite Curves
![Page 69: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/69.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Piecewise Bezier Curves
![Page 70: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/70.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Piecewise Bezier Curves• C0 continuity• C1 continuity
• G1 continuity
• C2 continuity
• Geometric interpretation• G2 continuity
• C0 continuity• C1 continuity
• G1 continuity
• C2 continuity
• Geometric interpretation• G2 continuity
03 qp =
)q(q)p(pqp
0123
03
−=−=
)q(q)p(pqp
0123
03
−=−=
α
012123
0123
03
22 qqqppp)q(q)p(p
qp
+−=+−−=−
=
![Page 71: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/71.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Piecewise C2 Bezier Curves
![Page 72: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/72.jpg)
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
![Page 73: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/73.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 74: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/74.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
C2 Interpolating Splines
![Page 75: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/75.jpg)
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
![Page 76: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/76.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Natural C2 Cubic Splines
![Page 77: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/77.jpg)
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
![Page 78: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/78.jpg)
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
![Page 79: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/79.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 80: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/80.jpg)
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!!!
![Page 81: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/81.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
C2 Approximating Splines
![Page 82: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/82.jpg)
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
![Page 83: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/83.jpg)
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
++=
++=+
++
=
+=
+=
=
![Page 84: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/84.jpg)
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
![Page 85: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/85.jpg)
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
![Page 86: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/86.jpg)
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
![Page 87: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/87.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Catmull-Rom Splines
![Page 88: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/88.jpg)
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
++−=
−+=
−=−
=
−=−
=
====
++
−+
+
−+
+
![Page 89: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/89.jpg)
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
![Page 90: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/90.jpg)
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=α
![Page 91: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/91.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Cardinal Splines
![Page 92: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/92.jpg)
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
– Tension parameter:– Bias parameter:– Continuity parameter:
• Four vertices to define four conditions
– Tension parameter:– Bias parameter:– Continuity parameter:
))1)(1()1)(1)((1(21)1(
))1)(1()1)(1)((1(21)0(
)1()0(
2312)1(
1201)1(
21
)v(v)v(vc
)v(v)v(vc
vc,vc
−−−+−++−=
−+−+−−+−=
==
γβγβα
γβγβα
γβα
![Page 93: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/93.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 94: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/94.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Piecewise B-Splines
![Page 95: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/95.jpg)
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
−+++
+−
−+
+
−−
+−
−=
⎩⎨⎧ <<=
=
![Page 96: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/96.jpg)
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
![Page 97: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/97.jpg)
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
![Page 98: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/98.jpg)
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
![Page 99: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/99.jpg)
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
![Page 100: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/100.jpg)
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
![Page 101: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/101.jpg)
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 ++−
![Page 102: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/102.jpg)
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)])
![Page 103: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/103.jpg)
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
![Page 104: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/104.jpg)
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
– Evaluation, knot insertion, degree elevation, derivative, integration, continuity
• Composite Bezier curves for B-splines
• Partition of unity, positivity, and recursive evaluation of basis functions
• Special cases: Bezier splines• Efficient algorithms and tools
– Evaluation, knot insertion, degree elevation, derivative, integration, continuity
• Composite Bezier curves for B-splines
![Page 105: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/105.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Uniform B-Spline
![Page 106: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/106.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Another Formulation• Uniform B-spline• Parameter normalization (u is in [0,1])• End-point positions and tangents
• Uniform B-spline• Parameter normalization (u is in [0,1])• End-point positions and tangents
)p(pc
)p(pc
)pp(pc
)pp(pc
13
02
321
210
21)1('
21)0('
461)1(
461)0(
−=
−=
++=
++=
![Page 107: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/107.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Another Formulation• Matrix representation
• Basis matrix
• Matrix representation
• Basis matrix
p
pppp
cccc
c UMMUMUMu hh =
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
3
2
1
0
'
)1(')0(')1()0(
)(
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−
−−
=
0141030303631331
61M
![Page 108: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/108.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Basis Functions• Note that, u is now in [0,1]• Note that, u is now in [0,1]
34,3
234,2
234,1
34,0
)(61)(
)1333(61)(
)463(61)(
)1(61)(
uuB
uuuuB
uuuB
uuB
=
+++−=
+−=
−=
![Page 109: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/109.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Spline Rendering• Transform it to a set of Bezier curves• Convert the I-th span into a Bezier representation
• Consider the entire B-spline curve
• Transform it to a set of Bezier curves• Convert the I-th span into a Bezier representation
• Consider the entire B-spline curve
110
11
−
−++
k
kiii
v,......,v,vp,......,p,p
3)3(4)3(47430
210
+−− nn
n
v,......,v,......,v,......,v,v,......,vp,......,p,p,p
![Page 110: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/110.jpg)
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 ==
![Page 111: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/111.jpg)
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
![Page 112: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/112.jpg)
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
)()(
)()(
![Page 113: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/113.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 114: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/114.jpg)
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
![Page 115: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/115.jpg)
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
![Page 116: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/116.jpg)
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
![Page 117: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/117.jpg)
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
![Page 118: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/118.jpg)
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
![Page 119: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/119.jpg)
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
![Page 120: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/120.jpg)
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
• Conic sections• Natural quadrics• Extruded surfaces• Ruled surfaces• Surfaces of revolution
![Page 121: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/121.jpg)
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
![Page 122: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/122.jpg)
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
![Page 123: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/123.jpg)
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
![Page 124: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/124.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 125: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/125.jpg)
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
![Page 126: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/126.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
From Curve to Surface
![Page 127: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/127.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Parameterization
![Page 128: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/128.jpg)
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
![Page 129: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/129.jpg)
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
![Page 130: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/130.jpg)
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
![Page 131: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/131.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 132: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/132.jpg)
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
![Page 133: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/133.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Tensor Product Surface• Bezier Surface• Bezier Surface
![Page 134: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/134.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
B-Splines• B-spline curves• Tensor product B-splines
• Question again: which control points are interpolated???• Another question: can we get NURBS surface this
way???• Answer: NO!!! NURBS are not tensor-product surfaces• Another question: can we have NURBS surface?• YES!!!
• B-spline curves• Tensor product B-splines
• Question again: which control points are interpolated???• Another question: can we get NURBS surface this
way???• Answer: NO!!! NURBS are not tensor-product surfaces• Another question: can we have NURBS surface?• YES!!!
∑=
=n
ikii uBu
0, )()( pc
)()(),( ,0 0
,, vBuBvu lj
m
i
n
jkiji∑∑
= =
= ps
![Page 135: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/135.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
NURBS Surface• NURBS surface mathematics
• Understand this geometric construction• Question: why is it not the tensor-product
formulation??? Compare it with Bezier and B-spline construction
• NURBS surface mathematics
• Understand this geometric construction• Question: why is it not the tensor-product
formulation??? Compare it with Bezier and B-spline construction
∑ ∑
∑ ∑
= =
= == n
i
m
jljkiji
n
i
m
jljkijiji
vBuBw
vBuBwvu
0 0,,,
0 0,,,,
)()(
)()(),(
ps
![Page 136: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/136.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
NURBS Surface• Parametric variables: u and v• Control points and their associated weights:
(m+1)(n+1)• Degrees of basis functions: (k-1) and (l-1)• Knot sequence:
• Parametric domain:
• Parametric variables: u and v• Control points and their associated weights:
(m+1)(n+1)• Degrees of basis functions: (k-1) and (l-1)• Knot sequence:
• Parametric domain:
ln
km
vvvuuu
+
+
<=<=<=<=<=<=
............
10
10
11
11
+−
+−
<=<=<=<=
nl
mk
vvvuuu
![Page 137: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/137.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
NURBS Surface• The same principle to generate curves via
projection• Idea: associate weights with control points• Generalization of B-spline surface
• The same principle to generate curves via projection
• Idea: associate weights with control points• Generalization of B-spline surface
![Page 138: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/138.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Rectangular Surface
![Page 139: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/139.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Hermite Surfaces• How about Hermite surfaces???• Hermite Curve
• C(0) is not a curve s(0,v) which is also a HermiteCurve:
• How about Hermite surfaces???• Hermite Curve
• C(0) is not a curve s(0,v) which is also a HermiteCurve:
[ ]⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
)1(')0(')1()0(
)()()()()( 3210
cccc
c uHuHuHuHu
[ ]⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
)1,0()0,0(
)1,0()0,0(
)()()()(),0( 3210
v
v
vHvHvHvHvs
ssss
![Page 140: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/140.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Hermite Surfaces• Similarly, c(1) is now a curve s(1,v) which is
also a Hermite curve:
• The same are for c’(0) and c’(1):
• Similarly, c(1) is now a curve s(1,v) which is also a Hermite curve:
• The same are for c’(0) and c’(1):
[ ]⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
)1,1()0,1(
)1,1()0,1(
)()()()(),1( 3210
v
v
vHvHvHvHvs
ssss
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
)1,1()0,1(
)1,1()0,1(
)(),1(
)1,0()0,0(
)1,0()0,0(
)(),0(
uv
uv
u
u
u
uv
uv
u
u
u
vHv
vHv
ssss
s
ssss
s
![Page 141: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/141.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Hermite Surfaces• It is time to put them together!
• Continuity conditions for surfaces• Bezier surfaces, B-splines, NURBS, Hermite
surfaces• C1 and G1 continuity
• It is time to put them together!
• Continuity conditions for surfaces• Bezier surfaces, B-splines, NURBS, Hermite
surfaces• C1 and G1 continuity
T
uvuvuu
uvuvuu
vv
vv
vHuHvu )(
)1,1()0,1()1,1()0,1()1,0()0,0()1,0()0,0()1,1()0,1()1,1()0,1()1,0()0,0()1,0()0,0(
)(),(
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
ssssssssssssssss
s
![Page 142: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/142.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Hermite Surfaces
![Page 143: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/143.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 144: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/144.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surface Normal
![Page 145: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/145.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surface Rendering• Parametric grids ([0,1]X[0,1]) as a set of
rectangles• Parametric grids ([0,1]X[0,1]) as a set of
rectangles
![Page 146: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/146.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surface (Patch) Rendering• We use bicubic as an example• The simplest (naïve): convert curved patches into
primitives that we always know how to render• From curved surfaces to polygon quadrilaterals (non-
planar) and/or triangles (planar)• Surface evaluation at grid points• This is straight forward but inefficient, because it
requires many times of evaluation of s(u,v)• The total number is
• We use bicubic as an example• The simplest (naïve): convert curved patches into
primitives that we always know how to render• From curved surfaces to polygon quadrilaterals (non-
planar) and/or triangles (planar)• Surface evaluation at grid points• This is straight forward but inefficient, because it
requires many times of evaluation of s(u,v)• The total number is
vu δδ113
![Page 147: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/147.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surface Rendering• Parametric grids ([0,1]X[0,1]) as a set of
rectangles• Parametric grids ([0,1]X[0,1]) as a set of
rectangles
![Page 148: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/148.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surface Rendering• Better approach: precomputation
• M is constant throughout the entire patch. The followings are the same along isoparametriclines
• Use one dimensional array to compute and store (evaluation only once)
• Better approach: precomputation
• M is constant throughout the entire patch. The followings are the same along isoparametriclines
• Use one dimensional array to compute and store (evaluation only once)
[ ]⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=
1
1),(2
2
3
123
vvv
Muuuvus
[ ][ ]1
123
23
vvvuuu
![Page 149: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/149.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surface Rendering• How about many patches: the array is
unchanged, its sampling rate is the same, this is more useful
• How about adaptive sampling based on curvature information!!!
• How to computer normal at any grid point (approximation)
• How about many patches: the array is unchanged, its sampling rate is the same, this is more useful
• How about adaptive sampling based on curvature information!!!
• How to computer normal at any grid point (approximation)
)),(),(()),(),((),(),(
vuvvuvuvuuvuvu vu
ssssss
−+×−+×
δδ
![Page 150: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/150.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Regular Surface• Generated from a set of control points. • Generated from a set of control points.
![Page 151: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/151.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Curve Network
![Page 152: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/152.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Coons Patch
)1,()0,(),1(),0(
uuvv
s,ss,s
![Page 153: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/153.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Coons Patch
),1(),0( vv s,s
![Page 154: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/154.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Coons Patch
)1,()0,( uu s,s
![Page 155: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/155.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Coons Patch
)1,()0,(),1(),0(
uuvv
s,ss,s
![Page 156: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/156.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Coons Patch• Bilinearly blended Coons patch
• Bicubically blended Coons patch
• Bilinearly blended Coons patch
• Bicubically blended Coons patch)()1,()()0,()(
)(),1()(),0()(
)()()(
11
102
11
101
212121
vLuvLuP
uLvuLvP
PPPPPPP
fff
fff
fff
+=
+=
−+=⊕=
)()1,()()1,()()0,()()0,()(
)(),1()(),1()(),0()(),0()(33
32
31
302
33
32
31
301
vHuvHuvHuvHuP
uHvuHvuHvuHvP
vv
uu
fffff
fffff
+++=
+++=
![Page 157: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/157.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Coons Patch
)1,(),1,()0,()0,(
),1(),,1(),0(),0(
uuuu
vvvv
v
v
u
u
sss,ssss,s
![Page 158: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/158.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Gordon Surfaces• Generalization of Coons techniques• A set of curves
• Boolean sum using Lagrange polynomials
• Generalization of Coons techniques• A set of curves
• Boolean sum using Lagrange polynomialsmjvu
nivu
j
i
,......,0),,(,......,0),,(
==
ff
fff
ff
ff
)()()(
)(),()(
)(),()(
212121
02
01
PPPPPPP
vLvuP
uLvuP
m
j
mjj
n
i
nii
−+=⊕=
=
=
∑
∑
=
=
![Page 159: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/159.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Transfinite Methods• Bilinearly blended Coons patch
– Interpolate four boundary curves• Bicubically blended Coons patch
– Interpolate curves and their derivatives• Gordon surfaces
– Interpolate a curve-network• Triangular extension
– Interpolate over triangles
• Bilinearly blended Coons patch– Interpolate four boundary curves
• Bicubically blended Coons patch– Interpolate curves and their derivatives
• Gordon surfaces– Interpolate a curve-network
• Triangular extension– Interpolate over triangles
![Page 160: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/160.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 161: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/161.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Surfaces
![Page 162: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/162.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Recursive Subdivision Algorithm
![Page 163: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/163.jpg)
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
=
−=
−=
−=
![Page 164: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/164.jpg)
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
=
−
![Page 165: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/165.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Properties• Basis functions are non-negative• The summation of all basis functions is unity• End-point interpolation• Binomial expansion theorem
• Convex hull: the curve is bounded by the convex hull defined by control points
• Basis functions are non-negative• The summation of all basis functions is unity• End-point interpolation• Binomial expansion theorem
• Convex hull: the curve is bounded by the convex hull defined by control points
npc,pc == )1()0( 0
inin
i
n uuin
uu −
=
−⎟⎟⎠
⎞⎜⎜⎝
⎛=+− ∑ )1())1((
0
![Page 166: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/166.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Properties• Basis functions are non-negative• The summation of all basis functions is unity• End-point interpolation• Binomial expansion theorem
• Convex hull: the curve is bounded by the convex hull defined by control points
• Basis functions are non-negative• The summation of all basis functions is unity• End-point interpolation• Binomial expansion theorem
• Convex hull: the curve is bounded by the convex hull defined by control points
npc,pc == )1()0( 0
inin
i
n uuin
uu −
=
−⎟⎟⎠
⎞⎜⎜⎝
⎛=+− ∑ )1())1((
0
![Page 167: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/167.jpg)
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 evaluated at the end-
points• Second derivatives at end-points can also be
easily computed:
• Tangent vectors can easily 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(
+−=−−−×=
+−=−−−×=
![Page 168: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/168.jpg)
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
−+−−+−−
=+−−+−−−+−−=
![Page 169: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/169.jpg)
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
![Page 170: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/170.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Barycentric Coordinates
RS
T
V
)();();(
1
RSrtsSTsrtTStsrtTsSrRV
tsr
→→→++=
=++
![Page 171: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/171.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Bezier Patch• Triangular Bezier surface
• Where r+s+t=1, and they are local barycentriccoordinates
• Basis functions are Bernstein polynomials of degree n
• Triangular Bezier surface
• Where r+s+t=1, and they are local barycentriccoordinates
• Basis functions are Bernstein polynomials of degree n
∑=++
>=
=nkji
kji
nkjikji tsrBvu
0,,,,,, ),,(),( ps
kjinkji tsr
kjintsrB
!!!!),,(,, =
![Page 172: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/172.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Bezier Patch• How many control points and basis functions:
• Partition of unity
• Positivity
• How many control points and basis functions:
• Partition of unity
• Positivity
)2)(1(21
++ nn
∑>=
=0,,
,, 1),,(kji
nkji tsrB
]1,0[,,;0),,(,, ∈>= tsrtsrBnkji
![Page 173: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/173.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Recursive Evaluation
n
lkji
lkji
lkji
lkji
kjikji
vu
kjilnkjitsr
0,0,0
11,,
1,1,
1,,1,,
,,0
,,
),(
0,,,;
ps
pppp
pp
=
>=−=++++=
=−
+−+
−+
![Page 174: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/174.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Properties• Efficient algorithms• Recursive evaluation• Directional derivatives• Degree elevation• Subdivision• Composite surfaces
• Efficient algorithms• Recursive evaluation• Directional derivatives• Degree elevation• Subdivision• Composite surfaces
![Page 175: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/175.jpg)
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
![Page 176: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/176.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Bezier Surface
![Page 177: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/177.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Recursive Evaluation
![Page 178: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/178.jpg)
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
![Page 179: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/179.jpg)
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
![Page 180: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/180.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Patch Subdivision
![Page 181: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/181.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular Domain
![Page 182: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/182.jpg)
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 =
![Page 183: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/183.jpg)
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 =
![Page 184: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/184.jpg)
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
![Page 185: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/185.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 186: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/186.jpg)
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
HsrHsrDHtrDHtrQ αααα αα
![Page 187: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/187.jpg)
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 αα
![Page 188: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/188.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Triangular B-splines
![Page 189: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/189.jpg)
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
![Page 190: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/190.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spherical Parameterization
![Page 191: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/191.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spherical Parameterization
![Page 192: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/192.jpg)
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
![Page 193: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/193.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Shape Morphing
![Page 194: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/194.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Morphing
![Page 195: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/195.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Multiresolution Mapping
• Multiresolution morphing• Multiresolution morphing
![Page 196: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/196.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Feature Mapping
![Page 197: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/197.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Texture Mapping
![Page 198: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/198.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 199: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/199.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Solid
![Page 200: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/200.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Parametric Solids• Tricubic solid
• Bezier solid
• B-spline solid
• NURBS solid
• Tricubic solid
• Bezier solid
• B-spline solid
• NURBS solid
]1,0[,,
),,(3
0
3
0
3
0
∈
= ∑ ∑ ∑= = =
wvu
wvuwvui j k
kjiijkap
∑∑∑=i j k
kjiijk wBvBuBwvu )()()(),,( pp
∑∑∑=i j k
KkJjIiijk wBvBuBwvu )()()(),,( ,,,pp
∑ ∑ ∑∑ ∑ ∑
=
i j kKkJjIiijk
i j kKkJjIiijkijk
wBvBuBq
wBvBuBqwvu
)()()(
)()()(),,(
,,,
,,,pp
![Page 201: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/201.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Parametric Solids• Tricubic Hermite solid• In general
• Also known as “hyperpatch”• Parametric solids represent both exterior and interior• Examples
– A rectangular sold, a trilinear solid
• Boundary elements– 8 corner points, 12 curved edges, and 6 curved faces
• Tricubic Hermite solid• In general
• Also known as “hyperpatch”• Parametric solids represent both exterior and interior• Examples
– A rectangular sold, a trilinear solid
• Boundary elements– 8 corner points, 12 curved edges, and 6 curved faces
]1,0[,,),,(),,(),,(
),,(
∈
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
wvuwvuzwvuywvux
wvup
![Page 202: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/202.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Curves, Surfaces, and Solids• Isoparametric curves for surfaces
• Isoparametric curves for solids
• Isoparametric surfaces for solids
• Isoparametric curves for surfaces
• Isoparametric curves for solids
• Isoparametric surfaces for solids
..;
),(),(),(
constvconstu
vuvuvu
ji
ji
==
s,s,s
),,(),,(),,(),,( kjkiji wvuwvuwvuwvu s,s,s,s
),,(),,(),,(),,( kji wvuwvuwvuwvu s,s,s,s
![Page 203: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/203.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Curves, Surfaces, and Solids• Non-isoparametric curves for surfaces
• Non-isoparametric curves for solids
• Non-isoparametric surfaces for solids
• Non-isoparametric curves for surfaces
• Non-isoparametric curves for solids
• Non-isoparametric surfaces for solids
))(),(()()(
)(
),(
tvtutvtu
t
vu
s
c
s
⎥⎦
⎤⎢⎣
⎡=
))(),(),(()(
)()(
)(
),,(
twtvtutwtvtu
t
wvu
s
c
s
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
)),(),,(),,((),,( bawbavbauwvu ss =
![Page 204: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/204.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
CSE530-11
![Page 205: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/205.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surfaces of Revolution
x y
z
![Page 206: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/206.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surfaces of Revolution• Geometric construction
– Specify a planar curve profile on y-z plane– Rotate this profile with respect to z-axis
• Procedure-based model• What kinds of shape can we model?• Review: three dimensional rotation w.r.t. z-axis
• Geometric construction– Specify a planar curve profile on y-z plane– Rotate this profile with respect to z-axis
• Procedure-based model• What kinds of shape can we model?• Review: three dimensional rotation w.r.t. z-axis
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
zyx
zyx
1000)cos()sin(0)sin()cos(
'''
θθθθ
![Page 207: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/207.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Surfaces of Revolution• Mathematics: surfaces of revolution• Mathematics: surfaces of revolution
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
)()cos()()sin()(
),(
)()(
0)(
uzvuyvuy
vu
uzuyu
s
c
![Page 208: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/208.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Frenet Frames• Motivation: attach a smoothly-varying
coordinate system to any location of a curve• Three independent direction vectors for a 3D
coordinate system: (1) tangent; (2) bi-normal; (3) normal
• Frenet coordinate system (frame) (t,b,n) varies smoothly, as we move along the curve c(u)
• Motivation: attach a smoothly-varying coordinate system to any location of a curve
• Three independent direction vectors for a 3D coordinate system: (1) tangent; (2) bi-normal; (3) normal
• Frenet coordinate system (frame) (t,b,n) varies smoothly, as we move along the curve c(u)
))()(()())()(()(
))(()(
uunormalizeuuunormalizeu
unormalizeu
uuu
u
tbnccb
ct
×=×=
=
![Page 209: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/209.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Frenet Coordinate System
t
b
n
)()(
)(
uu
u
uu
u
ccc
![Page 210: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/210.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Sweeping Surface
xy
z
x
y
![Page 211: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/211.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
General Sweeping Surfaces• Surface of revolution is a special case of a sweeping
surface• Idea: a profile curve and a trajectory curve
• Move a profile curve along a trajectory curve to generate a sweeping surface
• Question: how to orient the profile curve as it moves along the trajectory curve?
• Answer: various options
• Surface of revolution is a special case of a sweeping surface
• Idea: a profile curve and a trajectory curve
• Move a profile curve along a trajectory curve to generate a sweeping surface
• Question: how to orient the profile curve as it moves along the trajectory curve?
• Answer: various options
)()(
2
1
vu
cc
![Page 212: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/212.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
General Sweeping Surfaces• Fixed orientation, simple translation of the
coordinate system of the profile curve along the trajectory curve
• Rotation: if the trajectory curve is a circle• Move using the “Frenet Frame” of the trajectory
curve, smoothly varying orientation• Example: surface of revolution• Differential geometry fundamentals: Frenet
frame
• Fixed orientation, simple translation of the coordinate system of the profile curve along the trajectory curve
• Rotation: if the trajectory curve is a circle• Move using the “Frenet Frame” of the trajectory
curve, smoothly varying orientation• Example: surface of revolution• Differential geometry fundamentals: Frenet
frame
![Page 213: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/213.jpg)
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!
![Page 214: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/214.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Ruled Surfaces
![Page 215: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/215.jpg)
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
+=+−=
+−=
![Page 216: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/216.jpg)
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???
![Page 217: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/217.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Developable Surface
![Page 218: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/218.jpg)
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
(e.g., sphere, ellipsoid, torus, superquadrics, blobby, etc.)
• Motivation: – Fewer degrees of freedom– More geometric coverage
• Parametric curves and surfaces• Polynomials and rational polynomials• Free-form curves and surfaces• Other commonly-used geometric primitives
(e.g., sphere, ellipsoid, torus, superquadrics, blobby, etc.)
• Motivation: – Fewer degrees of freedom– More geometric coverage
![Page 219: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/219.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 220: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/220.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Straight Line
042 =−+ yx
042 <−+ yx
042 >−+ yx
![Page 221: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/221.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Straight Line• Mathematics
• Example
• Mathematics
• Example
0)(0)(
0
=++−=+++
=++
cyaxcbyax
cbyax
αα
042 =−+ yx
![Page 222: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/222.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Circle
0122 =−+ yx
0122 <−+ yx
0122 >−+ yx
![Page 223: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/223.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Conic Sections• Mathematics• Examples
– Ellipse– Hyperbola– Parabola– Empty set– Point– Pair of lines– Parallel lines– Repeated lines
• Mathematics• Examples
– Ellipse– Hyperbola– Parabola– Empty set– Point– Pair of lines– Parallel lines– Repeated lines
02 22 =+++++ feydxcybxyax
02072
032032
0132032
05320532
2
2
22
22
22
2
22
22
=
=−
=−
=+
=++
=+
=−−
=−+
xx
yxyxyxyxyxyx
![Page 224: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/224.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Conics • Parametric equations of conics• Generalization to higher-degree curves• How about non-planar (spatial) curves
• Parametric equations of conics• Generalization to higher-degree curves• How about non-planar (spatial) curves
![Page 225: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/225.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Plane
01=−++ zyx
![Page 226: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/226.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Plane and Intersection
apbp
cp
n
![Page 227: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/227.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Plane • Example• General plane equation• Normal of the plane
• Arbitrary point on the plane
• Example• General plane equation• Normal of the plane
• Arbitrary point on the plane
01 =−++ zyx
0=+++ yczbyax
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
cba
n
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
z
y
x
a
aaa
p
![Page 228: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/228.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Plane• Plane equation derivation
• Parametric representation (given three points on the plane and they are non-collinear!)
• Plane equation derivation
• Parametric representation (given three points on the plane and they are non-collinear!)
0)(
0)()()(
=++−++
=−+−+−
cabaaaczbyax
cazbayaax
zyx
zyx
vuvu acaba )p(p)p(pp)p( −+−+=,
![Page 229: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/229.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Plane • Explicit expression (if c is non-zero)
• Line-Plane intersection
• Explicit expression (if c is non-zero)
• Line-Plane intersection
)(1 dbyaxc
z ++−=
)()()(
0))()(
01
0
01
0
010
010
ppp
npnpnp
)p(p(pn)p(ppl
planeplaneplaneu
duuu
−−=
−−=
=+−+−+=
![Page 230: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/230.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Circle• Implicit equation• Parametric function
• Parametric representation using rational polynomials (the first quadrant)
• Parametric representation is not unique!
• Implicit equation• Parametric function
• Parametric representation using rational polynomials (the first quadrant)
• Parametric representation is not unique!
0122 =−+ yx
πθθθ
θ
20)sin()cos(
)(
<=<=
⎥⎦
⎤⎢⎣
⎡=c
]1,0[1
2)(
11)(
2
2
2
∈+
=
+−
=
uuuuy
uuux
![Page 231: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/231.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
CSE530-13
![Page 232: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/232.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
0),( =yxf
),( yxfz =
![Page 233: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/233.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Implicit Equations for Curves• Describe an implicit relationship• Planar curve (point set)• The implicit function is not unique
• Comparison with parametric representation
• Describe an implicit relationship• Planar curve (point set)• The implicit function is not unique
• Comparison with parametric representation
}0),(|),{( =yxfyx
}0),(|),{(}0),(|),{(
=−=+
yxfyxyxfyx
αα
⎥⎦
⎤⎢⎣
⎡=
)()(
)(uyux
up
![Page 234: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/234.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Implicit Equations for Curves• Implicit function is a level-set
• Examples (straight line and conic sections)
• Other examples– Parabola, two parallel lines, ellipse, hyperbola, two
intersection lines
• Implicit function is a level-set
• Examples (straight line and conic sections)
• Other examples– Parabola, two parallel lines, ellipse, hyperbola, two
intersection lines
⎩⎨⎧
==
0),(
zyxfz
020
22 =+++++
=++
feydxcybxyaxcbyax
![Page 235: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/235.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Implicit Functions for Curves• Parametric equations of conics• Generalization to higher-degree curves• How about non-planar (spatial) curves
• Parametric equations of conics• Generalization to higher-degree curves• How about non-planar (spatial) curves
![Page 236: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/236.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Implicit Equations for Surfaces• Surface mathematics• Again, the implicit function for surfaces is not
unique
• Comparison with parametric representation
• Surface mathematics• Again, the implicit function for surfaces is not
unique
• Comparison with parametric representation
}0),,(|),,{( =zyxfzyx
}0),,(|),,{(}0),,(|),,{(
=−=+
zyxfzyxzyxfzyx
αα
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
),(),(),(
),(vuzvuyvux
vup
![Page 237: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/237.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Implicit Equations for Surfaces• Surface defined by implicit function is a level-set
• Examples– Plane, quadric surfaces, tori, superquadrics, blobby
objects• Parametric representation of quadric surfaces• Generalization to higher-degree surfaces
• Surface defined by implicit function is a level-set
• Examples– Plane, quadric surfaces, tori, superquadrics, blobby
objects• Parametric representation of quadric surfaces• Generalization to higher-degree surfaces
⎩⎨⎧
==
0),,(
wzyxfw
![Page 238: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/238.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Quadric Surfaces• Implicit functions• Examples
– Sphere– Cylinder– Cone– Paraboloid– Ellipsoid– Hyperboloid
• More – Two parallel planes, two intersecting planes, single plane,
line, point
• Implicit functions• Examples
– Sphere– Cylinder– Cone– Paraboloid– Ellipsoid– Hyperboloid
• More – Two parallel planes, two intersecting planes, single plane,
line, point
0222 =+++++++++ kjzhygxfyzexzdxyczbyax
0405432
00
0101
222
222
22
222
22
222
=+−+
=−++
=++
=−+
=−+
=−++
zyxzyx
zyxzyx
yxzyx
![Page 239: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/239.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Quadrics: Parametric Rep.• Sphere
• Ellipsoid
• Geometric meaning of these parameters
• Sphere
• Ellipsoid
• Geometric meaning of these parameters
],[];2
,2
[
)sin()sin()cos()cos()cos(02222
ππβππα
αβαβα
−∈−∈
===
=−++
rzryrx
rzyx
],[];2
,2
[
)sin()sin()cos()cos()cos(
012
2
2
2
2
2
ππβππα
αβαβα
−∈−∈
===
=−++
czbyax
cz
by
ax
![Page 240: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/240.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Generalization• Higher-degree polynomials
• Non polynomials
• Higher-degree polynomials
• Non polynomials
∑ ∑ ∑ =i j k
kjiijk zyxa 0
![Page 241: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/241.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Superquadrics• Geometry (generalization of quadrics)• Superellipse• Superellipsoid
• Parametric representation
• What is the meaning of these control parameters?
• Geometry (generalization of quadrics)• Superellipse• Superellipsoid
• Parametric representation
• What is the meaning of these control parameters?
012
2
2
1 =−⎟⎠⎞
⎜⎝⎛+⎟
⎠⎞
⎜⎝⎛ ss
ay
ax
013
2
2
2
1
1
2
22
=−⎟⎟⎠
⎞⎜⎜⎝
⎛+
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎟⎟⎠
⎞⎜⎜⎝
⎛+⎟⎟
⎠
⎞⎜⎜⎝
⎛az
ay
ax
ss
ss
),[];2
,2
[
)(sin)(sin)(cos)(sin)(cos
2
21
21
3
2
1
ππβππα
αβαβα
−∈−∈
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
s
ss
ss
aaa
zyx
![Page 242: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/242.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Algebraic Function• Parametric representation is popular, but…• Formulation
• Properties…– Powerful, but lack of modeling tools
• Parametric representation is popular, but…• Formulation
• Properties…– Powerful, but lack of modeling tools
∑ ∑ ∑ =i j k
kjiijk zyxa 0
![Page 243: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/243.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Algebraic Patch
Tetrahedron
Control point, weight
Algebraic patch
![Page 244: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/244.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Algebraic Patch• A tetrahedron with non-planar vertices
• Trivariate barycentric coordinate (r,s,t,u) for p
• A regular lattice of control points and weights
• A tetrahedron with non-planar vertices
• Trivariate barycentric coordinate (r,s,t,u) for p
• A regular lattice of control points and weights
nnnn 000000000000 ,,, vvvv
1000000000000
=++++++=
utsrutsr nnnn vvvvp
nlkjilkjin
lkji nnnnijkl
=+++>=
+++=
;0,,,
000000000000 vvvvp
![Page 245: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/245.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Algebraic Patch• There are (n+1)(n+2)(n+3)/6 control points. A
weight w(I,j,k,l) is also assigned to each control point
• Algebraic patch formulation
• Properties– Meaningful control, local control, boundary
interpolation, gradient control, self-intersection avoidance, continuity condition across the boundaries, subdivision
• There are (n+1)(n+2)(n+3)/6 control points. A weight w(I,j,k,l) is also assigned to each control point
• Algebraic patch formulation
• Properties– Meaningful control, local control, boundary
interpolation, gradient control, self-intersection avoidance, continuity condition across the boundaries, subdivision
0!!!!
!=∑∑∑ ∑
−−−=
lkji
i j k kjinlijkl utsr
lkjinw
![Page 246: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/246.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Spatial Curves• Intersection of two surfaces• Intersection of two surfaces
⎩⎨⎧
==
0),,(0),,(
zyxgzyxf
![Page 247: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/247.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Algebraic Solid• Half space
• Useful for complex objects (refer to notes on solid modeling)
• Half space
• Useful for complex objects (refer to notes on solid modeling)
}0),,(|),,{(};0),,(|),,{(
>=<=
zyxfzyxorzyxfzyx
0f =
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
Λ),,(),,(),,(
),,(3
2
1
zyxfzyxfzyxf
zyx
![Page 248: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/248.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Volume Datasets
![Page 249: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/249.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Isosurface Rendering
Isovalue =30IsovalueIsovalue =30=30 Isovalue =100IsovalueIsovalue =100=100 Isovalue =200IsovalueIsovalue =200=200
![Page 250: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/250.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
Direct Volume Rendering
![Page 251: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/251.jpg)
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
![Page 252: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/252.jpg)
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
![Page 253: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/253.jpg)
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
![Page 254: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/254.jpg)
Spring, 2005CSE530 Lecture Notes ST NY BR KSTATE UNIVERSITY OF NEW YORK
Department of Computer Science
Center for Visual Computing
![Page 255: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/255.jpg)
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
![Page 256: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/256.jpg)
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)
![Page 257: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/257.jpg)
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)
![Page 258: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/258.jpg)
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)
![Page 259: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/259.jpg)
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
![Page 260: 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](https://reader033.vdocuments.us/reader033/viewer/2022051814/6038334b66f852398e237005/html5/thumbnails/260.jpg)
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)