Gráficos por computadora: transformaciones de rotación 3D

La rotación en 3D tiene más matices en comparación con la transformación de rotación en 2D, ya que en la rotación 3D tenemos que lidiar con 3 ejes (x, y, z). 

un

que

  • Rotación sobre el eje X,
  • Rotación sobre el eje Y,
  • Rotación sobre el eje Z.

1) Rotación sobre el eje x: en este tipo de rotación, el objeto gira paralelo al eje x (eje principal) , donde la coordenada x permanece sin cambios y el resto de las dos coordenadas y y z solo cambian. Considere un punto con la coordenada inicial P (x, y, z) en el espacio 3D que gira paralelo al eje principal (eje x). La posición de las coordenadas cambiaría a P'(x,y,z). 

Se utiliza una array de transformación de rotación para calcular la nueva coordenada de posición P’, que se muestra a continuación:

\large\hspace{4cm}\R_x=\left[\begin{matrix}1&0&0&0\\ 0&cos(\theta)&sin(\theta)&0\\ 0&-sin(\theta)&cos(\theta)&0\\ 0&0&0&1\end{matrix}\right]\\ \newline \\\,\,\hspace{5cm}where\, \theta\, is\, rotation\,angle.\\

\\ \large\hspace{5cm}\mathbf{P'[x_n\,\,y_n\,\,z_n\,\,1]=P[x\,y\,z\,1].R_x}\newline \newline\hspace{5cm}X_n = X_o \hspace{2cm} \textbf{no\,\,change\,\,in\,\,x-coordinate}\\ \hspace{5cm} Y_n = Y_o\,.cosθ\,-\,Z_o\,.sinθ \newline \hspace{5cm} Z_n = Y_o\,.sinθ + Z_o\,.cosθ\\ \\\\ \hspace{3cm}\mathbf{P'[x_n\,\,y_n\,\,z_n\,\,1]\hspace{0.2cm}is\hspace{0.2cm}the\hspace{0.2cm}new\hspace{0.2cm}position\hspace{0.2cm}of\hspace{0.2cm}coordinate\hspace{0.2cm}P[x\,\,y\,\,x\,\,1].}

Rotación a lo largo del eje x

 

2) Rotación sobre el eje y: en este tipo de rotación, el objeto gira paralelo al eje y (eje principal), donde la coordenada y permanece sin cambios y el resto de las dos coordenadas x y z solo cambian.

\large\hspace{4cm}\R_y=\left[\begin{matrix}cos(\theta)&0&-sin(\theta)&0\\ 0&1&0&0\\ sin(\theta)&0&cos(\theta)&0\\ 0&0&0&1\end{matrix}\right]\\ \newline \\\,\,\hspace{5cm}where\, \theta\, is\, rotation\,angle.\\ \newline \newline

Rotación a lo largo del eje y

 Considere un punto con la coordenada inicial P (x, y, z) en el espacio 3D que gira paralelo al eje principal (eje y). La posición de las coordenadas cambiaría a P'(x,y,z).

\large\hspace{5cm}\mathbf{P'[x\,y\,z\,1]=P[x\hspace{0.2cm}y\hspace{0.2cm} z\hspace{0.2cm}1].R_y}\\\\ \hspace{5cm} X_n =  x_o\,.cosθ+z_o\,.sinθ \newline \hspace{5cm} Y_n = y_o \hspace{2cm} \textbf{no\,\,change\,\,in\,\,y-coordinate}\\ \newline \hspace{5cm} Z_n = z_o\,.cos(θ)\,-\,x_o\,.sin(θ)\\ \,\, \hspace{3cm}\mathbf{P'[x_n\hspace{0.2cm}y_n\hspace{0.2cm}z_n\hspace{0.2cm}1]\hspace{0.2cm}is\hspace{0.2cm}the\hspace{0.2cm}new\hspace{0.2cm}position\hspace{0.2cm}of\hspace{0.2cm}coordinate\hspace{0.2cm}P[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1].} \\
 

3) Rotación sobre el eje z: en este tipo de rotación, el objeto gira paralelo al eje z (eje principal) , donde la coordenada z permanece sin cambios y el resto de las dos coordenadas x e y solo cambian.
\large\hspace{4cm}\R_z=\left[\begin{matrix}cos(\theta)&sin(\theta)&0&0\\ -sin(\theta)&cos(\theta)&0&0\\ 0&0&1&0\\ 0&0&0&1\end{matrix}\right]\\ \newline \\\,\,\hspace{5cm}where\, \theta\, is\, rotation\,angle. \\ \newline \newline

