Matemáticas :: cuaternion

Matemáticas :: QUATERNION es una clase Perl para representar cuaterniones.
Descargar ahora

Matemáticas :: cuaternion Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Jonathan Chin
  • Sitio web del editor:
  • http://search.cpan.org/~jchin/

Matemáticas :: cuaternion Etiquetas


Matemáticas :: cuaternion Descripción

Matemáticas :: cuaternion es una clase Perl para representar cuaterniones. Matemáticas :: cuaternion es una clase Perl para representar cuaternions.Synopsis Use Matemáticas :: QUATERNION QW (Slerp); My $ Q = Matemáticas :: cuaternion-> Nuevo; # Hacer una nueva unidad Cuaternion # Hacer una rotación sobre el eje (0,1,0) My $ Q2 = Matemáticas :: cuaternion-> Nuevo ({Axis => , ángulo => 0.1}) ; mi @v = (1,2,3); # Un vector. mi @vrotated = $ q2-> rotate_vector (@v); # Gire @v sobre (0,1,0). My $ Q3 = Matemáticas :: cuaternion :: Rotación (0.7,2,1,4); # Una rotación diferente. My $ Q4 = Slerp ($ Q2, $ Q3,0.5); # Rotación interpolada. Mi @vinterp = $ Q4-> rotate_vector (@v); Este paquete le permite crear y manipular cuaterniones. Un cuaternion es un objeto matemático desarrollado como una especie de generalización de números complejos, generalmente representados por una matriz de cuatro números reales, y se usa a menudo para representar rotaciones en el espacio tridimensional. Lee, por ejemplo, http: // Mathworld. wolfram.com/quaternion.html Para obtener más detalles sobre las matemáticas de cuaternions. Las cuaternas se pueden agregar, restar y escalar, como números o vectores complejos, también se pueden multiplicar, pero la multiplicación de cuaternion no se conmueve. Es decir, si tiene cuaterniones $ Q1 y $ Q2, entonces, en general $ Q1 * $ Q2! = $ Q2 * $ Q1. Esto está relacionado con su uso en la representación de rotaciones, que tampoco conmuta. Si solo desea representar rotaciones y no le importa los detalles matemáticos internos, esto debe ser todo lo que necesita saber: todas las cuaterniones tienen una cantidad llamada la cantidad llamada "NORME", similar a la longitud de un vector. Una cuaternión con norma igual a 1 se llama "unidad de cuaternión". Todas las cuaterniones que representan rotaciones son cuaterniones de la unidad. Si llama a New () sin ningún argumento, le dará un cuaternión de la unidad que no representa ninguna rotación: $ Q = Matemáticas :: cuaternion-> Nuevo; Puede hacer un cuaternión que represente un cuaternion Rotación de un ángulo dado (en radianes) sobre un eje dado: $ QROT = Matemáticas :: cuaternion-> Nuevo ({Axis => 0.1, ángulo => }); DIGA TIENE DOS ROTACIONES, $ Q1 y $ Q2, y desea hacer un cuaternión que represente una rotación de $ Q1 seguido de $ Q2. Luego, usted hace: $ Q3 = $ Q2 * $ Q1; # Girar por $ Q1, seguido de $ Q2.Rembrar que esto no es el mismo que $ Q1 * $ Q2, que revertirá el orden de las rotaciones. Si realiza muchas operaciones de cuaternión iteradas, el resultado puede no ser una unidad. Cuaternión debido a las inexactitudes numéricas. Puede asegurarse de que cualquier cuaternión tenga la longitud de la unidad, haciendo: $ UNITQUAT = $ Anyquat-> Normalize; Si tiene un cuaternión de rotación, y desea encontrar la matriz 3x3 que representa la rotación correspondiente, entonces: @matrix = $ Q -> MATRIX3X3; De manera similar, puede generar una matriz 4x4 de la Ordenar que pasaría a OpenGL: @glmatrix = $ q-> matrix4x4; Si tiene un vector que representa una dirección, y desea girar el vector por un cuaternion $ P: Mi @vector = (0,0,1); # Vector apuntando en la dirección z. mi @newvec = $ q-> rotate_vector (@vector); # Nueva dirección. Estará usando cuaternions para representar la orientación de una cámara, y tiene dos cuaterniones: uno para representar una orientación de inicio, y otra para representar una posición de acabado. Si desea encontrar todos los cuaterniones que representen las orientaciones en el medio, lo que permite que su cámara se mueva suavemente de principio a fin, use la rutina SRERP (): use Matemáticas :: cuaternion QW (SlerP); mi ($ QSTART, $ QEND) = ...; # Establecer $ Tween a 9 puntos entre el inicio y el final, exclusivo. por mi $ t (1..9) {My $ Tween = Slerp ($ QSTART, $ QEND, 0.1 * $ t); ...} Requisitos: · Perl


Matemáticas :: cuaternion Software relacionado

Clase :: DBI :: Fábrica

Clase :: DBI :: Factory es una interfaz de fábrica para un conjunto de clases de clase :: DBI, con el esqueleto opcional de la aplicación MOD_PERL. ...

187

Descargar

svnauto

SVNAUTO ES UNA HERRAMIENTA DE COMPRUEBA AUTOMÁTICO PARA SUBVERSION, CON POR POLÍTICAS DE COMPROBACIÓN DE DIRECTORES. ...

63

Descargar