scene graphs & modeling transformations...•julian beever. 46 projective transformations...

57
1 Scene Graphs & Modeling Transformations COS 426, Spring 2020 Felix Heide Princeton University

Upload: others

Post on 10-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

1

Scene Graphs &Modeling Transformations

COS 426, Spring 2020

Felix Heide

Princeton University

Page 2: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

2

3D Object Representations

• Points• Range image

• Point cloud

• Surfaces• Polygonal mesh

• Subdivision

• Parametric

• Implicit

• Solids• Voxels

• BSP tree

• CSG

• Sweep

• High-level structures• Scene graph

• Application specific

Page 3: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

3

3D Object Representations

• What object representation is best for this?

Page 4: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

4

3D Object Representations

• Desirable properties of an object representation• Easy to acquire• Accurate• Concise• Intuitive editing• Efficient editing• Efficient display• Efficient intersections• Guaranteed validity• Guaranteed smoothness• etc.

(CS Building, Princeton University)

Page 5: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

5

Overview

• Scene graphs• Geometry & attributes

• Transformations

• Bounding volumes

• Transformations• Basic 2D transformations

• Matrix representation

• Matrix composition

• 3D transformations

Page 6: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

6

Scene Graphs

Building

Floor 4 Floor5Floor 3Floor 2Floor 1

Chair KBookshelf 1

Desk ChairBookshelf

Desk 1 Desk 2 Chair 1

Floor Furniture

Office NOffice 1

Office Furniture

Definitions

Instances

Page 7: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

7

Scene Graphs

• Hierarchy (DAG) of nodes, where each may have:• Geometry representation

• Modeling transformation

• Parents and/or children

• Bounding volume

Base[M1]

Upper Arm[M2]

Lower Arm[M3]

Robot ArmAngel Figures 8.8 & 8.9

Page 8: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

8

Scene Graphs

• Advantages • Allows definitions of objects in own coordinate systems

y

x

z

Page 9: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

9

IcosahedronTetrahedronCube Octahedron Dodecahedron

Level B

Instance 4Instance 1

Level A

Instances

Definitions

Instance 4Instance 1

Scene

Instance 4Instance 1

Scene Graphs

• Advantages • Allows definitions of objects in own coordinate systems

• Allows use of object definition multiple times in a scene

H&B Figure 109

Page 10: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

10

Scene Graphs

• Advantages • Allows definitions of objects in own coordinate systems

• Allows use of object definition multiple times in a scene

• Allows hierarchical processing (e.g., intersections)

Haverkort

Page 11: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

11

Scene Graphs

• Advantages • Allows definitions of objects in own coordinate systems

• Allows use of object definition multiple times in a scene

• Allows hierarchical processing (e.g., intersections)

• Allows articulated animation Base[M1]

Upper Arm[M2]

Lower Arm[M3]

Robot ArmAngel Figures 8.8 & 8.9

Page 12: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

12

Scene Graph Example

Pixar

Page 13: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

13

Overview

• Scene graphs• Geometry & attributes

• Transformations

• Bounding volumes

• Transformations• Basic 2D transformations

• Matrix representation

• Matrix composition

• 3D transformations

Page 14: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

14

2D Modeling Transformations

ScaleRotate

Translate

ScaleTranslate

x

y

World Coordinates

Modeling

Coordinates

Page 15: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

15

2D Modeling Transformations

x

y

World Coordinates

Modeling

Coordinates

Let’s look

at this in

detail…

Page 16: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

16

2D Modeling Transformations

x

y

Modeling

Coordinates

Page 17: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

17

2D Modeling Transformations

x

y

Modeling

Coordinates

Scale .3, .3Rotate -90

Translate 5, 3

Page 18: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

18

2D Modeling Transformations

x

y

Modeling

Coordinates

Scale .3, .3Rotate -90

Translate 5, 3

Page 19: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

19

2D Modeling Transformations

x

y

Modeling

Coordinates

