Home | Develop | Download | Contact
Estructuras de datos | 'defines' | Funciones
Funciones del módulo PdsQuaternion.

Estructuras de datos

struct  PdsQuaternion
 La estructura tipo PdsQuaternion . Más...
 

'defines'

#define PDS_QRECT(A, B, C, D)   pds_quaternion_rect(A,B,C,D)
 Es equivalente a A+Bi+Ci+Di. Más...
 
#define PDS_QPOLAR(A, B, C, D)   pds_quaternion_polar(A,B,C,D)
 Es equivalente a (A*e^{Bi+Cj+Dk}). Más...
 
#define PDS_QADDQ(A, B)   pds_quaternion_add_quaternion(A,B)
 Es equivalente a (A+B). Más...
 
#define PDS_QADDR(A, B)   pds_quaternion_add_real(A,B)
 Es equivalente a (A+B). Más...
 
#define PDS_QSUBQ(A, B)   pds_quaternion_sub_quaternion(A,B)
 Es equivalente a (A-B). Más...
 
#define PDS_QSUBR(A, B)   pds_quaternion_sub_real(A,B)
 Es equivalente a (A-B). Más...
 
#define PDS_QMULQ(A, B)   pds_quaternion_mul_quaternion(A,B)
 Es equivalente a (A*B). Más...
 
#define PDS_QMULR(A, B)   pds_quaternion_mul_real(A,B)
 Es equivalente a (A*B). Más...
 
#define PDS_QDIVQ(A, B)   pds_quaternion_div_quaternion(A,B)
 Es equivalente a (A/B). Más...
 
#define PDS_QDIVR(A, B)   pds_quaternion_div_real(A,B)
 Es equivalente a (A/B). Más...
 
#define PDS_QINV(A)   pds_quaternion_inv(A)
 Es equivalente a b=a^{-1}. Más...
 
#define PDS_QUNIT(A)   pds_quaternion_unit(A)
 Es equivalente a b=a/|a|. Más...
 
#define PDS_QCONJ(A)   pds_quaternion_conj(A)
 Es equivalente a conjugate(A). Más...
 
#define PDS_QEXP(B)   pds_quaternion_exp(B)
 Es equivalente a exp(B),B=W+Xi+Yj+Zk.. Más...
 
#define PDS_QLOG(B)   pds_quaternion_log(B)
 Es equivalente a ln(B),B=W+Xi+Yj+Zk.. Más...
 
#define PDS_QPOW(B, a)   pds_quaternion_pow(B,a)
 Es equivalente a pow(B,a),B=W+Xi+Yj+Zk, siendo 'a' real. Más...
 
#define PDS_QNORM(A)   pds_quaternion_norm(A)
 Es equivalente a |A|=sqrt(A.W^2+A.X^2+A.Y^2+A.Z^2). Más...
 
#define PDS_QNORM2(A)   pds_quaternion_norm2(A)
 Es equivalente a |A|=(A.W^2+A.X^2+A.Y^2+A.Z^2). Más...
 
#define PDS_QGYRO(Wx, Wy, Wz, dt)   pds_quaternion_gyro(Wx,Wy,Wz,dt)
 Es el quaternio de giro 'q' proveniente del vector de velocidad angular (Wx,Wy,Wz), muestreado un tiempo dt. Más...
 

Funciones

PdsQuaternion pds_quaternion_rect (PdsCnReal w, PdsCnReal x, PdsCnReal y, PdsCnReal z)
 Crea la variable complejas. q=w+xi+yi+zi. Más...
 
PdsQuaternion pds_quaternion_polar (PdsCnReal a, PdsCnReal b, PdsCnReal c, PdsCnReal d)
 Evalua de forma polar. ae^{bi+cj+dk}. Más...
 
PdsQuaternion pds_quaternion_add_quaternion (PdsQuaternion a, PdsQuaternion b)
 Suma dos quaternios. a+b. Más...
 
PdsQuaternion pds_quaternion_add_real (PdsQuaternion a, PdsCnReal b)
 Suma un quaternio y una real. a+b. Más...
 
PdsQuaternion pds_quaternion_sub_quaternion (PdsQuaternion a, PdsQuaternion b)
 Resta dos quaternios. a-b. Más...
 
PdsQuaternion pds_quaternion_sub_real (PdsQuaternion a, PdsCnReal b)
 Resta un quaternio y una real. a-b Más...
 
PdsQuaternion pds_quaternion_mul_quaternion (PdsQuaternion a, PdsQuaternion b)
 Multiplica dos quaternios. a*b. Más...
 
PdsQuaternion pds_quaternion_mul_real (PdsQuaternion a, PdsCnReal b)
 Multiplica un quaternio y una real. a*b. Más...
 
