56
1 Dr. Scott Schaefer Geometric Modeling CSCE 645/VIZA 675

1 Dr. Scott Schaefer Geometric Modeling CSCE 645/VIZA 675

Embed Size (px)

Citation preview

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