3D-Transformations(Including projections)

In the 2D system, we use only two coordinates X and Y but in 3D, an extra coordinate Z is added. 3D graphics techniques and their application are fundamental to the entertainment, games, and computer-aided design industries. It is a continuing area of research in scientific visualization.
Furthermore, 3D graphics components are now a part of almost every personal computer and, although traditionally intended for graphics-intensive software such as games, they are increasingly being used by other applications.
3D Coordinates

Parallel Projection

Parallel projection discards z-coordinate and parallel lines from each vertex on the object are extended until they intersect the view plane. In parallel projection, we specify a direction of projection instead of center of projection.
In parallel projection, the distance from the center of projection to project plane is infinite. In this type of projection, we connect the projected vertices by line segments which correspond to connections on the original object.
Parallel projections are less realistic, but they are good for exact measurements. In this type of projections, parallel lines remain parallel and angles are not preserved. Various types of parallel projections are shown in the following hierarchy.
Parallel Projection

Orthographic Projection

In orthographic projection the direction of projection is normal to the projection of the plane. There are three types of orthographic projections −
  • Front Projection
  • Top Projection
  • Side Projection
Orthographic Projections

Oblique Projection

In oblique projection, the direction of projection is not normal to the projection of plane. In oblique projection, we can view the object better than orthographic projection.
There are two types of oblique projections − Cavalier and Cabinet. The Cavalier projection makes 45° angle with the projection plane. The projection of a line perpendicular to the view plane has the same length as the line itself in Cavalier projection. In a cavalier projection, the foreshortening factors for all three principal directions are equal.
The Cabinet projection makes 63.4° angle with the projection plane. In Cabinet projection, lines perpendicular to the viewing surface are projected at ½ their actual length. Both the projections are shown in the following figure −
Cavalier and Cabinet Projection

Isometric Projections

Orthographic projections that show more than one side of an object are called axonometric orthographic projections. The most common axonometric projection is an isometric projection where the projection plane intersects each coordinate axis in the model coordinate system at an equal distance. In this projection parallelism of lines are preserved but angles are not preserved. The following figure shows isometric projection −
Isometric Projections

Perspective Projection

In perspective projection, the distance from the center of projection to project plane is finite and the size of the object varies inversely with distance which looks more realistic.
The distance and angles are not preserved and parallel lines do not remain parallel. Instead, they all converge at a single point called center of projection or projection reference point. There are 3 types of perspective projections which are shown in the following chart.
  • One point perspective projection is simple to draw.
  • Two point perspective projection gives better impression of depth.
  • Three point perspective projection is most difficult to draw.
Perspective Projections Types The following figure shows all the three types of perspective projection −
Three Types of Perspective Projections

Translation

In 3D translation, we transfer the Z coordinate along with the X and Y coordinates. The process for translation in 3D is similar to 2D translation. A translation moves an object into a different position on the screen.
The following figure shows the effect of translation −
3D Translation A point can be translated in 3D by adding translation coordinate (tx,ty,tz)
to the original coordinate (X, Y, Z) to get the new coordinate (X’, Y’, Z’).
T=100tx010ty001tz0001
P’ = P∙T
[X'Y'Z'1]=[XYZ1]100tx010ty001tz0001
=[X+txY+tyZ+tz1]

Rotation

3D rotation is not same as 2D rotation. In 3D rotation, we have to specify the angle of rotation along with the axis of rotation. We can perform 3D rotation about X, Y, and Z axes. They are represented in the matrix form as below −
Rx(θ)=10000cosθsinθ00sinθcosθ00001Ry(θ)=cosθ0sinθ00100sinθ0cosθ00001Rz(θ)=cosθsinθ00sinθcosθ0000100001
The following figure explains the rotation about various axes −
Rotation 3D Rotation

Scaling

You can change the size of an object using scaling transformation. In the scaling process, you either expand or compress the dimensions of the object. Scaling can be achieved by multiplying the original coordinates of the object with the scaling factor to get the desired result. The following figure shows the effect of 3D scaling −
3D Scaling In 3D scaling operation, three coordinates are used. Let us assume that the original coordinates are (X, Y, Z), scaling factors are (SX,SY,Sz)
respectively, and the produced coordinates are (X’, Y’, Z’). This can be mathematically represented as shown below −
S=Sx0000Sy0000Sz00001
P’ = P∙S
[XYZ1]=[XYZ1]Sx0000Sy0000Sz00001
=[X.SxY.SyZ.Sz1]

Shear

A transformation that slants the shape of an object is called the shear transformation. Like in 2D shear, we can shear an object along the X-axis, Y-axis, or Z-axis in 3D.
Shear As shown in the above figure, there is a coordinate P. You can shear it to get a new coordinate P', which can be represented in 3D matrix form as below −
Sh=1shxyshxz0shyx1shyz0shzxshzy100001
P’ = P ∙ Sh
X=X+ShyxY+ShzxZ
Y=ShxyX+Y+shzyZ
Z=ShxzX+ShyzY+Z

Comments

Popular posts from this blog

Formal Languages and Automata Theory