资源描述:
《香港大学计算机图形学课件Chapter4.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chapter42-DTransformationsCartesiancoordinatesLineartransformations,affinetransformationsHomogeneouscoordinatesTranslationScalingRotationReflectionCombinationsoftransformationsAnimations1CartesiancoordinatesThepositionofa2-Dvertexisrepresentedbya2tuple.Forco
2、nvenience,the2tupleoftenwrittenas(x,y).A2tuplecanalsobeinterpretedasavector.The2tupledefinesthedirectionandlengthofthevector,butnottheposition.Whethera2tuplerepresentingavertexoravectordependsoncontextyx(x,y)yx(x,y)2TranslationonverticesAtranslationmovesa
3、vertextoanewpositionbyaddingadisplacementvectortoit.Eg,Thefollowingtranslatesthevertexto(3,13)(7,7)3TranslationonvectorsAtranslationhasnoeffectonvectors,neitherintheirdirectionsormagnitudesTheformulasoftranslatingverticesandvectorsinCartesiancoordinatesaredif
4、ferent(3,13)(7,7)4LinearTransformationsonverticesAlineartransformationmovesavertextoanewpositionbymultiplyingitwithanon-singularmatrix.Eg,Thefollowingtransformsthevertex(2,3)to(3,13)(3,13)(2,3)Anon-singularmatrix,M,hastheinverseM-1suchthatMM-1=M-1M=I.Itdenote
5、saone-to-onemapping.5AffineTransformationsonverticesAnaffinetransformationisalineartransformationfollowedbyatranslation.Its2DgeneralformisAffinetransformationspreservelines.Manygeometricmovementsofobjects,eg,translations,rotations,andscalingsareaffinetransfor
6、mations.6HomogeneouscoordinatesofverticesApointinhomogeneouscoordinates(x,y,w),w≠0,correspondstothe2-Dvertex(x/w,y/w)inCartesiancoordinates.ConceivethattheCartesiancoordinatesaxesliesontheplaneofw=1.Theintersectionoftheplaneandthelineconnectingtheoriginand(x,
7、y,w)givesthecorrespondingCartesiancoordinates.ywxw=0(x,y,w)w=1(x/w,y/w,1)xy7Forexample,boththepoints(6,9,3)and(4,6,2)inthehomogeneouscoordinatescorrespondsto(2,3)intheCartesiancoordinates.Conversely,thepoint(2,1)oftheCartesiancorrespondsto(2,1,1),(4,2,2)or(6,
8、3,3)ofthehomogeneousywxw=0(4,2,2)w=1(2,1,1)xy6,3,3)8HomogeneouscoordinatesofvectorsA2-Dvector(x,y)ofCartesiancorrespondsto(x,y,0)inhomogeneouscoordinatesandviceversa.Notethatvectorsandver