La Red de Conocimientos Pedagógicos - Conocimientos universitarios - Gráficos 3D: la historia de las matrices, los ángulos de Euler, los cuaterniones y las direcciones

Gráficos 3D: la historia de las matrices, los ángulos de Euler, los cuaterniones y las direcciones

He estado estudiando gráficos 3D durante las últimas dos semanas y quiero estudiarlos al máximo. Debido a los ángulos y cuaterniones de Euler, el progreso de la investigación de OpenGL ES se ha ralentizado. Después de aprender esta parte, te enseñaré cómo usar OpenGL ES para hacer un cubo regular con rotación y revolución. El efecto es el siguiente.

Antes de hablar de la relación entre matrices, ángulos de Euler, cuaterniones y desplazamiento angular, hablemos de la diferencia entre dirección, orientación y desplazamiento angular.

En la vida real, rara vez distinguimos la diferencia entre "dirección" y "azimut" (desde la perspectiva de los entusiastas del todoterreno). Por ejemplo, un amigo viene a visitarte pero puede bajarse en una parada de autobús. Vas a verlo, pero no lo encuentras y rápidamente lo llamas "Hermano, ¿en qué dirección estás?" o "Hermano, ¿dónde estás?". Si no saboreas estas dos frases con atención, ¿la diferencia? no es tan grande. Después de una dolorosa llamada telefónica, lo lograste, pero no te importaba la diferencia entre "dirección" y "orientación". Entonces, geométricamente, ¿cuál es la diferencia entre los dos?

Aquí, robaré algunos ejemplos del libro. Por ejemplo, seleccionar un vector a lo largo de su propia dirección no cambiará ninguno de sus atributos, como se muestra en la figura siguiente, porque un vector solo tiene dirección pero no orientación.

Entonces, para un objeto, la situación es diferente. Si un objeto mira en una dirección determinada y luego se gira, el objeto cambia en el espacio. Como se muestra en la figura siguiente, cuando el cono gira, su posición espacial cambiará, es decir, la orientación del cono cambiará.

Lo anterior nos da una comprensión aproximada de la diferencia entre la dirección y orientación de los objetos, entonces, ¿cómo describimos una orientación en el espacio? Esto requiere el uso de desplazamiento angular.

Hablemos primero de un ejemplo similar. ¿Cómo describimos la ubicación de un objeto en el espacio? Los objetos deben colocarse en un sistema de coordenadas específico (que parece aproximado). Por ejemplo, decimos que en un sistema de coordenadas hay un punto q r [0, 0, 1], y este punto está representado por su propio sistema de coordenadas. Si se colocan en otros sistemas de coordenadas, los tres vectores básicos actuales pueden cambiar. Esto se debe a que los puntos de referencia son diferentes. En cuanto a cómo cambia el vector base, necesitamos conocimientos sobre matrices de rotación en gráficos 3D: matrices y transformaciones lineales. No es necesario explicar tanto. Por ejemplo, en la figura siguiente, el nuevo sistema de coordenadas compuesto por los vectores p, Q, r Q, R está representado por el sistema de coordenadas original, como se muestra en la figura de la derecha.

De hecho, para nuestro desarrollo, sólo necesitamos saber que la orientación se puede representar mediante una matriz de 3×3. Esta matriz representa los vectores base transformados. A continuación, hablemos de las ventajas y desventajas de utilizar matrices para representar el desplazamiento angular. Tomaré simplemente lo que dice el libro. No es de extrañar que quieras estudiar para oficial.

Por supuesto, usamos matrices para representar desplazamientos angulares solo para comprender. A continuación, veamos cómo utilizar los ángulos de Euler para representar la orientación.