Scale .3, .3Rotate -90

Translate 5, 3

World Coordinates

Page 20: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

20

Basic 2D Transformations

• Translation:• x’ = x + tx• y’ = y + ty

• Scale:• x’ = x * sx • y’ = y * sy

• Shear:• x’ = x + hx*y• y’ = y + hy*x

• Rotation:• x’ = x*cosQ - y*sinQ• y’ = x*sinQ + y*cosQ

Transformations can be combined

(with simple algebra)

Page 21: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

21

Basic 2D Transformations

• Translation:• x’ = x + tx• y’ = y + ty

• Scale:• x’ = x * sx • y’ = y * sy

• Shear:• x’ = x + hx*y• y’ = y + hy*x

• Rotation:• x’ = x*cosQ - y*sinQ• y’ = x*sinQ + y*cosQ

Page 22: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

22

Basic 2D Transformations

• Translation:• x’ = x + tx• y’ = y + ty

• Scale:• x’ = x * sx• y’ = y * sy

• Shear:• x’ = x + hx*y• y’ = y + hy*x

• Rotation:• x’ = x*cosQ - y*sinQ• y’ = x*sinQ + y*cosQ

x’ = x*sx

y’ = y*sy

(x,y)

(x’,y’)

Page 23: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

23

Basic 2D Transformations

• Translation:• x’ = x + tx• y’ = y + ty

• Scale:• x’ = x * sx • y’ = y * sy

• Shear:• x’ = x + hx*y• y’ = y + hy*x

• Rotation:• x’ = x*cosQ - y*sinQ• y’ = x*sinQ + y*cosQ

x’ = (x*sx)*cosQ - (y*sy)*sinQ

y’ = (x*sx)*sinQ + (y*sy)*cosQ

(x’,y’)

Page 24: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

24

Basic 2D Transformations

• Translation:• x’ = x + tx• y’ = y + ty

• Scale:• x’ = x * sx • y’ = y * sy

• Shear:• x’ = x + hx*y• y’ = y + hy*x

• Rotation:• x’ = x*cosQ - y*sinQ• y’ = x*sinQ + y*cosQ

x’ = ((x*sx)*cosQ - (y*sy)*sinQ) + tx

y’ = ((x*sx)*sinQ + (y*sy)*cosQ) + ty

(x’,y’)

Page 25: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

25

Basic 2D Transformations

• Translation:• x’ = x + tx• y’ = y + ty

• Scale:• x’ = x * sx • y’ = y * sy

• Shear:• x’ = x + hx*y• y’ = y + hy*x

• Rotation:• x’ = x*cosQ - y*sinQ• y’ = x*sinQ + y*cosQ

x’ = ((x*sx)*cosQ - (y*sy)*sinQ) + tx

y’ = ((x*sx)*sinQ + (y*sy)*cosQ) + ty

Page 26: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

26

Overview

• Scene graphs• Geometry & attributes

• Transformations

• Bounding volumes

• Transformations• Basic 2D transformations

• Matrix representation

• Matrix composition

• 3D transformations

Page 27: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

27

Matrix Representation

• Represent 2D transformation by a matrix

• Multiply matrix by column vector apply transformation to point

=

yx

dcba

yx''

dcba

dycxy

byaxx

+=

+=

'

'

Page 28: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

28

Matrix Representation

• Transformations combined by multiplication

=

yx

lk

ji

hg

fedcba

yx''

Matrices are a convenient and efficient way

to represent a sequence of transformations

Page 29: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

29

=

yx

dcba

yx''

2x2 Matrices

• What types of transformations can be represented with a 2x2 matrix?

2D Identity?

yyxx

==''

=

yx

yx

1001

''

2D Scale around (0,0)?

ysyyxsxx

*'*'

==

=

yx

dcba

yx''

=

yx

sysx

yx

00

''

Page 30: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

30

2x2 Matrices

• What types of transformations can be represented with a 2x2 matrix?

