Estoy tratando de simular (para un juego educativo) el conocido efecto de que los objetos en rotación con tres nonequal los momentos de inercia son inestables cuando se hace girar alrededor del eje central.
Algunas de las explicaciones de este efecto se dan a continuación:
- La estabilidad de la rotación de un prisma rectangular
- ¿Por qué este objeto periódicamente gire a sí mismo?
- http://mathoverflow.net/questions/81960
- http://farside.ph.utexas.edu/teaching/336k/Newtonhtml/node71.html
La mayoría de esta matemática es, por desgracia, por encima de mi cabeza (aunque estoy tratando). Pero para mis propósitos, me necesitan más que simplemente "es la forma de un oscilador armónico" o "no es un oscilador armónico"; necesito reproducir el efecto en la simulación.
He intentado esto en el uso de la Unidad integrada del motor de física aquí:
Usted puede intentar usted mismo si usted tiene (o instalar) la libre Unidad de plug-in; se muestra un 1x4x7 bloque de densidad uniforme, rotando sobre su eje central. Con el "Poke" botón usted puede inducir a una pequeña azar par. Empujar el bloque repetidamente puede golpear su eje torcido -, pero una vez que deje de meter, el eje se mantiene en su lugar, y gira constantemente alrededor de cualquier dirección a lo que es. Bajo ninguna circunstancia he sido capaz de ponerla en la secadora (como se ve en este video de una baraja de cartas, o este de algunas de simulación).
Y su falta de volteretas hace perfecto sentido para mí. Como yo lo entiendo, el estado de un cuerpo rígido se define por su posición, la velocidad, la orientación y la velocidad angular. En ausencia de cualquier fuerza externa, la velocidad y la velocidad angular debe permanecer sin cambios. La velocidad Angular puede ser descrito como un eje y una velocidad de rotación. Así que, sin fuerzas externas que actúan sobre él, ¿cómo puede el eje de rotación posiblemente el cambio?
Claramente hay algo que falta tanto de mi entendimiento intuitivo, y desde el motor de física dentro de la Unidad. No te concentres demasiado en el último; yo puedo programar mi propio motor de física, si yo entiendo lo que se debe hacer. ¿Cuál es la clave de bits que me falta, que explica cómo (y de qué manera) el eje de rotación se puede cambiar sin ninguna fuerza externa? En pseudocódigo, simple de Euler hacia adelante integración estilo, ¿cómo se podía simular esto?