Geometric Modeling CSCE 645/VIZA 675
description
Transcript of Geometric Modeling CSCE 645/VIZA 675
1
Dr. Scott Schaefer
Geometric Modeling CSCE 645/VIZA 675
2/55
Course Information
Instructor Dr. Scott Schaefer HRBB 527B Office Hours: MW 9:00am – 10:00am
(or by appointment)
Website: http://courses.cs.tamu.edu/schaefer/645_Spring2013
3/55
Geometric Modeling
Surface representations Industrial design
4/55
Geometric Modeling
Surface representations Industrial design Movies and animation
5/55
Geometric Modeling
Surface representations Industrial design Movies and animation
Surface reconstruction/Visualization
6/55
Topics Covered Polynomial curves and surfaces
Lagrange interpolation Bezier/B-spline/Catmull-Rom curves Tensor Product Surfaces Triangular Patches Coons/Gregory Patches
Differential Geometry Subdivision curves and surfaces Boundary representations Surface Simplification Solid Modeling Free-Form Deformations Barycentric Coordinates
7/55
What you’re expected to know
Programming Experience Assignments in C/C++
Simple Mathematics
Graphics is mathematics made visible
8/55
How much math?
General geometry/linear algebra Matrices
Multiplication, inversion, determinant, eigenvalues/vectors
Vectors Dot product, cross product, linear independence
Proofs Induction
9/55
Required Textbook
10/55
Grading
50% Homework 50% Class Project
No exams!
11/55
Class Project
Topic: your choice Integrate with research Originality
Reports Proposal: 2/7 Update #1: 3/7 Update #2: 4/9 Final report/presentation: 4/25
12/55
Class Project Grading
10% Originality 20% Reports (5% each) 5% Final Oral Presentation 65% Quality of Work
http://courses.cs.tamu.edu/schaefer/645_Spring2013/assignments/project.html
Honor Code
Your work is your own You may discuss concepts with others Do not look at other code.
You may use libraries not related to the main part of the assignment, but clear it with me first just to be safe.
13/55
14/55
Questions?
15/55
Vectors
v
16/55
Vectors
v
u
?uv
17/55
Vectors
v
uuv
18/55
Vectors
v
uuv
v
u
? uv
19/55
Vectors
v
uuv
vu
uv
20/55
Vectors
v
uuv
v
?vcvu
uv
21/55
Vectors
v
uuv
v
vc
vu
uv
22/55
Points
p
q
? qp
23/55
Points
p
q
undefinedqp
24/55
Points
p
q
?2
qp
25/55
Points
p
q
2
qp
26/55
Points
1 p=p 0 p=0 (vector) c p=undefined where c 0,1 p – q = v (vector)
27/55
Points
n
kkk pc
0
28/55
Points
n
kkk
n
kk
n
kkk ppcpcpc
000
00
29/55
Points
n
kkk
n
kk
n
kkk ppcpcpc
000
00
00
n
kkc
30/55
Points
n
kkk
n
kk
n
kkk ppcpcpc
000
00
n
kkk
n
kk
n
kkk
n
kk ppcpcpcc
000
000
0
31/55
Points
n
kkk
n
kk
n
kkk ppcpcpc
000
00
vectorppcpccn
kkk
n
kkk
n
kk
00
00
0
32/55
Points
n
kkk
n
kk
n
kkk ppcpcpc
000
00
vectorppcpccn
kkk
n
kkk
n
kk
00
00
0
10
n
kkc
33/55
Points
n
kkk
n
kk
n
kkk ppcpcpc
000
00
vectorppcpccn
kkk
n
kkk
n
kk
00
00
0
n
kkk
n
kk
n
kkk
n
kk ppcpcpcc
000
000
1
34/55
Points
n
kkk
n
kk
n
kkk ppcpcpc
000
00
vectorppcpccn
kkk
n
kkk
n
kk
00
00
0
pointppcppccn
kkk
n
kkk
n
kk
000
00
1
35/55
Barycentric Coordinates
1p
3p2p
36/55
Barycentric Coordinates
v
1p
3p2p
k
kk pv
37/55
Barycentric Coordinates
v
1p
3p2p
k
kk pv
1k
k
38/55
Barycentric Coordinates
v
1p
3p2p
k
kk pv
1k
k
0321 kpppv
39/55
Barycentric Coordinates
v
1p
3p2p
k
kk pv
1k
k
0321 kpppv 01,1 kkjkk ppv
40/55
Barycentric Coordinates
v
1p
3p2p
k
kk pv
1k
k
1111
3
2
1321 vppp
41/55
Barycentric Coordinates
v
1p
3p2p
k
kk pv
1k
k
1111
1
321
3
2
1 vppp
42/55
Convex Sets
If , then the form a convex combination
k
kk pv
0k k
43/55
Convex Hulls
Smallest convex set containing all the kp
44/55
Convex Hulls
Smallest convex set containing all the kp
45/55
Convex Hulls
If pi and pj lie within the convex hull,
then the line pipj is also contained within the convex hull
46/55
Convex Hulls
If pi and pj lie within the convex hull,
then the line pipj is also contained within the convex hull
47/55
Convex Hulls
If pi and pj lie within the convex hull,
then the line pipj is also contained within the convex hull
48/55
Convex Hulls
If pi and pj lie within the convex hull,
then the line pipj is also contained within the convex hull
49/55
Convex Hulls
If pi and pj lie within the convex hull,
then the line pipj is also contained within the convex hull
50/55
Convex Hulls
If pi and pj lie within the convex hull,
then the line pipj is also contained within the convex hull
51/55
Convex Hulls
If pi and pj lie within the convex hull,
then the line pipj is also contained within the convex hull
52/55
Convex Hulls
If pi and pj lie within the convex hull,
then the line pipj is also contained within the convex hull
53/55
Convex Hulls
If pi and pj lie within the convex hull,
then the line pipj is also contained within the convex hull
kk
kkk ppv ConvexHull0 v
54/55
Affine Transformations
Preserve barycentric combinations
Examples: translation, rotation, uniform scaling, non-uniform scaling, shear
k k
kkkk pvpv )()(
55/55
Other Transformations
Conformal Preserve angles under transformation Examples: translation, rotation, uniform
scaling Rigid
Preserve angles and length under transformation
Examples: translation, rotation
56/55
Vector Spaces
A set of vectors vk are independent if
The span of a set of vectors vk is
A basis of a vector space is a set of
independent vectors vk such that
kj
jjkj vvtsk ..existnotdoesthere,
}|{ k
kkvvv
)(span, kvvv