2D Rotate around (0,0)?

yxyyxx

*cos*sin'*sin*cos'

Q+Q=Q-Q=

=

yx

dcba

yx''

QQQ-Q

=

yx

yx

cossinsincos

''

2D Shear?

yxshyyyshxxx

+=+=

*'*'

=

yx

dcba

yx''

=

yx

shyshx

yx

11

''

𝑠ℎ𝑥

Page 31: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

31

2x2 Matrices

• What types of transformations can be represented with a 2x2 matrix?

2D Mirror over Y axis?

yyxx

=-=

''

=

yx

dcba

yx''

-=

yx

yx

1001

''

2D Mirror over (0,0)?

yyxx

-=-=

''

=

yx

dcba

yx''

-

-=

yx

yx

1001

''

Page 32: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

32

=

yx

dcba

yx''

2x2 Matrices

• What types of transformations can be represented with a 2x2 matrix?

2D Translation?

tyyytxxx

+=+=

''

Only linear 2D transformations

can be represented with a 2×2 matrix

NO.

Page 33: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

33

Linear Transformations

• 2D linear transformations are combinations of …• Scale,

• Rotation,

• Shear, and

• Mirror

• Properties of linear transformations:• Satisfies:

• Origin maps to origin

• Points at infinity stay at infinity

• Lines map to lines

• Parallel lines remain parallel

• Ratios are preserved