Muchas personas pueden estar expuestas a las matrices en la universidad, pero los ángulos de Euler pueden estar menos expuestos, al menos como estudiante de física. Al principio, pensé que los ángulos de Euler eran difíciles de entender, pero después de mirar gráficos 3D, descubrí que usar los ángulos de Euler para expresar la orientación es más intuitivo y más fácil de usar que las matrices. Echemos un vistazo al conocimiento relevante sobre los ángulos de Euler. (Los siguientes conceptos básicos son similares a los del libro, porque pensé que sería mejor escribir uno en el libro, así que lo escribí.

En primer lugar, la idea básica de Euler ángulos es descomponer el desplazamiento angular en tres Una secuencia de tres rotaciones de ejes mutuamente perpendiculares. Entonces, ¿cómo se definen estos tres ejes mutuamente perpendiculares? De hecho, tres ejes cualesquiera se pueden usar en cualquier orden, pero el más comúnmente usado es el. Sistema de coordenadas cartesianas. Una secuencia de rotaciones en un orden determinado. La convención más utilizada es la llamada convención "rumbo-inclinación-pendiente". En este sistema, la dirección se define como el ángulo de rumbo, el ángulo de inclinación. el ángulo de inclinación defina el ángulo de rumbo como la rotación alrededor del eje Y, el ángulo de inclinación como la rotación alrededor del eje X y el ángulo de inclinación como la rotación alrededor del eje Z. La ley de rotación sigue la regla de la mano izquierda (consulte el módulo de rotación en). "Gráficos 3D: transformación matricial y lineal" para más detalles). La idea es comenzar el objeto en una orientación "estándar", donde los ejes de coordenadas del objeto están alineados con los ejes de coordenadas inerciales, y luego hacer que el objeto alcance su orientación final en espacio después de la rotación en cabeceo, cabeceo e inclinación.

Por ejemplo, se muestra lo siguiente.

Inicialmente su propio eje coincide con el eje de inercia.

Luego establecí el ángulo de rumbo en 45. Según la regla de la mano izquierda (usualmente utilizada, pero no necesariamente mantenida, para determinar la dirección positiva de cada rotación usando la regla de la mano derecha o izquierda), la rotación será en el sentido de las agujas del reloj.

Entonces el sistema de coordenadas del objeto cambia de la siguiente manera. El eje de coordenadas del cono ya no es consistente con el eje de coordenadas inercial y los ejes X y Z también han cambiado en consecuencia. Por supuesto, la orientación espacial del objeto también ha cambiado en consecuencia.

Luego están las rotaciones de cabeceo e inclinación, que giran alrededor del eje X y el eje Z respectivamente, de manera similar a la rotación de rumbo, y finalmente obtienen la orientación espacial final del cono. Lo que hay que tener en cuenta aquí es que el eje de coordenadas de rotación es su propio eje de coordenadas, ya sea rotación de rumbo, rotación de paso o rotación de pendiente. ¡No es el eje de inercia!

Hemos visto anteriormente cómo el sistema de acuerdo "rumbo-paso-banco" provoca cambios rotacionales en la orientación espacial. A continuación, veamos otras convenciones sobre los ángulos de Euler.

A continuación, veamos las ventajas y desventajas de los ángulos de Euler. Se reveló que las deficiencias de los ángulos de Euler son en realidad la causa de los bloqueos universales.

De hecho, al utilizar los ángulos de Euler aparecerá un fenómeno muy interesante que es la cerradura universal. Echemos un vistazo al sistema de "inclinación de cabeza". Si el ángulo de inclinación es de 90°, algo va a pasar. ¿lo que sucede? Si los ángulos de rumbo y de inclinación son los mismos, encontrará que la orientación final del objeto es la misma. ¿Cómo es esto posible? Esto es más vergonzoso. De hecho, de manera similar a este tipo de rotación, cuando el ángulo de inclinación es de 90°, el objeto pierde un eje de rotación. Es decir, cuando el ángulo de inclinación es de 90°, la pendiente es de 0°. Sólo un eje de rotación sirve para dirigirse. ¿Es un círculo estúpido? No hay problema, quiero compartir un video a continuación. Creo que este video será más vívido que el texto. Por favor haga su propia investigación.

