3D: obtenga la velocidad lineal a partir de la posición y la velocidad angular

Quiero encontrar la velocidad lineal de un punto en el espacio 3D, (Euclidiana), dado:

  • Su posición
  • Su velocidad angular
  • El punto alrededor del cual gira (punto de apoyo)

(Este es un problema que necesito resolver para la programación de gráficos 3D con un motor de física).

La posición del punto y la posición del punto pivote serán vectores de 3 valores, X , y y z .

La velocidad angular también será un vector de 3 valores, que representa los ángulos de Euler.

¿Qué operación(es) necesitaría realizar para calcular la velocidad lineal del punto?

El motor 3d/física tiene varias operaciones matemáticas de alto nivel, incluidas operaciones de matrices, vectores y cuaterniones, así que espero que lo que necesito esté entre ellos.

Respuestas (2)

Dejar r 0 ( t ) denota el punto alrededor del cual el objeto está girando y r ( t ) la posición del objeto. Entonces el hecho de que la partícula esté girando alrededor del punto r 0 ( t ) puede formalizarse mediante el enunciado matemático de que

r ( t ) r 0 ( t ) = R ( t ) C
para algún vector constante C y rotación dependiente del tiempo R ( t ) . Resulta que
r ˙ ( t ) r ˙ 0 ( t ) = R ˙ ( t ) C = R ˙ ( t ) R ( t ) 1 ( r ( t ) r 0 ( t ) ) = ω ( t ) × ( r ( t ) r 0 ( t ) )
(la última igualdad es un resultado estándar sobre rotaciones) por lo que tenemos el resultado final
r ˙ ( t ) = r ˙ 0 ( t ) + ω ( t ) × ( r ( t ) r 0 ( t ) )
que es lo que estabas buscando creo.

¡Salud!

La relación entre la velocidad angular ω , posición r (suponiendo rotación alrededor del origen) y velocidad tangencial v (que es lo que estás pidiendo) está dado por

ω = r × v r 2 ,

dónde × es el producto cruz y r 2 la norma del vector de posición al cuadrado. Puede escribir esta ecuación por componentes para obtener tres ecuaciones para tres variables desconocidas (los componentes de v ) y resolverlos algebraicamente.