• Closed under composition

)()()( 22112211 pppp TsTsssT +=+

=

y

x

dc

ba

y

x

'

'

Page 34: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

34

2D Translation

• 2D translation represented by a 3x3 matrix• Point represented with homogeneous coordinates

tyyytxxx

+=+=

''

=

1100

10

01

1

'

'

y

x

ty

tx

y

x

Page 35: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

35

Homogeneous Coordinates

• Add a 3rd coordinate to every 2D point• (x, y, w) represents a point at location (x/w, y/w)

• (x, y, 0) represents a point at infinity

• (x, 0, 0) and (0, y, 0) are not allowed

1 2

1

2(2,1,1) or (4,2,2) or (6,3,3)

Convenient coordinate system to

represent many useful transformations

x

y

Page 36: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

36

Basic 2D Transformations

• Basic 2D transformations as 3x3 matrices

QQ

Q-Q

=

1100

0cossin

0sincos

1

'

'

y

x

y

x

=

1100

10

01

1

'

'

y

x

ty

tx

y

x

=

1100

01

01

1

'

'

y

x

shy

shx

y

x

Translate

Rotate Shear

=

1100

00

00

1

'

'

y

x

sy

sx

y

x

Scale

Page 37: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

37

Affine Transformations

• Affine transformations are combinations of …• Linear transformations, and

• Translations

• Properties of affine transformations:• Origin does not necessarily map to origin

• Points at infinity remain at infinity

• Lines map to lines

• Parallel lines remain parallel

• Ratios are preserved

• Closed under composition

=

wyx

fedcba

wyx

100

''

Page 38: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

38

Projective Transformations

• The world is in 3D, the screen is flat. How to Project?

(Thanks Justin the almighty)

Page 39: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

39

Projective Transformations

• Drop one axis?

Page 40: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

40

Projective Transformations

• What is wrong with this picture?

Page 41: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

41

Projective Transformations

• Pinhole camera model

Page 42: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

42

Projective Transformations

• Perspective Warp!

Page 43: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

43

Projective Transformations

• OpenGL’s version

2𝑛

𝑤0 0 0

02𝑛

ℎ0 0

0 0 −𝑓 + 𝑛

𝑓 − 𝑛−

2𝑓𝑛

𝑓 − 𝑛0 0 −1 0

𝑛ear

𝑓ar

𝑤

http://www.songho.ca/opengl/gl_projectionmatrix.html

Demo: http://www.songho.ca/opengl/gl_transform.html

+

Page 44: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

44

Projective Transformations

• Projective transformations (homographies):• Affine transformations, and

• Projective warps

• Properties of projective transformations:• Origin does not necessarily map to origin

• Point at infinity may map to finite point

• Lines map to lines

• Parallel lines do not necessarily remain parallel

• Ratios are not preserved

• Closed under composition

=

wyx

ihgfedcba

wyx

'

''

Page 45: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

45

Projective Transformations

• Perspective warp in art• Julian Beever

Page 46: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

46

Projective Transformations

• Perspective warp in art• Julian Beever

Page 47: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

47

Overview

• Scene graphs• Geometry & attributes

• Transformations

• Bounding volumes

• Transformations• Basic 2D transformations

• Matrix representation

• Matrix composition

• 3D transformations

Page 48: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

48

Matrix Composition

• Transformations can be combined by matrix multiplication

QQQ-Q

=

w

yx

sysx

tytx

w

yx

100

0000

1000cossin0sincos

100

1001

'

''

p’ = T(tx,ty) R(Q) S(sx,sy) p

Page 49: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

49

Matrix Composition

• Matrices are a convenient and efficient way to represent a

sequence of transformations• General purpose representation

• Hardware matrix multiply

• Efficiency with premultiplication• Matrix multiplication is associative

p’ = (T * (R * (S*p) ) )

p’ = (T*R*S) * p

Page 50: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

50

Matrix Composition

• Be aware: order of transformations matters• Matrix multiplication is not commutative

p’ = T * R * S * p

“Global” “Local”

Page 51: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

51

Matrix Composition

• Rotate by Q around arbitrary point (a,b)• M=T(a,b) * R(Q) * T(-a,-b)

• Scale by sx,sy around arbitrary point (a,b)• M=T(a,b) * S(sx,sy) * T(-a,-b)

(a,b)

(a,b)

The trick:

First, translate (a,b) to the origin.

Next, do the rotation about origin.

Finally, translate back.

(Use the same trick.)

Page 52: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

52

Overview

• Scene graphs• Geometry & attributes

• Transformations

• Bounding volumes

• Transformations• Basic 2D transformations

• Matrix representation

• Matrix composition

• 3D transformations

Page 53: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

53

3D Transformations

• Same idea as 2D transformations• Homogeneous coordinates: (x,y,z,w)

• 4x4 transformation matrices

=

wzyx

ponmlkjihgfedcba

wzyx

''

''

Page 54: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

54

Basic 3D Transformations

=

wz

yx

wz

yx

1000010000100001

'

''

=

wz

yx

tz

tytx

wz

yx

1000100

010001

'

''

=

wz

yx

sz

sysx

wz

yx

1000000

000000

'

''

-

=

wz

yx

wz

yx

1000010000100001

'

''

Identity Scale

Translation Mirror over X axis

Page 55: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

55

Basic 3D Transformations

QQQ-Q

=

wz

yx

wz

yx

1000010000cossin00sincos

'

''

Rotate around Z axis:

QQ

Q-Q

=

wz

yx

wz

yx

10000cos0sin00100sin0cos

'

''

Rotate around Y axis:

QQQ-Q

=

wz

yx

wz

yx

10000cossin00sincos00001

'

''

Rotate around X axis:

Page 56: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

56

Transformations in Scene Graphs

Rose et al. `96

Root

LHip

LKnee

LAnkle

RHip

RKnee

RAnkle

Chest

LCollar

LShld

LElbow

LWrist

LCollar

LShld

LElbow

LWrist

Neck

Head

Page 57: Scene Graphs & Modeling Transformations...•Julian Beever. 46 Projective Transformations •Perspective warp in art •Julian Beever. 47 Overview •Scene graphs •Geometry & attributes

57

Summary

• Scene graphs• Hierarchical

• Modeling transformations

• Bounding volumes

• Coordinate systems• World coordinates

• Modeling coordinates

• 3D modeling transformations• Represent most transformations by 4x4 matrices

• Composite with matrix multiplication (order matters)