PdsQuaternion pds_quaternion_div_quaternion (PdsQuaternion a, PdsQuaternion b)
 Divide dos quaternios. a/b Más...
 
PdsQuaternion pds_quaternion_div_real (PdsQuaternion a, PdsCnReal b)
 Divide un quaternio y una real. a/b. Más...
 
PdsQuaternion pds_quaternion_inv (PdsQuaternion a)
 Retona el inverso de un quaternio a. b=a^{-1}. Más...
 
PdsQuaternion pds_quaternion_unit (PdsQuaternion a)
 Retona un quaternio unitario de un quaternio a. b=a/|a|. Más...
 
PdsQuaternion pds_quaternion_conj (PdsQuaternion a)
 Retona el conjugado de un quaternio. b=a.W-a.X i-a.Y j-a.Z k. Más...
 
PdsQuaternion pds_quaternion_exp (PdsQuaternion q)
 Evalua exp(q),q=W+Xi+Yj+Zk. Más...
 
PdsQuaternion pds_quaternion_log (PdsQuaternion q)
 Evalua ln(q),q=W+Xi+Yj+Zk. Más...
 
PdsQuaternion pds_quaternion_pow (PdsQuaternion q, PdsCnReal a)
 Evalua pow(q,a),q=W+Xi+Yj+Zk, siendo 'a' real. Más...
 
PdsCnReal pds_quaternion_norm (PdsQuaternion a)
 Evalua |a|. |a|=sqrt(a.W^2+a.X^2+a.Y^2+a.Z^2). Más...
 
PdsCnReal pds_quaternion_norm2 (PdsQuaternion a)
 Evalua |a|^2. |a|^2=(a.W^2+a.X^2+a.Y^2+a.Z^2). Más...
 
PdsQuaternion pds_quaternion_gyro (PdsCnReal Wx, PdsCnReal Wy, PdsCnReal Wz, PdsCnReal dt)
 Retorna un quaternio de giro q, provocado por el vetor de velocidad angular W = (Wx,Wy,Wz) = Wx i + Wy j + Wz k con un tiempo hasta la muestra anterior de 'dt'. Más...
 

Descripción detallada

Documentación de los 'defines'

#define PDS_QRECT (   A,
  B,
  C,
 
)    pds_quaternion_rect(A,B,C,D)

Es equivalente a A+Bi+Ci+Di.

Definición en la línea 72 del archivo pdsquaternion.h.

#define PDS_QPOLAR (   A,
  B,
  C,
 
)    pds_quaternion_polar(A,B,C,D)

Es equivalente a (A*e^{Bi+Cj+Dk}).

Definición en la línea 94 del archivo pdsquaternion.h.

#define PDS_QADDQ (   A,
 
)    pds_quaternion_add_quaternion(A,B)

Es equivalente a (A+B).

Definición en la línea 117 del archivo pdsquaternion.h.

#define PDS_QADDR (   A,
 
)    pds_quaternion_add_real(A,B)

Es equivalente a (A+B).

Definición en la línea 134 del archivo pdsquaternion.h.

#define PDS_QSUBQ (   A,
 
)    pds_quaternion_sub_quaternion(A,B)

Es equivalente a (A-B).

Definición en la línea 151 del archivo pdsquaternion.h.

#define PDS_QSUBR (   A,
 
)    pds_quaternion_sub_real(A,B)

Es equivalente a (A-B).

Definición en la línea 168 del archivo pdsquaternion.h.

#define PDS_QMULQ (   A,
 
)    pds_quaternion_mul_quaternion(A,B)

Es equivalente a (A*B).

Definición en la línea 184 del archivo pdsquaternion.h.

#define PDS_QMULR (   A,
 
)    pds_quaternion_mul_real(A,B)

Es equivalente a (A*B).

Definición en la línea 201 del archivo pdsquaternion.h.

#define PDS_QDIVQ (   A,
 
)    pds_quaternion_div_quaternion(A,B)

Es equivalente a (A/B).

Definición en la línea 217 del archivo pdsquaternion.h.

#define PDS_QDIVR (   A,
 
)    pds_quaternion_div_real(A,B)

Es equivalente a (A/B).

Definición en la línea 234 del archivo pdsquaternion.h.

#define PDS_QINV (   A)    pds_quaternion_inv(A)

Es equivalente a b=a^{-1}.

Definición en la línea 250 del archivo pdsquaternion.h.

#define PDS_QUNIT (   A)    pds_quaternion_unit(A)

Es equivalente a b=a/|a|.

Definición en la línea 269 del archivo pdsquaternion.h.

#define PDS_QCONJ (   A)    pds_quaternion_conj(A)

Es equivalente a conjugate(A).