Rotación a lo largo del eje z

 Considere un punto con la coordenada inicial P (x, y, z) en el espacio 3D que gira paralelo al eje principal (eje y). La posición de las coordenadas cambiaría a P'(x,y,z).

\large\hspace{5cm}\mathbf{P'[x_n\hspace{0.2cm}y_n\hspace{0.2cm}z_n\hspace{0.2cm}1]=P[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1].R_z}\\\\ \newline \hspace{5cm} X_n = x_o\,.cosθ\,-\,y_o\,.sinθ \\ \hspace{5cm} Y_n = x_o\,.sinθ + y_o\,.cosθ \newline \hspace{5cm} Z_n = z_o \hspace{2cm} \textbf{no\,\,change\,\,in\,\,Z-coordinate}\\ \hspace{3cm}\mathbf{P'[x_n\hspace{0.2cm}y_n\hspace{0.2cm}z_n\hspace{0.2cm}1]\hspace{0.2cm}is\hspace{0.2cm}the\hspace{0.2cm}new\hspace{0.2cm}position\hspace{0.2cm}of\hspace{0.2cm}coordinate\hspace{0.2cm}P[x\hspace{0.2cm}y\hspace{0.2cm}x\hspace{0.2cm}1].}

Nota: el

 

Figura 1

Ahora, aplicaremos la transformación rotacional a lo largo (paralelo) del eje y, que es: 

\large\hspace{2cm}\R_y=\left[\begin{matrix}cos(\theta)&0&-sin(\theta)&0\\ 0&1&0&0\\ sin(\theta)&0&cos(\theta)&0\\ 0&0&0&1\end{matrix}\right]\\ \hspace{4cm}where\, \theta\, is\, rotation\,angle.\\ \newline
 

La coordenada O después de aplicar la transformación Rotacional, se convierte en:

\newline \mathbf{\large\hspace{2cm}\ O'[x\,\,y\,\,z\,\,1]=[0\hspace{0.1cm}0\hspace{0.1cm}0\hspace{0.1cm}1]\left[\begin{matrix}\frac{1}{\sqrt{2}}&0&\frac{-1}{\sqrt{2}}&0\\\\ 0&1&0&0\\\\ \frac{1}{\sqrt{2}}&0&\frac{1}{\sqrt{2}}&0\\\\ 0&0&0&1\end{matrix}\right] \hspace{0.1cm} =[0\hspace{0.1cm}0\hspace{0.1cm}0\hspace{0.1cm}1]} \newline \hspace{2cm}\mathbf{O'[x,y,z]=[0,0,0]} \newline
 

La coordenada A después de aplicar la transformación Rotacional, se convierte en:

\newline \mathbf{\large\hspace{2cm}\ A'[x\,\,y\,\,z\,\,1]=[0\hspace{0.2cm}4\hspace{0.2cm}0\hspace{0.2cm}1]\left[\begin{matrix}\frac{1}{\sqrt{2}}&0&\frac{-1}{\sqrt{2}}&0\\\\ 0&1&0&0\\\\ \frac{1}{\sqrt{2}}&0&\frac{1}{\sqrt{2}}&0\\\\ 0&0&0&1\end{matrix}\right] \hspace{0.1cm} =[0\hspace{0.2cm}4\hspace{0.2cm}0\hspace{0.2cm}1]} \newline \textbf{Here you can see that the Y-coordinate remains unchanged, \\i.e A[0,4,0]=A'[0,4,0].} \newline
 

La coordenada B después de aplicar la transformación Rotacional, se convierte en:

\newline \large \mathbf{\hspace{2cm}\ B'[x\,\,y\,\,z\,\,1]=[0\hspace{0.2cm}4\hspace{0.2cm}4\hspace{0.2cm}1]\left[\begin{matrix}\frac{1}{\sqrt{2}}&0&\frac{-1}{\sqrt{2}}&0\\\\ 0&1&0&0\\\\ \frac{1}{\sqrt{2}}&0&\frac{1}{\sqrt{2}}&0\\\\ 0&0&0&1\end{matrix}\right] \hspace{0.1cm} =[\frac{4}{\sqrt{2}}\hspace{0.2cm}4\hspace{0.2cm}\frac{4}{\sqrt{2}}\hspace{0.2cm}1]} \newline \hspace{2cm}\mathbf{B'[x,y,z]=[2\sqrt{2},4,2\sqrt{2}]} \\
 

La coordenada C después de aplicar la transformación Rotacional, se convierte en:

