Download presentation

Presentation is loading. Please wait.

Published byAlexander Bond Modified over 3 years ago

2
Affine Transformations Jim Van Verth NVIDIA Corporation (jim@essentialmath.com)jim@essentialmath.com

3
Topics »Whats an affine transformation? »How to generate various forms »Things to watch out for

4
What is it? »A mapping between affine spaces »Preserves lines (& planes) »Preserves parallel lines »But not angles or distances »Can represent as »(note were using column vectors)

5
Affine Space »Collection of points and vectors »Can be represented using frame »Within frame, vector and point j = (0,1) O i = (1,0)

6
Affine Transformation »Key idea: map from space to space by using frames Note how axes change ( A ) Note how origin changes ( y )

7
Example: Translation »Axes dont change Origin moves by y y

8
Example: Rotation »Axes change »Origin doesnt move But what is A ?

9
Example: Rotation »Follow the axes: »New axes go in columns of matrix (cos, sin ) (-sin, cos )

10
Example: Scale »Axes change »Origin doesnt move Again, what is A ?

11
Example: Scale »Follow the axes: »New axes go in columns of matrix (0, 0.5) (1.5, 0)

12
Example: Reflection »Axes change »Origin doesnt move But what, oh what, is A ?

13
Example: Reflection »Follow the axes: »New axes go in columns of matrix (-1, 0) (0, 1)

14
Example: Shear »Axes change »Origin doesnt move Hey, hey, what is A ?

15
Example: Shear »Follow the axes: »New axes go in columns of matrix (0.5, 1) (1, 0)

16
Transform Types »Rigid-body transformation Translation Rotation »Deformable transformation Scale Reflection Shear

17
Combining Transforms »Simple function composition

18
Combining Transforms »Order is important! »Scale, then rotate

19
Combining Transforms »Order is important! »Rotate, then scale

20
Local and World Frames »Objects built in local frame »Want to place in world frame »Local-to-world transformation »Same basic idea: determine where axes and origin end up in world frame

21
World to Local Frame »Similar, but in reverse »Want transformation relative to local frame »Often easier to just take the inverse »Example: world-to-view transformation

22
Inverse »Reverses the effect of a transformation »Easy to do with formula: »For matrix, just use matrix inverse

23
Matrix Form »Necessary for many APIs »Is easy »Concatenate by matrix multiply »Can be faster on vector architectures »Takes more storage, though

24
Object-centered Transform »Often get this case »Already have local-to-world transform »Want rotate/scale/whatever around local origin, not world origin »How?

25
Object-Oriented Transform »One way »Translate to origin »Rotate there »Translate back

26
Object-Oriented Transform »Using formula: »Translate to origin »Rotate there »Translate back »This works with arbitrary center in world frame!

27
Alternate Format »Problem: want to Translate object in space and change rotation and scale arbitrarily Handle rotation/scale separately Cant do easily with matrix format or Ax + y form »Involves SVD, Polar decomposition »Messy, but we can do better using…

28
Rigid Body Transforms »Any sequence of translation and rotation transformations »Not scale, reflection or shear »Object shape is not affected (preserves angles and lengths) »Usually include uniform scale despite this

29
Alternate Format Scale – one uniform scale factor s Rotation – matrix R Translation – single vector t

30
Alternate Format Want to concatenate transforms T 1, T 2 in this form, or »Do this by

31
Alternate Format »Advantages Clear what each part does Easier to change individual elements »Disadvantages Eventually have to convert to 4x4 matrix anyway for renderer/video card 4x4 faster on vector architecture

32
Alternate Format »Matrix conversion

33
Inverting Rigid Body Xforms »We can easily invert our rigid body transforms symbolically:

34
Inverting Rigid Body Xforms (2) »In fact, the result itself may be written as a rigid body transform:

35
References »Rogers, F. David and J. Alan Adams, Mathematical Elements for Computer Graphics, 2 nd Ed, McGraw-Hill, 1990. »Watt, Alan, 3D Computer Graphics, Addison- Wesley, Wokingham, England, 1993.

Similar presentations

OK

January 19, 20161. y X Z Translations Objects are usually defined relative to their own coordinate system. We can translate points in space to new positions.

January 19, 20161. y X Z Translations Objects are usually defined relative to their own coordinate system. We can translate points in space to new positions.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on 7 wonders of the world free download Ppt on generation transmission and distribution of electricity in india Ppt on hydroelectric dams in india Ppt on introduction to object-oriented programming in c++ Ppt on conservation of environment for kids Ppt on non agricultural activities in usa Ppt on servant leadership Ppt on thermal conductivity of insulating powder coat Ppt on producers consumers and decomposers in a food Ppt on bluetooth based smart sensor networks machine