3D Glossary--Transformation of Coordinates | WebReference

# 3D Glossary--Transformation of Coordinates

## Transformation (of Coordinates)

In the physical world, change and movement are naturally associated with energy and continuity. To move a rock from place to another requires energy, and the voyage of the rock from Point A to Point B necessarily involves passage through an infinity of in-between points.

Things are a little different in the 3-D Coordinate Space of 3-D computer graphics applications. Of course, our objects, being imaginary, weigh nothing in a gravity-free world, so that all movement is effortless. Movement in 3-D coordinate space is simply the reassigning of points to new locations. A sphere whose center is at the origin (0,0,0) can be moved directly so that its center is now at (3,3,3) or even (1000, 1000, 1000) without passing through any intermediate points at all. The most general term for movement of points by changing their coordinates is "transformation" and we speak of the "transformation of coordinates." This word is very suggestive of the difference between movement in the physical world and movement of imaginary objects in a computer 3-D space.

Since transforming (moving) points is a direct and mathematical process, it can be achieved in all 3-D applications through a dialog box or similar method by which the new coordinates for a point are simply typed in. But we often need an interactive way of working as well, in which points can be moved through 3-D space by dragging them with a mouse. The skill required to do this well takes time to develop in all applications because we can't reach directly into the screen and move things forward and back. So different programs provide different approaches to the interactive navigation problem. In all cases, the solution boils down to breaking 3-D movement into different planes and directions. To get from the origin (0,0,0) to (3,3,3), we might use a face front view of the screen to move first to (3,3,0), 3 units to the right and 3 units up. Then we switch to a top view of the screen, where we can view the depth (Z) dimension, and move the point back 3 units from (3,3,0) to (3,3,3). The aspiring 3-D artist must learn to imagine these processes completely apart from any particular application. Visualize the process just described here until it makes sense. If you cannot imagine it apart from a computer screen, you will never be able to perform it when you are sitting at the computer.

All of the 3-D objects we create are composed of points in 3-D coordinate space--groups of points that define, by line segments connecting them, the surface of the object. Thus to move the whole object in space, we transform all its points together. The simplest, and most important type of movement is called translation. Translation is moving all the points by the same amount. If an object has one point at (1,1,1) and another point at (2,2,2), and we translate the object by (0,1,2)--the two points are now transformed to (1,2,3) and (2,3,4). Translation moves an object without changing its orientation.

The second kind of transformation is rotation. All of the points on a given object are changed to reflect the degree of rotation around each of the three axes. This can be done precisely with dialog boxes, but can also be done rather effectively with interactive tools that create an imaginary sphere around the object on the screen. The sphere and the object in it can be rotated freely in all directions using the mouse to control this "virtual trackerball."

Translation and rotation are what we generally think of as movement, but transformation of coordinates can also be used for a third purpose--to resize the object. This is called scaling, and is possible because--as the object is composed of points--we can enlarge the object by moving all the points outward from the object's center, and shrink it by drawing them all in toward that center.

Thus the transformation of coordinates permits us to perform translation, rotation and scaling of objects.