\newline \large \mathbf{\hspace{2cm}\ C'[x\,\,y\,\,z\,\,1]=[4\hspace{0.2cm}4\hspace{0.2cm}0\hspace{0.2cm}1]\left[\begin{matrix}\frac{1}{\sqrt{2}}&0&\frac{-1}{\sqrt{2}}&0\\\\ 0&1&0&0\\\\ \frac{1}{\sqrt{2}}&0&\frac{1}{\sqrt{2}}&0\\\\ 0&0&0&1\end{matrix}\right] \hspace{0.1cm} =[\frac{4}{\sqrt{2}}\hspace{0.3cm}4\hspace{0.3cm}\frac{-4}{\sqrt{2}}\hspace{0.3cm}1]} \newline \hspace{2cm}\mathbf{C'[x,y,z]=[2\sqrt{2},4,-2\sqrt{2}]} \\
 

La coordenada D después de aplicar la transformación Rotacional, se convierte en:

\newline \large \mathbf{\hspace{2cm}\ D'[x\,\,y\,\,z]=[4\hspace{0.2cm}4\hspace{0.2cm}4\hspace{0.2cm}1]\left[\begin{matrix}\frac{1}{\sqrt{2}}&0&\frac{-1}{\sqrt{2}}&0\\\\ 0&1&0&0\\\\ \frac{1}{\sqrt{2}}&0&\frac{1}{\sqrt{2}}&0\\\\ 0&0&0&1\end{matrix}\right] \hspace{0.1cm} =[(\frac{4}{\sqrt{2}}+\frac{4}{\sqrt{2}})\hspace{0.3cm}4\hspace{0.3cm}(\frac{4}{\sqrt{4}}-\frac{4}{\sqrt{2}})\hspace{0.3cm}1]}\newline \hspace{2cm}\mathbf{D'[x,y,z]=[4\sqrt{2},4,0]} \\
 

La coordenada E después de aplicar la transformación Rotacional, se convierte en:

\newline \large {\hspace{2cm}\mathbf{ E'[x\,\,y\,\,z\,\,1]=[4\hspace{0.2cm}0\hspace{0.2cm}0\hspace{0.2cm}1]\left[\begin{matrix}\frac{1}{\sqrt{2}}&0&\frac{-1}{\sqrt{2}}&0\\\\ 0&1&0&0\\\\ \frac{1}{\sqrt{2}}&0&\frac{1}{\sqrt{2}}&0\\\\ 0&0&0&1\end{matrix}\right] \hspace{0.1cm} =[\frac{4}{\sqrt{2}}\hspace{0.3cm}0\hspace{0.3cm}\frac{-4}{\sqrt{2}}\hspace{0.3cm}1]}} \\ \hspace{2cm}\mathbf{E'[x,y,z]=[2\sqrt{2},0,-2\sqrt{2}]} \newline
 

La coordenada F después de aplicar la transformación Rotacional, se convierte en:

\newline \large\mathbf{\hspace{2cm}\ F'[x\,\,y\,\,z\,\,1]=[0\hspace{0.2cm}0\hspace{0.2cm}4\hspace{0.2cm}1]\left[\begin{matrix}\frac{1}{\sqrt{2}}&0&\frac{-1}{\sqrt{2}}&0\\\\ 0&1&0&0\\\\ \frac{1}{\sqrt{2}}&0&\frac{1}{\sqrt{2}}&0\\\\ 0&0&0&1\end{matrix}\right] \hspace{0.1cm} =[\frac{4}{\sqrt{2}}\hspace{0.3cm}0\hspace{0.3cm}\frac{4}{\sqrt{2}}\hspace{0.3cm}1]} \newline \hspace{2cm}\mathbf{F'[x,y,z]=[2\sqrt{2},0,2\sqrt{2}]} \newline
 

La coordenada G después de aplicar la transformación Rotacional, se convierte en:

\newline \large \mathbf{\hspace{2cm}\ G'[x\,\,y\,\,z\,\,1]=[4\hspace{0.2cm}0\hspace{0.2cm}4\hspace{0.2cm}1]\left[\begin{matrix}\frac{1}{\sqrt{2}}&0&\frac{-1}{\sqrt{2}}&0\\\\ 0&1&0&0\\\\ \frac{1}{\sqrt{2}}&0&\frac{1}{\sqrt{2}}&0\\\\ 0&0&0&1\end{matrix}\right] \hspace{0.1cm} =[(\frac{4}{\sqrt{2}}+\frac{4}{\sqrt{2}})\hspace{0.3cm}0\hspace{0.3cm}(\frac{4}{\sqrt{2}}-\frac{4}{\sqrt{2})}\hspace{0.3cm}1]} \newline \hspace{2cm}\mathbf{G'[x,y,z]=[4\sqrt{2},0,0]}\newline
 

 

Publicación traducida automáticamente

Artículo escrito por madhav_mohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *