Home | Develop | Download | Contact
Namespaces
Funciones Pds::Matrix – Rotación

Funciones que usan Pds::Matrix, Ejemplo: Pds::Rot2D(), Pds::RotX(), Pds::RotY(), Pds::RotZ(), etc. Más...

Namespaces

namespace  Pds
 Nombre de espacio para Pds (Procesamiento Digital de Senales)
 

funciones para rotar matrices coordenadas en 2 dimensines

Descripción de algunas funciones que usan Pds::Matrix.

Pds::Matrix Pds::Rot2D (double theta)
 Retorna una matriz de rotación anti-horaria en 2 dimensiones. Más...
 
Pds::Matrix Pds::RotX (double RadAngle)
 Retorna una matriz de rotación anti-horaria al rededor del eje X en 3 dimensiones. Más...
 
Pds::Matrix Pds::RotY (double RadAngle)
 Retorna una matriz de rotación anti-horaria al rededor del eje Y en 3 dimensiones. Más...
 
Pds::Matrix Pds::RotZ (double RadAngle)
 Retorna una matriz de rotación anti-horaria al rededor del eje Z en 3 dimensiones. Más...
 

Descripción detallada

Funciones que usan Pds::Matrix, Ejemplo: Pds::Rot2D(), Pds::RotX(), Pds::RotY(), Pds::RotZ(), etc.

#include <Pds/FuncMatrixRotation>


Estas funciones trabajan con una matriz de la forma.

\[
\mathbf{A}=\left(\begin{matrix}
a_{00} & a_{01} & \cdots & a_{0(Ncol-1)}\\ 
a_{10} & a_{11} & \cdots & a_{1(Ncol-1)}\\
\vdots & \vdots & \vdots & \vdots \\
a_{(Nlin-2)0} & a_{(Nlin-2)1} & \cdots & a_{(Nlin-2)(Ncol-1)}\\ 
a_{(Nlin-1)0} & a_{(Nlin-1)1} & \cdots & a_{(Nlin-1)(Ncol-1)}\\
\end{matrix}\right)\equiv A_{(Nlin-1),(Ncol-1)}
   \]

\[
A_{(Nlin-1),(Ncol-1)}\equiv [a_{i,j}]_{(Nlin-1),(Ncol-1)}
   \]

nlin es el número de lineas y ncol es el número de columnas.

Informacion adicional puede ser encontrada en [5]

Documentación de las funciones

◆ Rot2D()

Pds::Matrix Pds::Rot2D ( double  theta)

Retorna una matriz de rotación anti-horaria en 2 dimensiones.

\[
R_{\theta}=\left(\begin{matrix}
cos(\theta)&-sin(\theta) \\ 
sin(\theta)&cos(\theta)
\end{matrix}\right)=\left( \begin{matrix} e_{1}(\theta) & e_{2}(\theta) \end{matrix} \right)
   \]

El punto $P$ rotacionado puede ser encontrado ahora en $P_R$

\[ P_R = R_{\theta} P \]


Pds::Matrix R=Pds::Ra::Rot2D(Pds::Ra::Pi/4);
Pds::Vector P=Pds::X2D();
Pds::Vector V= R*P; 

P.T().Print("P:\t");
V.T().Print("V:\t");

La salida sería:

P:  1 0
V:  0.70710678118655 0.70710678118655 
Parámetros
[in]thetaÁngulo de rotación anti-horaria en radianes.
Devuelve
Retorna una matriz de rotación anti-horaria en 2 dimensiones.
Ejemplos
example_matrixrotation.cpp.

◆ RotX()

Pds::Matrix Pds::RotX ( double  RadAngle)

Retorna una matriz de rotación anti-horaria al rededor del eje X en 3 dimensiones.

\[
R_{X}=\left(\begin{matrix}
1&0&0\\
0&cos(\theta)&-sin(\theta) \\ 
0&sin(\theta)&cos(\theta)
\end{matrix}\right)=\left( \begin{matrix} e_{1} & e_{2}(\theta) & e_{3}(\theta) \end{matrix} \right)
   \]

El punto $P$ rotacionado puede ser encontrado ahora en $P_R$

\[ P_R = R_{X} P \]


Pds::Matrix R=Pds::Ra::RotX(Pds::Ra::Pi/4);
Pds::Vector Z=Pds::Z3D();
Pds::Vector V= R*Z; 

Z.T().Print("Z:\t");
V.T().Print("V:\t");

La salida sería:

P:  0 0 1
V:  0 -0.70710678118655 0.70710678118655
Parámetros
[in]RadAngleÁngulo de rotación horaria en radianes.
Devuelve
Retorna una matriz de rotación anti-horaria al rededor del eje X en 3 dimensiones.
Ejemplos
example_matrixrotation.cpp.

◆ RotY()

Pds::Matrix Pds::RotY ( double  RadAngle)

Retorna una matriz de rotación anti-horaria al rededor del eje Y en 3 dimensiones.

\[
R_{Y}=\left(\begin{matrix}
cos(\theta)&0&sin(\theta)\\
0&1&0 \\ 
-sin(\theta)&0&cos(\theta)
\end{matrix}\right)=\left(\begin{matrix} e_{1}(\theta) & e_{2} & e_{3}(\theta) \end{matrix}\right)
   \]

El punto $P$ rotacionado puede ser encontrado ahora en $P_R$

\[ P_R = R_{Y} P \]


Pds::Matrix R=Pds::Ra::RotY(Pds::Ra::Pi/4);
Pds::Vector Z=Pds::Z3D();
Pds::Vector V= R*Z; 

Z.T().Print("Z:\t");
V.T().Print("V:\t");

La salida sería:

P:  0 0 1
V:  0.70710678118655 0 0.70710678118655
Parámetros
[in]RadAngleÁngulo de rotación horaria en radianes.
Devuelve
Retorna una matriz de rotación anti-horaria al rededor del eje Y en 3 dimensiones.
Ejemplos
example_matrixrotation.cpp.

◆ RotZ()

Pds::Matrix Pds::RotZ ( double  RadAngle)

Retorna una matriz de rotación anti-horaria al rededor del eje Z en 3 dimensiones.

\[
R_{Z}=\left(\begin{matrix}
cos(\theta)&-sin(\theta)&0\\
sin(\theta)&cos(\theta)&0 \\ 
0&0&1
\end{matrix}\right)=\left( \begin{matrix}e_{1}(\theta) &e_{2}(\theta) &e_{3} \end{matrix}\right)
   \]

El punto $P$ rotacionado puede ser encontrado ahora en $P_R$

\[ P_R = R_{Z} P \]


Pds::Matrix R=Pds::Ra::RotZ(Pds::Ra::Pi/4);
Pds::Vector Z=Pds::Z3D();
Pds::Vector V= R*Z; 

Z.T().Print("Z:\t");
V.T().Print("V:\t");

La salida sería:

P:  0 0 1
V:  0 0 1
Parámetros
[in]RadAngleÁngulo de rotación horaria en radianes.
Devuelve
Retorna una matriz de rotación anti-horaria al rededor del eje Z en 3 dimensiones.
Ejemplos
example_matrixrotation.cpp.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed