3D Transformations of translation, scaling and rotation

3D Transformations of translation, scaling and rotation

What are 3D Transformations?

  • In computer graphics, 3D transformations are fundamental operations that change the position, size, and orientation of objects in a three-dimensional space.
  • These transformations play a crucial role in creating realistic and dynamic visual scenes.

What is Translation?

  • Translation involves moving an object from one position to another in 3D space without changing its orientation.
  • This movement is defined by a vector (dx,dy,dz), where dx, dy, and dz represent the distances the object will move along the x, y, and z axes, respectively.
Example: Imagine a cube initially located at coordinates (x, y, z).
If we apply a translation of (dx, dy, dz), the cube will be shifted by dx units along the x-axis, dy units along the y-axis, and dz units along the z-axis. The new position will be (x + dx, y + dy, z + dz).
The translation matrix for a 3D vector (x,y,z) is given by:
1| 1  0  0  t_x |
2| 0  1  0  t_y |
3| 0  0  1  t_z |
4| 0  0  0  1   |
Here, t_x​, t_y​, and t_z​ represent the translation distances along the x, y, and z axes, respectively.

What is Scaling?

  • Scaling in computer graphics is like resizing or changing the size of an image or object on a computer screen.
  • Example: Imagine you have a picture of a smiley face on your computer. If you make it twice as big, you're scaling it up. If you make it half as big, you're scaling it down.
  • So, you can scale things not just uniformly, but differently in width, height, or depth. It's like stretching the image in different directions.
1| s_x  0   0   0 |
2| 0   s_y  0   0 |
3| 0    0  s_z  0 |
4| 0    0   0   1 |
5

What is Rotation?

  • Rotation involves turning an object around a specified axis.
  • The rotation is described by an angle θ and an axis of rotation (x, y, or z).
  • Example: Take a book lying on a table.
  • If we apply a rotation of 90 degrees around the z-axis, the book will appear as if it's standing upright on one of its covers.
  • The pages will now be parallel to the x-y plane.
Rotation around the x-axis:
1| 1       0          0       0 |
2| 0   cos(θ)  -sin(θ)  0 |
3| 0   sin(θ)   cos(θ)  0 |
4| 0       0          0       1 |
5
Rotation around the y-axis:
1| cos(θ)  0  sin(θ)  0 |
2| 0       1  0       0 |
3| sin(θ)  0  cos(θ)  0 |
4| 0       0  0       1 |
5

Rotation around the z-axis:
| cos(θ) - sin(θ) 0 0 |
| sin(θ) cos(θ) 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |
Here, θ represents the rotation angle.

What is Shearing?

  • Shearing is like giving a little push to the object, and depending on the direction, it stretches it in that particular way.
  • Unlike scaling, it changes the angles between the axes, causing stretching or compression in a particular direction.
  • In computer graphics, shearing is often used to create cool visual effects by distorting shapes in specific directions.

What is Reflection?

  • Reflection is a transformation that mirrors an object across a line.
  • It changes the orientation of the object but does not alter its size or shape.
  • There are different types of reflection, such as reflection across the x-axis, y-axis, or a diagonal line.
Examples:
  • Reflection across the x-axis:
  • Original point: (2, 3)
  • Reflected point: (2, -3)
  • The y-coordinate is negated while the x-coordinate remains the same.
  • Reflection across the y-axis:
  • Original point: (4, -1)
  • Reflected point: (-4, -1)
  • The x-coordinate is negated while the y-coordinate remains the same.
  • Reflection across the origin (0,0):
  • Original point: (-3, 5)
  • Reflected point: (-3, -5)
  • Explanation: Both the x and y coordinates are negated.

What is Transformation Concatenation?

  • When applying multiple transformations to an object, the order in which they are performed matters and can lead to different results.
  • This concept is known as transformation concatenation.
  • Example Scenario:
  • Suppose we want to move a chair represented by a 3D model:
  • Translate (Move): First, we translate the chair to the desired room location.
  • Rotate (Adjust Orientation): Next, we rotate the chair to face a specific direction.
  • Scale (Resize): Finally, we scale the chair to fit the room's dimensions.
  • If we change the order of these transformations, for instance, scaling before rotation, the chair might end up with a different orientation and size.

Conclusion

3D transformations translation, scaling, and rotation provide the basis for creating visually appealing and dynamic 3D graphics.