3D Geometric Transformation 고려대학교 그래픽스 연구실 cgvr.korea.ac.kr
Contents Translation Scaling Rotation Other Transformations Coordinate Transformations cgvr.korea.ac.kr
Transformation in 3D Transformation Matrix 33 : Scaling, Reflection, Shearing, Rotation 31 : Translation 11 : Uniform global Scaling 13 : Homogeneous representation cgvr.korea.ac.kr
3D Translation Translation of a Point y x z cgvr.korea.ac.kr
3D Scaling Uniform Scaling y x z cgvr.korea.ac.kr
Relative Scaling Scaling with a Selected Fixed Position y y y y x x x z z z z Original position Translate Scaling Inverse Translate cgvr.korea.ac.kr
3D Rotation Coordinate-Axes Rotations General 3D Rotations X-axis rotation Y-axis rotation Z-axis rotation General 3D Rotations Rotation about an axis that is parallel to one of the coordinate axes Rotation about an arbitrary axis cgvr.korea.ac.kr
Coordinate-Axes Rotations Z-Axis Rotation X-Axis Rotation Y-Axis Rotation y y y x x x z z z cgvr.korea.ac.kr
Order of Rotations Order of Rotation Affects Final Position X-axis Z-axis Z-axis X-axis cgvr.korea.ac.kr
General 3D Rotations Rotation about an Axis that is Parallel to One of the Coordinate Axes Translate the object so that the rotation axis coincides with the parallel coordinate axis Perform the specified rotation about that axis Translate the object so that the rotation axis is moved back to its original position cgvr.korea.ac.kr
General 3D Rotations Rotation about an Arbitrary Axis Basic Idea T R Translate (x1, y1, z1) to the origin Rotate (x’2, y’2, z’2) on to the z axis Rotate the object around the z-axis Rotate the axis to the original orientation Translate the rotation axis to the original position y T (x2,y2,z2) R (x1,y1,z1) R-1 x z T-1 cgvr.korea.ac.kr
General 3D Rotations Step 1. Translation y (x2,y2,z2) (x1,y1,z1) x z cgvr.korea.ac.kr
General 3D Rotations Step 2. Establish [ TR ]x x axis y (0,b,c) (a,b,c) Projected Point x z Rotated Point cgvr.korea.ac.kr
Arbitrary Axis Rotation Step 3. Rotate about y axis by y (a,b,c) Projected Point l d x (a,0,d) Rotated Point z cgvr.korea.ac.kr
Arbitrary Axis Rotation Step 4. Rotate about z axis by the desired angle y l x z cgvr.korea.ac.kr
Arbitrary Axis Rotation Step 5. Apply the reverse transformation to place the axis back in its initial position y l l x z cgvr.korea.ac.kr
Example Ex) Find the new coordinates of a unit cube 90º-rotated about an axis defined by its endpoints A(2,1,0) and B(3,3,1). A Unit Cube cgvr.korea.ac.kr
Step1. Translate point A to the origin Example Step1. Translate point A to the origin x z y B’(1,2,1) A’(0,0,0) cgvr.korea.ac.kr
Example Step 2. Rotate axis A’B’ about the x axis by and angle , until it lies on the xz plane. y Projected point (0,2,1) B’(1,2,1) l x z B”(1,0,5) cgvr.korea.ac.kr
Example Step 3. Rotate axis A’B’’ about the y axis by and angle , until it coincides with the z axis. y l x (0,0,6) B”(1,0, 5) z cgvr.korea.ac.kr
Step 4. Rotate the cube 90° about the z axis Example Step 4. Rotate the cube 90° about the z axis Finally, the concatenated rotation matrix about the arbitrary axis AB becomes, cgvr.korea.ac.kr
Example cgvr.korea.ac.kr
Example Multiplying [TR]AB by the point matrix of the original cube cgvr.korea.ac.kr
Other Transformations Reflection Relative to the xy Plane Z-axis Shear y y z z x x cgvr.korea.ac.kr
Coordinate Transformations Multiple Coordinate System Hierarchical Modeling As tractor moves, tractor coordinate system and front-wheel coordinate system move in world coordinate system front wheels rotate in wheel coordinate system When tractor turns, wheel coordinate system rotates in tractor system World Coordinate System Tractor Coordinate System Front-Wheel Coordinate System cgvr.korea.ac.kr
Coordinate Transformations Transformation of an Object Description from One Coordinate System to Another Set up a translation that brings the new coordinate origin to the position of the other coordinate origin Rotations that corresponding coordinate axes Scaling transformation, if different scales are used in the two coordinates systems Example y’ z’ x’ u’y u’z u’x (x0,y0,z0) x y z (0,0,0) cgvr.korea.ac.kr