Các phép biến đổi đồ họa
Khoa CNTT - DDHBK Hà nộihunglt@it-hut.edu.vn86825951(c) SE/FIT/HUT 20021Bài 4 Các phép biến đổi Đồ hoạAffine TransformationsLe Tan HungEmail: hunglt@it-hut.edu.vnI KHái niệm cơ bảnII Các phép biến đổiIII Hệ tọa độ đồng nhất(c) SE/FIT/HUT 20022Mô hình hoá - Modelling Mô hình hoá là tiến trình tạo mới thao tác trên các mô hình của các đối tượng hay hệ thốngComputer graphics ~ quan tâm đến mô tả hình học của các đối tượng nhằm cung cấp phương pháp biểu diễn số cho các hình trên cơ sở về kích thước và các thuộc tính có liên quan đến tiến trình tô trátCác đối tượng hình học thường được mô tả bởi các thuật ngữ "thực thể cơ sở" sub-parts (primitives), như circles, lines polygons hay cubesA scene trong đồ họa: chứa các thực thể đối tượngScene ModelingĐặt các đối tượng trong cảnh tại các vị trí khác nhau, thay đổi tỉ lệ vàbiến đổiobjectA scene with several instances of the object(c) SE/FIT/HUT 2002Ví dụAt each frame of the animation, the object is transformed, in this case by a rotation. It could also be transformed by changing its size (scaling), or its shape (deforming), or its location (translation). Further animation effects can be achieved by not changing the object, but the way it is viewed (i.e. the window to viewport transformation) at each frame (e.g. by zooming).(c) SE/FIT/HUT 20024Phép biến đổi - Transformations Trong kỹ thuật đồ hoạ 3 bước: modeling, rendering, displayingVới Modeling:Transformation: là phép ánh xạ tọa độ điểm hay vector thành tọa độ hay vector khácBiến đổi mô hình hoá - Modeling transformationsbuild complex models by positioning simple componentsBiến đổitạo góc nhìn - Viewing transformationsplacing virtual camera in the worldtransformation from world coordinates to camera coordinatesBiến đổitạoHoạtcảnh - Animationvary transformations over time to create motionmodeling coordinateModeling transformationViewing transformationworld coordinateviewing coordinate(eye coordinate)(c) SE/FIT/HUT 20025Transformations - Modelingworld(c) SE/FIT/HUT 20026ViewingTransformations - ViewingViewing là tiến trình tạo ra góc nhìn của các mô hình trên màn hình 2DMô tả hình học của các đối tượng hay các cảnh cung cấp bởi các mô hình sẽ được chuyển đổi thành tập các thực thể cơ sở hiển thị.Một mô hình có thể quan sát trên các góc cạnh khác nhau (e.g. faraway, near, looking down, looking up)WORLDOBJECTCAMERA Khoa CNTT - DDHBK Hà nộihunglt@it-hut.edu.vn86825952(c) SE/FIT/HUT 20027Phép biến đổi AffineAffine Transformations?Phép biến đổiAffine làphépbiến đổitọa độ điểm đặctrưngcủa đốitượng thành tậptương ứng các điểmmới để tạo ra cáchiệu ứng cho toàn đốitượng.Vídụ: phép biến đổitọa độ vớichỉ 2 điểm đầucuốicủa đoạnthẳng tạo thành 2 điểmmới mà khi nối chúng vớinhautạothànhđoạnthẳng mới.Các điểmnằmtrênđoạnthẳng sẽ có kếtquả là điểmnằmtrênđoạnthẳng mớivới cùng phép biến đổi thông qua phép nộisuy.(c) SE/FIT/HUT 2002Phân loại - TransformationsCó 2 cách nhìn trên phép biến đổi Object Transformation: thay đổi tọa độ của các điểm theo một số các quy luật mà không ảnh hưởng đến hệ tọa độ gốc.Coordinate Transformation sinh ra hệ tọa độ khác và biểu diễn tất các các đểm trên hệ tọa độ mới đóMỗi phương pháp có ưu nhược điểm riêng về bản chất gần tương đồng nhau1,1.4, 2Example: OBJECT TRANSFORMATION(1,1)(1,1)Example: COORDINATE TRANSFORMATION(c) SE/FIT/HUT 20029Modeling TransformationsTransform objects/points Transform coordinate system(c) SE/FIT/HUT 20022D Object TransformationsA 2D object transformation alters each point P into a new point Q using a specific formula or algorithm.It therefore alters the co-ordinates of P (Px,Py) into new values which specify point Q (Qx,Qy)This can be expressed using some function T, that maps co-ordinate pairs into co-ordinate pairs:T(Px,Py) = (Qx,Qy) or:T(P) = Q(c) SE/FIT/HUT 2002Matrix RepresentationIf affine transformation T maps P onto Q, then Q is related to P as follows:where a, b, c, d, tx and ty are all constants, and ad = bcThis gives rise to the following matrix representation:i.e. ⎟⎟⎠⎞⎜⎜⎝⎛+⎟⎟⎠⎞⎜⎜⎝⎛⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛yxyxyxttPPdcbaQQxxxx t bP aP Q ++=yyyy t dP cP Q ++=Tr MP Q +=(c) SE/FIT/HUT 200212Các phép biến đổihìnhhọchaichiềuPhương pháp biểudiễn đốitượng P = [ x y ]Phép biến đổivị trí điểmThực thi phép biến đổi đúng trên 1 điểm ảnh sẽđúng trên toàn bộđốitượng⎥⎦⎤⎢⎣⎡=dcbaT[][][ ]()( )[][]''y dybx *y * xcyaxdcbaxTX =++=⎥⎦⎤⎢⎣⎡=yxzpMpW Khoa CNTT - DDHBK Hà nộihunglt@it-hut.edu.vn86825953(c) SE/FIT/HUT 200213Phép biến đổiPhép bấtbiếnPhép biến đổitỉ lệ - ScalingA scaling changes the size of an object with two scale factors, Sxand SyPhép biếndạngA shearing shears an object in a particular direction, (in 2D, it’s either in the x or in the y direction⎥⎦⎤⎢⎣⎡=1001T[][][ ]()[][]''100** yxyaxayxTX ==⎥⎦⎤⎢⎣⎡=[][][ ] [ ][ ]''101** yxdybxbyxTX =+=⎥⎦⎤⎢⎣⎡=xzy(c) SE/FIT/HUT 200214Phép quay- Rotationx = ρ cos α, y = ρ sin α ;x’ = ρ cos (θ +α ), y’ = ρ sin (θ +α ) ;x’ = ρ ( cosθ cosα - sinθ sinα )= x cosθ -y sinθy’ = ρ ( sinθ cosα + cosθ sinα )= x sinθ + y cosθ[x' y']= [xcosθ -ysinθ xsinθ + ycosθ]y( x, y )xαρθρ( x’, y’ )⎥⎦⎤⎢⎣⎡−=θθθθcossinsincos][T(c) SE/FIT/HUT 200215Thuộc tính cơ bản của phép biến đổi AffineTransformationsPreservation of lines:They preserve lines, so the image of a straight line is another straight line.This vastly simplifies drawing transformed line segments. We need only compute the image of the two endpoints of the original line and then draw a straight line between themPreservation of collinearity guarantees that polygons will transform into polygonsAffine transformations map lines to lines;(c) SE/FIT/HUT 2002Thuộc tính Preservation of parallelism Preservation of parallelism guarantees that parallelograms will transform into parallelogramsPreservation of proportional distancesPreservation of proportional distances means that mid-points of lines remain mid-pointsAffine transformations change volume by | Det(M) |;(c) SE/FIT/HUT 2002Kếthợp các phép biến đổiComposition of Affine TransformsAny affine transformation can be decomposed into elementary transformations.Mọi phép biến đổiphứctạp đềucóthể tạothànhtừ các phép biến đổicơsở như:Dịch chuyển - TranslationTỉ lệ - ScalingQuay- RotationBiếndạng - Shearing(c) SE/FIT/HUT 2002Affine transformations preserve affine combinationsIt is rare that we want to perform just one elementary transformation.Usually an application requires that we build a complex transformation out of several elementary onese.g. translate an object, rotate it, and scale it, all in one moveThese individual transformations combine into one overall transformationThis is called the composition of transformations.The composition of two or more affine transformations is also an affine transformation Khoa CNTT - DDHBK Hà nộihunglt@it-hut.edu.vn86825954(c) SE/FIT/HUT 200219Thuộc tính Tác động lên tập các điểm đặc trưng của đối tượng tạo thành phép biến đổi cho đối tượngWe have defined each transformation by their effects on single pointsIn practice these will be applied to multiple points to transfer entire scenes or objects made up of many defining pointsT(c) SE/FIT/HUT 2002Điểm gốc - Pivotal pointsCho phép quay và tỉ lệ Rotation and ScalingThe simple versions of rotation and scaling have been based around the origin.This means that when we rotate or scale, the object will also move, with respect to the originTranslate all points through (-c1,-c2)Rotate all points about the origin byTranslate all points back through (c1,c2) (c1,c2)(0,0)(c) SE/FIT/HUT 2002Pivotal pointsOften we wish to rotate or scale with respect to some pivotal point, not the originMost significantly, we often wish to rotate or scale an object about its centre, or midpointIn this way, the object’s location does not changeTo do this, we relate the rotation or scaling about the pivotal point V, to an elementary rotation or scaling about the originWe first translate all points so that V coincides with the originWe then rotate or about the originthen all points are translated back, so that V is restored to its original location(c) SE/FIT/HUT 2002Hệ toạ độ đồng nhấtVấn đề gặp phải:An affine transformation is composed of a linear transformation followed by a translationUnfortunately, the translation portion is not a matrix multiplication but must instead be added as an extra term, or vectorWhat we need is a “trick”, so that translations can be represented in matrix multiplication formThis then means that they can be easily composed with other transformations, by simply multiplying the matrices together(c) SE/FIT/HUT 200223Tọa độ đồng nhấtHomogeneous Transform x' = ax + by + ny' = bx + dy + mPhương pháp biểudiễnmở rộng thông qua tọa độ đồngnhấtcủa các vector vị tríVới ứng dụng của phép chiếuhìnhhọcmàởđótọa độđiểm đượcmôtả dướima trận[ x* y* h]với x = x*/h, y = y*/h, z = z*/h và h là mộtsố thựctuỳ ý(c) SE/FIT/HUT 200224Ưu điểmcủaHệ tọa độ đồng nhấtHomogeneous TransformÐưaracáinhìnhợpnhấtcủa các phép biến đổidưới phépnhân ma trận, hỗ trợ cho việcxử lý bằng cả phầncứng vàphầnmềmKếthợp các các phép biến đổitạothànhma trận tích đơngiảnduy nhất. Tránh nhầmlẫnvề thứ tự của các phép nhân khi sửdụng.Order matters: AB is generally not the same as BAChophépkếthợpvớicả các phép biến đổi đặcbiệt khôngtuyến tính khác(non-affine) như:Phép chiếuphốicảnh - Perspective projections!Uốn - Bends, Vuốt tapers v.v.v Khoa CNTT - DDHBK Hà nộihunglt@it-hut.edu.vn86825955(c) SE/FIT/HUT 200225Phép biến đổivớitọa độ đồng nhấtMa trậnbiến đổi đồng nhấtPhép tịnh tiến⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=100][nmdcbaT]1[1010001]1[]1''[ nymxnmyxyx ++=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=(tx, ty, tz)(c) SE/FIT/HUT 200226Phép tỉ lệ]12.1.[100020001]1[]1''[ SySxSSyxyx =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=(c) SE/FIT/HUT 200227Phép quayy( x, y )xαρθρ( x’, y’ )⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−=1000cossin0sincos]1[]1''[φφφφyxyx]1cos.sin.sin.cos.[φφφφyxyx +−=(c) SE/FIT/HUT 200228Phép biến đổitổng hợp(c) SE/FIT/HUT 2002Coordinate Transforms(c) SE/FIT/HUT 200230Coordinate Transforms(1,1)u’v’(1,1)uvxyObject defined in Local Coordinate SystemObject after transformation in Global Coordinate System Khoa CNTT - DDHBK Hà nộihunglt@it-hut.edu.vn86825956(c) SE/FIT/HUT 200231xyxyIdentity as a Coordinate TransformP100010001Q⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=(1,1)uv(1,1)u’v’(c) SE/FIT/HUT 200232xyTranslationxyP1001001Q⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡= tytx(1,1)uv(1+tx,1+ty)u’v’⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1100tytxtytx1001001⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡11101tytxtytx1001001⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡11110tytxtytx1001001origin v (1, 0, 0)u (0, 1, 0)⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=1tytxO(c) SE/FIT/HUT 200233xyRotationxyP10000Q⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−=θθθθcossinsincos(1,1)uvu’v’⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=1sincosθθv⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−=1cossinθθu⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=100O(c) SE/FIT/HUT 200234xyScalingxyP10000Q⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡= sysx00(1,1)uv(sx*1,sy*1)uv⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=100O⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=10syu⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=10sxv(c) SE/FIT/HUT 200235Composite Transformations⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛−−+−−=100sin)cos1(cossinsin)cos1(sincos1111θθθθθθθθxyyxMxyxy(1,1)uvu’v’⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−+−1sin)cos1(sin)cos1(1111θθθθyyyx⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−++−+1sin)cos1(sinsin)cos1(cos1111θθθθθθyyyx⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−++−+−1sin)cos1(cossin)cos1(sin1111θθθθθθyyyxO = v = u = (c) SE/FIT/HUT 200236Modeling TransformationsTo make full use of the computational optimisation made possible by composite transforms, we only want to apply the transformations to points at the very endi.e. the transformation operation (multiplying point p by transform matrix is the very last thing we do in the modelling phase)Specify points in local coordsSpecify Transformations(composite if necessary)Send to Pipeline Khoa CNTT - DDHBK Hà nộihunglt@it-hut.edu.vn86825957(c) SE/FIT/HUT 200237++=This of course shouldn’t mean all objects need to share the same transformations(c) SE/FIT/HUT 200238+=+transform+transform+transformObviously we want something more versatile 1(c) SE/FIT/HUT 20021Bài 4B:Phép biến đổi trong không gian(c) SE/FIT/HUT 20022Ma trận biến đổi 3 chiều 3D Matrix TransformationsCác phép biến đổi chuyển vị - translation, tỉ lệ-scaling vàquay-rotation sử dụng trong không gian 2D đều co thể mởrộng trong không gian 3DAgain, using homogeneous coordinates it is possible to represent each type of transformation in a matrix formIn 3D, each transformation is represented by a 4x4 matrix(c) SE/FIT/HUT 20023Các phép biến đổihìnhhọc3 chiềuBiểudiễn điểm trong không gian 3 chiều• [ x* y* z* h ] = [ x y z 1 ]. [ T ]• [x' y' z' 1 ]= [ x*/h y*/h z*/h 1 ][ T ]Ma trậnbiến đổi⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=snmlrjigqfedpcba][T(c) SE/FIT/HUT 20024Phép tịnh tiến[X'] = [ X ] . [ T(dx,dy,dz) ][ x' y' z' 1 ] = [ x y z 1 ].[ T(dx,dy,dz) ]= [ x+dx y+dy z+dz 1 ]⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1010000100001)],,([dzdydxdzdydxT(c) SE/FIT/HUT 20025Phép tỉ lệ• s1, s2, s3 là các hệ số tỉ lệ tương ứngtrên các trụctoạđộ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=100003000020000111ssszyxzyx ][]'''[]13.2.1.[szsysx=(c) SE/FIT/HUT 20026RotationIn 2D, the only rotation possible was about the origin.In 3D, there are 3 possible rotations, one about each of the x, y and z axesPositive rotations are anti-clockwise, negative rotations are clockwise, when looking down a positive axis towards the originxyzxyzxyz 2(c) SE/FIT/HUT 20027Phép quay 3 chiềuQuay quanh các trụctoạđộ• Quay quanh trụcx• Quay quanh trụcz ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−=100000000001φφφφcossinsincos][Tx⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−=1000010000cossin00sincos][ϕϕϕϕTz(c) SE/FIT/HUT 20028Quay quanh trụcy⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−=10000cos0sin00100sin0cos][θθθθTy(c) SE/FIT/HUT 20029Phép biếndạng(secondary translation)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=100001010111igfdcbzyxzyx ][]'''[]1[zfycxizybxgzydx ++++++=(c) SE/FIT/HUT 200210Phép lấy đốixứng(reflections-secondary translation)(c) SE/FIT/HUT 200211Quay quanh mộttrụcbấtkỳ song song với cáctrụctọa độ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=10010000100001][zyTr, ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−=100000000001φφφφφcossinsincos)]([T, ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−−=−100100001000011zyTr][⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡−−+−−=1sin)cos1(sin)cos1(00cossin00sincos00001][φφφφφφφφyzzyTth(c) SE/FIT/HUT 200212Quay quanh mộttrụcbấtkỳ 3(c) SE/FIT/HUT 200213SolutionChuyểnP1 về gốctọa độ.Quay quanh trụcy saochoP1P2 nằmtrênmặtphẳng (y, z)Quay quanh trụcx saochoP1P2 trùngvớitrụcz.Quay quanh trụcz saochoP1P3 nằmtrênmặtphẳng (y, z)Euler’s Theorem: Every rotation around the origin can be decomposed into a rotation around the x-axis followed by a rotation around the y-axis followed by a rotation around the z-axis.(c) SE/FIT/HUT 200214Bước 1: ChuyểnP1 về gốctọa độ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−−−=−−−1111010000100001111zyxzyxT )],,([yP3P2P1z xyP3P2 p P1z x(c) SE/FIT/HUT 200215Bước 2: Quay quanh trụcycos( - 90 + φ) = sinφ = z'2/L = ( z2 - z1)/Lsin( - 90 + φ) = - cosφ = x'2/L = ( x2 - x1)/L[ P''2 ] = [ P'2 ][ T(φ-90) ]= [ 0 y2-y1 L ]yP3P'2(x'2,y'2,z'2)P'1L φz(x'2,0,z'2)x2122122222)()()'()'( xxzzxzL −−==(c) SE/FIT/HUT 200216Bước 3: Quay quanh trục x. cos ϕ = z''2/N, sin ϕ = y''2/NVới N = | P''1P''2| là độ dài của đoạn P''1P''2 [P'''2] = [P''2][T(ϕ)] = [P'2][T(φ-90)][T(ϕ)]= [P2 ][T(-x1,-y1,-z1 ][T(φ-90)][T(ϕ)] = [ 0 0 |P1P2| 1 ]yP''2NP''1ϕxz(c) SE/FIT/HUT 200217Bước 4: Quay quanh trụcz[P'''3]= [P3][T(-x1,-y1,-z1 ][T(φ-90)][T(ϕ)]Với góc quay dương ψ trên trụcz cos ψ = y3'''/M; sin ψ = x3'''/M;Ma trậntổng hợpcủa các phép biến đổi [ T ] códạng sau đáp ứng toàn bộ quá trình biến đổiquay đốitượng quanh mộttrụcbấtkỳ.[ T ] = [T(-x1,-y1,-z1)][T(φ-90)][T(ϕ)][T(ψ)]yy'''3P'''3ψMx'''3P'''2P'''1xz(c) SE/FIT/HUT 200218Kếtquả sau biến đổicầnphải đưavề vị trí ban đầu qua các phép biến đổingược. [Tth]= [T(-x1,-y1,-z1)]x[T(φ-0)]x[T(ϕ)]x [T(ψ)]x[T(ψ)]x[T(ϕ)]x[T(φ-90)]x[T(-x1,-y1,-z1)] [...]... Transform Ðưaracáinhìnhợpnhấtcủa các phép biến đổidưới phép nhân ma trận, hỗ trợ cho việcxử lý bằng cả phầncứng và phầnmềm Kếthợp các các phép biến đổitạothànhma trận tích đơngiản duy nhất. Tránh nhầmlẫnvề thứ tự của các phép nhân khi sử dụng. Order matters: AB is generally not the same as BA Chophépkếthợpvớicả các phép biến đổi đặcbiệt khơng tuyến tính khác(non-affine) như: Phép chiếuphốicảnh - Perspective... x 3 ''' /M; Ma trậntổng hợpcủa các phép biến đổi [ T ] có dạng sau đáp ứng tồn bộ q trình biến đổiquay đốitượng quanh mộttrụcbấtkỳ. [ T ] = [T(-x1,-y1,-z1)][T(φ-90)][T(ϕ)][T(ψ)] y y''' 3 P''' 3 ψ M x''' 3 P''' 2 P''' 1 x z (c) SE/FIT/HUT 2002 18 Kếtquả sau biến đổicầnphải đưavề vị trí ban đầu qua các phép biến đổi ngược. [Tth]=... display the contents of the window (wx min ,wy min ) (wx max ,wy max ) (vx min ,vy min ) (vx max ,vy max ) (wx,wy) (vx,vy) (c) SE/FIT/HUT 2002 35 Phép chuyển đổi (c) SE/FIT/HUT 2002 36 Phép biến đổitheoma trận Ma trận chuyểnvị theo Window Ma trậnbiến đổitỉ lệ Ma trận chuyểnvị theo tọa độ viewport ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ −− = 1 010 001 1 YwXw T ][ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − = 100 0 minmax minmax 0 00 Xwmin-Xwmax Xvmin-Xvmax ]1[ YwYw YvYv S ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 010 001 ]2[ YyXv T ... together (c) SE/FIT/HUT 2002 23 Tọa độ đồng nhất Homogeneous Transform x' = ax + by + n y' = bx + dy + m Phương pháp biểudiễnmở rộng thông qua tọa độ đồng nhấtcủa các vector vị trí Với ứng dụng của phép chiếuhìnhhọcmàởđótọa độ điểm đượcmôtả dướima trận[ x* y* h] với x = x*/h, y = y*/h, z = z*/h và h là mộtsố thựctuỳ ý (c) SE/FIT/HUT 2002 24 Ưu điểmcủaHệ tọa độ đồng nhất Homogeneous Transform Ðưaracáinhìnhợpnhấtcủa... 2002 19 Thuộc tính T ác động lên tập các điểm đặc trưng của đối tượng tạo thành phép biến đổi cho đối tượng We have defined each transformation by their effects on single points In practice these will be applied to multiple points to transfer entire scenes or objects made up of many defining points T (c) SE/FIT/HUT 2002 Điểm gốc - Pivotal points Cho phép quay và tỉ lệ Rotation and Scaling The... all points so that V coincides with the origin We then rotate or about the origin then all points are translated back, so that V is restored to its original location (c) SE/FIT/HUT 2002 Hệ toạ độ đồng nhất Vấn đề gặp phải: An affine transformation is composed of a linear transformation followed by a translation Unfortunately, the translation portion is not a matrix multiplication but must . 20021Bài 4 Các phép biến đổi Đồ hoạAffine TransformationsLe Tan HungEmail: hunglt@it-hut.edu.vnI KHái niệm cơ bảnII Các phép biến đổiIII Hệ tọa độ đồng nhất(c). SE/FIT/HUT 2002 7Phép biến đổi AffineAffine Transformations? Phép biến đổiAffine làphépbiến đổitọa độ điểm đặctrưngcủa đốitượng thành tậptương ứng các điểmmới