4

Click here to load reader

Rotación utilizando cuaterniones

Embed Size (px)

DESCRIPTION

Se presenta cómo realizar la rotación de una función con el uso de cuaterniones.

Citation preview

Page 1: Rotación utilizando cuaterniones

ROTACIÓN CON CUATERNIONES

La principal ventaja de la utilización de los cuaterniones para representar una rotaciónes que se puede evitar el problema de singularidad, esto quiere decir que exista alguna inde-terminación al querer rotar con un cierto ángulo.

Para poder realizar la rotación con cuaterniones se lleva a cabo un largo proceso operativoeste proceso implica productos escalares y vectoriales. Además de que se deben tomar encuenta los operadores a la hora de realizar alguna multiplicación ya que estos influyen en lossignos de cada número. Dentro de los parámetros necesarios para poder realizar rotacionescon el uso de cuaterniones se necesita un ángulo de rotación, eje de rotación y la función,objeto o elemento a rotar.

Para poder realizar estas rotaciones por medio del uso de un software de cálculo numéricose puede utilizar el código que se explicará brevemente.

En la FIGURA 1 se muestra un fragmento del código total, en éste fragmento se encuentrauna función llamada "meshgrid"que mediante la declaración de una variable en este caso Xy Y genera una matriz tanto para X y tanto para Y que contendrá los componentes en el eje"x 2en el eje 2"de la función a realizar.

Figura 1: Función meshgrid

En la FIGURA 2 se muestra otro fragmento del código que a continuación se explicará:En la FIGURA 1 se mostró una variable llamada cen, esta variable sirve para poder

realizar un ciclo con centinela. En la línea 7 de la figura 2 se pide que se ingrese un valor 0o 1 para poder salir o seguir en el programa. En las líneas 12, 13 y 14 de la misma figurason para poder pedir los valores de los componentes que forman el eje arbitrario en el quese quiere rotar al rededor. La variable inc de la línea 16 es para que el programa pida unaespecie de resolución o tamaño de paso del ángulo. La variable lim de la línea 18 es paraingresar el ángulo al que se quiere girar. De la línea 20 a la 22 hay una condición que sirvepara poder saber si se desea girar en sentido positivo o negativo, si el ángulo es negativo lavariable inc se hace negativa haciendo que el valor del tamaño también se haga negativo. Lavariable magv es la magnitud de los componentes ingresados en las líneas 12, 13 y 14. En laslíneas 28, 29 y 30 se normalizan los valores de los componentes del eje arbitrario. La variableeje es un vector con los valores de la normalización que se realizó anteriormente. La variableZ es la función a graficar, en este caso es una función que se conoce como silla de montarque está dada por la siguiente ecuación:

Z = X2 − Y 2

La función surf que se muestra en la línea 36 sirve para poder hacer un plano que cubrao una puntos de una matriz, esta matriz se realizo con anterioridad con la función meshgrid.

En la FIGURA 3 se muestra otro fragmento del código.El ciclo for que se encuentra en la línea 39 es utilizado para poder visualizar la rotación de

la figura ya que con este ciclo se puede variar el ángulo. El ciclo for de la línea 40 sirve parapoder variar las columnas de las matrices de las componentes x, y, y z de la función "silla".

1

Page 2: Rotación utilizando cuaterniones

Figura 2: Frágmento de código para la rotación con cuaterniones.

2

Page 3: Rotación utilizando cuaterniones

Figura 3: Fragmento del código para la rotación con cuaterniones

3

Page 4: Rotación utilizando cuaterniones

El ciclo for que se encuentra en la línea 41 sirve para variar las filas de la matriz que se hablóanteriormente, estos últimos dos ciclos son utilizados para acceder a cada uno de los puntos dela función "silla". Las variables .A 2.An.es el cuaternión normalizado y al cuaternión conjugadorespectivamente, que son necesarios para poder llevar a cabo la operación de rotación. En lamatriz M que se muestra en la línea 47 se agrupan las tres matrices que corresponden a las trescomponentes de la función en x, y y z, ya que que los cuaterniones son de cuatro elementos a lamatriz M se le ingresa un cero al inicio para que puedan corresponder las mismas dimensionesde los vectores. La función "MULTIPLICACIONrepresenta el producto de cuaterniones quedicha función tiene como argumentos al cuaternión normalizado, al cuaternión conjugado ya la matriz que contiene los componentes de la función en tres dimensiones, esta función semuestra en la FIGURA 4. En las líneas 51 a 53, después de haber llevado a cabo el productode los cuaterniones, se realiza una agrupación de los componentes en x, y y z de la figurapara poder aplicar la función surf.

Figura 4: Función para poder realizar el producto de cuaterniones.

4