Interpolatory, Non-Stationary Subdivision for Surfaces of Revolution

advertisement
Geometric Modeling
CSCE 645/VIZA 675
Dr. Scott Schaefer
1
Course Information

Instructor
 Dr. Scott Schaefer
 HRBB 527B
 Office Hours: MW 10:15am – 11:15am
(or by appointment)

Website:
http://courses.cs.tamu.edu/schaefer/645_Fall2010
2/55
Geometric Modeling

Surface representations
 Industrial design
3/55
Geometric Modeling

Surface representations
 Industrial design
 Movies and animation
4/55
Geometric Modeling
Surface representations
 Industrial design
 Movies and animation
 Surface reconstruction/Visualization

5/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
6/55
What you’re expected to know

Programming Experience
 Assignments in C/C++

Simple Mathematics
Graphics is mathematics made visible
7/55
How much math?




General geometry/linear algebra
Matrices
 Multiplication, inversion, determinant,
eigenvalues/vectors
Vectors
 Dot product, cross product, linear independence
Proofs
 Induction
8/55
Required Textbook
9/55
Grading
50% Homework
 50% Class Project


No exams!
10/55
Class Project


Topic: your choice
 Integrate with research
 Originality
Reports
 Proposal: 9/15
 Update #1: 10/13
 Update #2: 11/10
 Final report/presentation: 12/13
11/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_Fall2010/assignments/project.html
12/55
Questions?
13/55
Vectors
v
14/55
Vectors
u
v
v u  ?
15/55
Vectors
vu
u
v
16/55
Vectors
vu
u
v
u
v
v u  ?
17/55
Vectors
vu
u
v
u
v u
v
18/55
Vectors
vu
u
v
u
v u
v
v
cv  ?
19/55
Vectors
vu
u
v
u
v u
cv
v
v
20/55
Points
q
p
pq ?
21/55
Points
q
p
p  q  undefined
22/55
Points
q
p
pq
?
2
23/55
Points
p
pq
2
q
24/55
Points
1 p=p
 0 p=0 (vector)
 c p=undefined where c  0,1
 p – q = v (vector)

25/55
Points
n
c
k 0
k
pk
26/55
Points
n
 n

ck pk    ck  p0   ck  pk  p0 

k 0
k 0
 k 0 
n
27/55
Points
n
 n

ck pk    ck  p0   ck  pk  p0 

k 0
k 0
 k 0 
n
n
c
k 0
k
0
28/55
Points
n
 n

ck pk    ck  p0   ck  pk  p0 

k 0
k 0
 k 0 
n
n
 n

ck  0   ck pk    ck  p0   ck  pk  p0 

k 0
k 0
k 0
 k 0 
n
n
29/55
Points
n
 n

ck pk    ck  p0   ck  pk  p0 

k 0
k 0
 k 0 
n
n
c
k 0
k
n
n
k 0
k 0
 0   ck pk   ck  pk  p0   vector
30/55
Points
n
 n

ck pk    ck  p0   ck  pk  p0 

k 0
k 0
 k 0 
n
n
k 0
k 0
k 0
 0   ck pk   ck  pk  p0   vector
k
1
n
c
n
k
c
k 0
n
31/55
Points
n
 n

ck pk    ck  p0   ck  pk  p0 

k 0
k 0
 k 0 
n
n
c
k 0
k
n
n
k 0
k 0
 0   ck pk   ck  pk  p0   vector
n
 n

ck  1   ck pk    ck  p0   ck  pk  p0 

k 0
k 0
k 0
 k 0 
n
n
32/55
Points
n
 n

ck pk    ck  p0   ck  pk  p0 

k 0
k 0
 k 0 
n
n
c
k 0
k
n
c
k 0
k
n
n
k 0
k 0
 0   ck pk   ck  pk  p0   vector
n
n
k 0
k 0
 1   ck pk  p0   ck  pk  p0   point
33/55
Barycentric Coordinates
p1
p2
p3
34/55
Barycentric Coordinates
v    k pk
k
p1
v
p2
p3
35/55
Barycentric Coordinates
v    k pk
k
p1

k
1
k
v
p2
p3
36/55
Barycentric Coordinates
v    k pk
k
p1

k
1
k
v  p1 p2 p3   k  0
v
p2
p3
37/55
Barycentric Coordinates
v    k pk
k
p1

k
1
k
v  p1 p2 p3   k  0
v  pk pk 1   j  k ,k 1  0
v
p2
p3
38/55
Barycentric Coordinates
v    k pk
k
p1

k
1
k
 p1

1
v
p2
p2
1
 1 
p3    v 
  2    
1    1 
3 
p3
39/55
Barycentric Coordinates
v    k pk
p1
k

k
1
k
v
p2
 1 
   p1
  2   
   1
 3
p3
p2
1
p3 

1
1
v
 
1
40/55
Convex Sets
v    k pk
k

If  k  0, then the  k form a convex
combination
41/55
Convex Hulls

Smallest convex set containing all the pk
42/55
Convex Hulls

Smallest convex set containing all the pk
43/55
Convex Hulls

If pi and pj lie within the convex hull,
then the line pipj is also contained within the
convex hull
44/55
Convex Hulls

If pi and pj lie within the convex hull,
then the line pipj is also contained within the
convex hull
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
v
 k  0  v   k pk  ConvexHull  pk 
k

If pi and pj lie within the convex hull,
then the line pipj is also contained within the
convex hull
52/55
Affine Transformations

Preserve barycentric combinations
 (v )    k  ( pk )
k

Examples: translation, rotation, uniform
scaling, non-uniform scaling, shear
53/55
Other Transformations
Conformal
 Preserve angles under transformation
 Examples: translation, rotation, uniform
scaling
 Rigid
 Preserve angles and length under
transformation
 Examples: translation, rotation

54/55
Vector Spaces

A set of vectors vk are independent if
k , there does not exist  j s.t. vk    j v j
j k

The span of a set of vectors vk is
{v | v    k vk }
k

A basis of a vector space  is a set of
independent vectors vk such that
v  , v  span (vk )
55/55
Download