Professional Documents
Culture Documents
EricC.McCreath
SchoolofComputerScience
TheAustralianNationalUniversity
ACT0200Australia
ericm@cs.anu.edu.au
Overview
BasicGeometricTransformation
HomogeneousCoordinates
RasterTransformations
Graphics2DAffineTransformDemo
Transformations
Transformationsareusefulformodellingandviewingascene.
Modellingtransformationsareusedtoconstructascene.
Geometrictransformationsareusedformovingobjectswithinthe
sceneandcontrolingtheviewingofthoseobjects.
Suchtransformationsareusefulandpowerfultoolsforcomputer
graphicsapplications,however,attimestheycanbetrickytoget
workingproperly.
Translation
Translationprovidesasimplewayofrepositioningobjects.
Newpoint
Originalpoint
[]
P n= P o t x
ty
[]
tx
ty
Rotation
Rotationabouttheorigin.
P n=
cos sin
P
sin cos o
x
Note,forsmallthetaonecanuse:
sin
cos 1
Rotation
RotationaboutapointPr.
P n= P r
cos sin
P o P r
sin cos
y
Pr
x
Scaling
Scalingfromtheorigin.Ifscalingvaluesarethesamethenitis
calleduniformscaling.
P n=
[ ]
sx
0
0
Po
sy
Scalingfromafixedpoint.
[ ][ ] [ ]
[ ] [ ]
s
P n= x f x
0
yf
P n=
sx
0
0
P o x f
sy
yf
0
P o x f 1s x
sy
y f 1 s y
x
Noticehowallthesetransformations(translation,
rotation,andscaling)areoftheform:
P n= M 1 P o M 2
HomogeneousCoordinates
Byexpandingtoa3x3matrixwecancombineallthese
transformationsintoasinglematrixmultiplication.
TheCartesianpoint(x,y)isrepresentedbythehomogeneous
coordinate(hx,hy,h),wherehisnonezero.Oftenhissetto1so
(x,y)isrepresentedby(x,y,1).
Alsothehomogeneouscoordinate(a,b,c)representstheCartesian
point(a/c,b/c).AsinglepointinCartesianspaceisrepresentedby
alineinhomogeneousspace.
Allofthetransformationswehavelookedatcanberepresentedbya
singlematrix:
Translation
[ ]
1 0 tx
T t x , t y = 0 1 t y
0 0 1
Scaling
Rotation
cos sin 0
R= sin cos 0
0
0
1
[ ]
sx
S s x , s y = 0
0
0 0
sy 0
0 1
CompositeTransformations
Asequenceoftransformationscanbecombinedintoasingle
compositetransformationmatrix.
Supposewewishtoconductthesequence:T(5,4),R(0.4),T(5,4)
oftransformationsonapointPo.Wecouldcalculate:
P n =T 5,4 R 0.4T 5,4 P o
thisisthesameas:
P n =T 5,4R 0.4T 5,4 P o
Compositetransformationscombineasexpected:
T a , bT c , d =T ac , bd
R R= R
S a , b S c , d =S ac , bd
Orderisgenerallyimportantfor
matrixmultiplication!
Reflection
[ ]
[ ]
Reflectionaboutthexaxis:
Reflectionabouttheyaxis: 1 0 0
1 0 0
0 1 0
0 0 1
0
0
10
1 0
0 1
Reflectionaboutboth(sameasrotationby180):
Howwouldyoureflectaboutanarbitraryaxis??
1 0 0
0 1 0
0
0 1
Shear
11
Ashearwilldistorttheshapeofanobject.
y
Thisisshearalongthexaxis:
1 sh x 0
0 1 0
0 0 1
]
x
RasterOperations
Geometrictransformationscantakeplacedirectlyintheframebuffer.
Thesecanbedoneefficientlybymanipulatingthearrayofpixel
values.
2Dblocktranslationcanbedonebycopyingblocksofmemory(bitblt,
blocktransfer).
Rotationofa2Dblockby90,180,270canbedonebycopying
pixels.
Rotationbyotheranglescanbedonebysamplingpixelcolours.
Scalingcanbealsodoneasarasteroperation,thismayalsorequire
samplingpixelcolours.
12