Después de leer sobre el uso de matrices y ángulos de Euler para expresar la orientación, echemos un vistazo a los cuaterniones. Cuando apareció frente a mí un nuevo concepto de cuaterniones, me preguntaba si se llamaría cuaterniones porque hay cuatro números. De hecho, un cuaternión en realidad está formado por un componente escalar y un componente vectorial 3D para expresar la dirección. Las dos notaciones de cuaterniones son las siguientes: [ω, ν], [ω, (x, y, z

Los números complejos realmente han estado en desuso durante mucho tiempo. Empezamos a entrar en contacto con números complejos simples en la escuela secundaria. Ahora es simple. Hablemos de números complejos. De hecho, también los revisé.

Primero, el número complejo tiene la forma de bi, ¿donde I? -1, donde A se llama parte real (parte real). Para la operación de números complejos, hablamos principalmente del módulo de números complejos, que bien puede representar la transformación de rotación en 2D. Primero observemos la matriz de rotación en el entorno 2D.

Luego, veamos un ejemplo. Supongamos que un número complejo v = (x, y) se gira θ grados para obtener V', como se muestra. en la siguiente figura.

Para completar esta rotación, necesitamos introducir el segundo número complejo q = (cosθ, sinθ), ahora el número complejo rotado V ' se puede calcular multiplicando el. números complejos. El proceso de cálculo es el siguiente

v = x yi

q = cosθ isθ

v ' = VQ =(x yi)( cosθ isinθ)=(xcosθ-ysinθ) (xsinθ ycosθ)I

El efecto de la matriz de rotación es el mismo que en el entorno 2D anterior. El efecto es el mismo, pero la forma es diferente.

Se ha dicho mucho arriba, entonces, ¿cuál es la relación entre los cuaterniones y los números complejos? De hecho, se define un cuaternión [w, (x, y, z)] números complejos w xi yj zk. es decir, un cuaternión contiene una parte real y tres partes imaginarias.

De hecho, hay una historia sobre el surgimiento de los cuaterniones, así que moví el libro aquí como un momento relajante en lo aburrido. aprendizaje (ocurre de forma natural), de hecho, el matemático irlandés Hamilton siempre ha querido extender los números complejos del 2D al 3D.

Al principio pensó que los números complejos en 3D deberían tener una parte real y dos partes imaginarias. Más tarde, no creó un número complejo tan significativo con una parte real y dos partes imaginarias. 000000000106 De camino a asistir a la conferencia, de repente. realizado Debería haber tres partes imaginarias en lugar de dos. Esculpió las ecuaciones para este nuevo caminante compuesto en el puente de Broome y nacieron los cuaterniones. La ecuación es la siguiente.

¿Yo? =j? =k? = -1

ij = k, ji = -k

jk = i, kj = -i

ki = j, ik = -j p>

Ya conocemos la situación de las matrices y los ángulos de Euler. Ahora veamos cómo los cuaterniones representan el desplazamiento angular. En un entorno 3D, cualquier desplazamiento angular puede entenderse como una rotación alrededor de un eje. Existe una fórmula para la rotación alrededor de cualquier eje 3D en "Gráficos 3D: transformación matricial y lineal" (¿recuerda el proceso de verificación inicial, que tomó un día? La fórmula es la siguiente, donde θ representa el ángulo de rotación y n representa el eje de rotación Por lo tanto, el par eje-ángulo (n, θ) define un desplazamiento angular: una rotación θ alrededor del eje especificado por n.

La interpretación del cuaternión es en realidad el par eje-ángulo de desplazamiento angular. pero n y θ no se colocan directamente en cuaterniones.

Entonces la pregunta es, ¿por qué no se explican en las operaciones relacionadas de terniones? en realidad, el modo de desplazamiento angular del par eje-ángulo.

Después de escribir este artículo, finalmente tengo una comprensión general de las matrices, los ángulos de Euler, los cuaterniones, el desplazamiento angular y la orientación. aburrido, pero persevero y espero que mis amigos sigan leyendo. Si no entiende o tiene preguntas, puede discutirlo con el Sr. Sao. Continuaré estudiando los cuaterniones en el próximo artículo "Imágenes 3D". sobre operaciones de cuaterniones

Finalmente debes adjuntar: Versión pdf del portal gt

.