Trojrozmerné geometrické transformácie

    Postup je podobný ako pri dvojrozmerných geometrických transformáciách.

Posunutie

    Postup je podobný ako pri dvojrozmerných geometrických transformáciách.

    Posunutie je určené vektorom posunutia  v = (Tx, Ty, Tz) a transformačnou maticou

     | 1  0  0  0 |
     | 0  1  0  0 |
Ap = | 0  0  1  0 |
     |Tx Ty Tz  1 |

Príklad : Bod so súradnicami (x, y, z) posunieme o vektor v =  (Tx, Ty, Tz).

             |  1  0  0  0 |
| x y z 1 |* |  0  1  0  0 | = | x+Tx y+Ty z+Tz 1 |
             |  0  0  1  0 |
             | Tx Ty Tz  1 |

Otočenie

    Otáčanie objektu v trojrozmernom priestore robíme pomocou otáčania okolo jednotlivých súradnicových osí.

Transformačná matica otáčania okolo x-ovej osi o uhol u :

     | 1   0     0    0 |
     | 0  cos u sin u 0 |
Ax = | 0 -sin u cos u 0 |
     | 0   0     0    1 |


$$$APPLET

Applet Otáčanie okolo osi x

Transformačná matica otáčania okolo y-ovej osi o uhol u :

     |  cos u  0 sin u  0 |
     |   0     1   0    0 |
Ay = | -sin u  0 cos u  0 |
     |   0     0   0    1 |

$$$APPLET

Applet Otáčanie okolo osi y

Transformačná matica otáčania okolo z-ovej osi o uhol u:

    | cos u sin u 0 0 |
    |-sin u cos u 0 0 |
Az =|  0     0    1 0 |
    |  0     0    0 1 |


$$$APPLET

Applet Otáčanie okolo osi z

Príklady otáčania:

Zoberme bod (X, Y, Z) a chceme ho otočiť okolo bodu (0, 0, 0)

1. rotácia okolo x osi o uhol u

 X' = X
 Y' = Y * cos(u) - Z * sin(u)
 Z' = Y * sin(u)  + Z *cos(u)

2. rotácia okolo y osi o uhol u

 X' = X * cos(u) + Z * sin(u)
 Y' = Y
 Z' = Z *cos(u) - X * sin(u)

3. rotácia okolo z osi o uhol u

 X' = X * cos(u) - Y * sin(u)
 Y' = Y *cos(u)+-X * sin(u)
 Z' = Z

Výsledný bod bude mať súradnice (X', Y', Z').

Zmena mierky ( ŠKÁLOVANIE )

    Zmena mierky v priestore je reprezentovaná nasledujúcou transformačnou maticou :

     | Sx  1 0  0 |
     |  1 Sy 0  0 |
As = |  0  0 Sz 0 | ,
     |  0  0  0 1 |
kde koeficienty Sx, Sy a Sz určujú zmenu mierky príslušnej súradnicovej osi.

Príklad : Vektor (x, y, z, 1) chceme zväčšiť na (x*Sx, y*Sy, z*Sz, 1)

Tento vektor vynásobíme príslušnou transformačnou maticu :

| sx 0  0  0 |
|  x y  z  1 | * | 0 sy 0 0 | = |x*sx y*sy z*sz 1|
|  0 0 sz  0 |
|  0 0  0  1 |

Súmernosť

Tak ako v rovine aj v priestore je súmernosť špeciálny prípad zmeny mierky, kde hodnoty Sx, Sy a Sz sú buď 1 alebo -1.

 
Sx
Sy
Sz
  súmernosť podľa osi x
<1
-1
-1
  súmernosť podľa osi y
-1
1
-1
  súmernosť podľa osi z
-1
-1
1
  súmernosť podľa roviny xy
1
1
-1
  súmernosť podľa roviny xy
1
-1
1
  súmernosť podľa roviny xy
-1
1
1
  stredová súmernosť
-1
-1
-1

Skosenie

    V priestore rozdeľujeme skosenie podľa smeru jednotlivých rovín xy,xz a yz. Hodnoty Sx,Sy a Sz určujú mieru skosenia pre jednotlivé smery.

    Matica transformácie skosenia podľa roviny xy je

      |  1  0 0 0 |
      |  0  1 0 0 |
Axy = | Sx Sy 0 0 |.
      |  0  0 0 1 |

Matica transformácie skosenia podľa roviny xz je

      |  1  0  0  0 |
      | Sx  1 Sz  0 |
Axz = |  0  1  1  0 |.
      |  0  0  0  1 |

Matica transformácie skosenia podľa roviny yz je

      | 1 Sy Sz 0 |
      | 0  1  0 0 |
Ayz = | 0  0  1 0 |.
      | 0  0  0 1 |