Definición en la línea 288 del archivo pdsquaternion.h.

#define PDS_QEXP (   B)    pds_quaternion_exp(B)

Es equivalente a exp(B),B=W+Xi+Yj+Zk..

Definición en la línea 307 del archivo pdsquaternion.h.

#define PDS_QLOG (   B)    pds_quaternion_log(B)

Es equivalente a ln(B),B=W+Xi+Yj+Zk..

Definición en la línea 325 del archivo pdsquaternion.h.

#define PDS_QPOW (   B,
 
)    pds_quaternion_pow(B,a)

Es equivalente a pow(B,a),B=W+Xi+Yj+Zk, siendo 'a' real.

Definición en la línea 344 del archivo pdsquaternion.h.

#define PDS_QNORM (   A)    pds_quaternion_norm(A)

Es equivalente a |A|=sqrt(A.W^2+A.X^2+A.Y^2+A.Z^2).

Definición en la línea 366 del archivo pdsquaternion.h.

#define PDS_QNORM2 (   A)    pds_quaternion_norm2(A)

Es equivalente a |A|=(A.W^2+A.X^2+A.Y^2+A.Z^2).

Definición en la línea 385 del archivo pdsquaternion.h.

#define PDS_QGYRO (   Wx,
  Wy,
  Wz,
  dt 
)    pds_quaternion_gyro(Wx,Wy,Wz,dt)

Es el quaternio de giro 'q' proveniente del vector de velocidad angular (Wx,Wy,Wz), muestreado un tiempo dt.

Definición en la línea 403 del archivo pdsquaternion.h.

Documentación de las funciones

PdsQuaternion pds_quaternion_rect ( PdsCnReal  w,
PdsCnReal  x,
PdsCnReal  y,
PdsCnReal  z 
)

Crea la variable complejas. q=w+xi+yi+zi.

\[ q=w+xi+yj+zk\]

Parámetros
[in]wParte real.
[in]xParte imaginaria vinculada a i.
[in]yParte imaginaria vinculada a j.
[in]zParte imaginaria vinculada a k.
Devuelve
Un quaternio.
PdsQuaternion pds_quaternion_polar ( PdsCnReal  a,
PdsCnReal  b,
PdsCnReal  c,
PdsCnReal  d 
)

Evalua de forma polar. ae^{bi+cj+dk}.

\[\sqrt{b^2+c^2+d^2}=M\]

\[a~e^{bi+cj+dk}=a \left(cos(M)+sin(M)\frac{bi+cj+dk}{M}\right)\]

Parámetros
[in]aparametro 1 del quaternio.
[in]bparametro 2 del quaternio.
[in]cparametro 3 del quaternio.
[in]dparametro 4 del quaternio.
Devuelve
El valor complejo equivalente.
PdsQuaternion pds_quaternion_add_quaternion ( PdsQuaternion  a,
PdsQuaternion  b 
)

Suma dos quaternios. a+b.

Parámetros
[in]aQuaternio.
[in]bQuaternio.
Devuelve
La suma de ambas variables.
PdsQuaternion pds_quaternion_add_real ( PdsQuaternion  a,
PdsCnReal  b 
)

Suma un quaternio y una real. a+b.

Parámetros
[in]aQuaternio.
[in]bVariable real.
Devuelve
La suma de ambas variables.
PdsQuaternion pds_quaternion_sub_quaternion ( PdsQuaternion  a,
PdsQuaternion  b 
)

Resta dos quaternios. a-b.

Parámetros
[in]aQuaternio.
[in]bQuaternio.
Devuelve
La resta de ambas variables.
PdsQuaternion pds_quaternion_sub_real ( PdsQuaternion  a,
PdsCnReal  b 
)

Resta un quaternio y una real. a-b

Parámetros
[in]aQuaternio.
[in]bVariable real.
Devuelve
La resta de ambas variables.
PdsQuaternion pds_quaternion_mul_quaternion ( PdsQuaternion  a,
PdsQuaternion  b 
)

Multiplica dos quaternios. a*b.

Parámetros
[in]aQuaternio.
[in]bQuaternio.
Devuelve
La multiplicación de ambas variables.
PdsQuaternion pds_quaternion_mul_real ( PdsQuaternion  a,
PdsCnReal  b 
)

Multiplica un quaternio y una real. a*b.

Parámetros
[in]aQuaternio.
[in]bVariable real.
Devuelve
La multiplicación de ambas variables.
PdsQuaternion pds_quaternion_div_quaternion ( PdsQuaternion  a,
PdsQuaternion  b 
)

Divide dos quaternios. a/b

Parámetros
[in]aQuaternio.
[in]bQuaternio.
Devuelve
La división de ambas variables.
PdsQuaternion pds_quaternion_div_real ( PdsQuaternion  a,
PdsCnReal  b 
)

