Geometric Modeling
CSCE 645/VIZA 675
Dr. Scott Schaefer
1
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
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: 2/7
Update #1: 3/7
Update #2: 4/9
Final report/presentation: 4/25
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_Spring2013/assignments/project.html
12/55
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
Questions?
14/55
Vectors
v
15/55
Vectors
u
v
v u ?
16/55
Vectors
vu
u
v
17/55
Vectors
vu
u
v
u
v
v u ?
18/55
Vectors
vu
u
v
v
v u
u
19/55
Vectors
vu
u
v
v
v
v u
u
cv ?
20/55
Vectors
cv
vu
u
v
v
v
v u
u
21/55
Points
q
p
pq ?
22/55
Points
q
p
p q undefined
23/55
Points
q
p
pq
?
2
24/55
Points
p
pq
2
q
25/55
Points
1 p=p
0 p=0 (vector)
c p=undefined where c 0,1
p – q = v (vector)
26/55
Points
n
c
k 0
k
pk
27/55
Points
n
n
ck pk ck p0 ck pk p0
k 0
k 0
k 0
n
28/55
Points
n
n
ck pk ck p0 ck pk p0
k 0
k 0
k 0
n
n
c
k 0
k
0
29/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
30/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
31/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
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
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
33/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
34/55
Barycentric Coordinates
p1
p2
p3
35/55
Barycentric Coordinates
v k pk
k
p1
v
p2
p3
36/55
Barycentric Coordinates
v k pk
k
p1
k
1
k
v
p2
p3
37/55
Barycentric Coordinates
v k pk
k
p1
k
1
k
v p1 p2 p3 k 0
v
p2
p3
38/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
39/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
40/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
41/55
Convex Sets
v k pk
k
If k 0 , then the k form a convex
combination
42/55
Convex Hulls
Smallest convex set containing all the pk
43/55
Convex Hulls
Smallest convex set containing all the pk
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
If pi and pj lie within the convex hull,
then the line pipj is also contained within the
convex hull
52/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
53/55
Affine Transformations
Preserve barycentric combinations
v k pk (v) k ( pk )
k
k
Examples: translation, rotation, uniform
scaling, non-uniform scaling, shear
54/55
Other Transformations
Conformal
Preserve angles under transformation
Examples: translation, rotation, uniform
scaling
Rigid
Preserve angles and length under
transformation
Examples: translation, rotation
55/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 )
56/55
© Copyright 2026 Paperzz