Divide un quaternio y una real. a/b.

Parámetros
[in]aQuaternio.
[in]bVariable real.
Devuelve
La división de ambas variables.
PdsQuaternion pds_quaternion_inv ( PdsQuaternion  a)

Retona el inverso de un quaternio a. b=a^{-1}.

\[\sqrt{W^2+X^2+Y^2+Z^2}=|a|\]

\[b=\frac{conj(a)}{|a|^2}\]

Parámetros
[in]aQuaternio.
Devuelve
el inverso de a.
PdsQuaternion pds_quaternion_unit ( PdsQuaternion  a)

Retona un quaternio unitario de un quaternio a. b=a/|a|.

\[\sqrt{W^2+X^2+Y^2+Z^2}=|a|\]

\[b=\frac{a}{|a|}\]

Parámetros
[in]aQuaternio.
Devuelve
el quaternio unitario de a.
PdsQuaternion pds_quaternion_conj ( PdsQuaternion  a)

Retona el conjugado de un quaternio. b=a.W-a.X i-a.Y j-a.Z k.

\[a=W+Xi+Yj+Zk\]

\[b=conj(a)=W-Xi-Yj-Zk\]

Parámetros
[in]aQuaternio.
Devuelve
el conjgado de a.
PdsQuaternion pds_quaternion_exp ( PdsQuaternion  q)

Evalua exp(q),q=W+Xi+Yj+Zk.

\[\sqrt{X^2+Y^2+Z^2}=M\]

\[e^{q}=e^W \left(cos(M)+sin(M)\frac{Xi+Yj+Zk}{M}\right)\]

Parámetros
[in]qQuaternio.
Devuelve
El exp(q).
PdsQuaternion pds_quaternion_log ( PdsQuaternion  q)

Evalua ln(q),q=W+Xi+Yj+Zk.

\[\sqrt{W^2+X^2+Y^2+Z^2}=|q|\]

\[\sqrt{X^2+Y^2+Z^2}=V\]

\[e^{q}=ln(|q|)+arccos\left(\frac{W}{|q|}\right)\frac{Xi+Yj+Zk}{V} \]

Parámetros
[in]qQuaternio.
Devuelve
El ln(q).
PdsQuaternion pds_quaternion_pow ( PdsQuaternion  q,
PdsCnReal  a 
)

Evalua pow(q,a),q=W+Xi+Yj+Zk, siendo 'a' real.

\[\sqrt{W^2+X^2+Y^2+Z^2}=|q|\]

\[\sqrt{X^2+Y^2+Z^2}=V\]

\[ \frac{W}{|q|}=cos(\theta )\]

\[q^a= |q|^a \left( cos(a \theta )+sin(a \theta ) \frac{Xi+Yj+Zk}{V} \right) \]

Parámetros
[in]qQuaternio.
[in]aVariable real.
Devuelve
El q^a.
PdsCnReal pds_quaternion_norm ( PdsQuaternion  a)

Evalua |a|. |a|=sqrt(a.W^2+a.X^2+a.Y^2+a.Z^2).

\[\sqrt{W^2+X^2+Y^2+Z^2}=|a|\]

Parámetros
[in]aQuaternio.
Devuelve
El |a|.
PdsCnReal pds_quaternion_norm2 ( PdsQuaternion  a)

Evalua |a|^2. |a|^2=(a.W^2+a.X^2+a.Y^2+a.Z^2).

\[W^2+X^2+Y^2+Z^2=|a|^2\]

Parámetros
[in]aQuaternio.
Devuelve
El |a|^2.
PdsQuaternion pds_quaternion_gyro ( PdsCnReal  Wx,
PdsCnReal  Wy,
PdsCnReal  Wz,
PdsCnReal  dt 
)

Retorna un quaternio de giro q, provocado por el vetor de velocidad angular W = (Wx,Wy,Wz) = Wx i + Wy j + Wz k con un tiempo hasta la muestra anterior de 'dt'.

Para calcular el quaternio, es usado :

\[|W|=\sqrt{{W_x}^2+{W_y}^2+{W_z}^2}\]

\[e_w=\frac{W}{|W|}\]

de modo que

\[\theta=|W|~dt\]

e

\[q=e^{\frac{\theta}{2}~e_w}=cos(\frac{\theta}{2})+sin(\frac{\theta}{2})e_w\]

Para mas información visitar fuente [1] .

Parámetros
[in]WxVelocidad angular en el eje X.
[in]WyVelocidad angular en el eje Y.
[in]WzVelocidad angular en el eje Z.
[in]dtTiempo de muestreo desde la muestra anterior.
Devuelve
El quaternio de rotación q.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed