Muy bien, estoy escribiendo un simulador espacial para un juego en 3D y me gustaría implementar la gravedad de los objetos en él.
¿Hay una buena manera de encontrar un vector de velocidad que se pueda agregar a mi vector de salida del motor para crear el efecto de la gravedad?
Además, ¿cómo podría encontrar las velocidades requeridas para poner el objeto A en órbita alrededor del objeto B a cierta distancia?
Bueno, necesitas resolver ecuaciones diferenciales (probablemente no sea la mejor manera aquí) o simular numéricamente.
No hay forma de dar la velocidad de una constelación arbitraria sin conocer su pasado. Por lo tanto, también debe realizar un seguimiento de la velocidad de todo.
Básicamente, necesitas estas ecuaciones/tareas:
Suma todas las fuerzas gravitatorias de todas las demás masas de tu mundo.
es la aceleración de la masa en cuestión hacia el -ésima masa. es la constante gravitacional de Newton, .
La aceleración total sobre el objeto se suma a la aceleración sobre el objeto. Tienes que sumar vectorialmente aquí. Si, por ejemplo, tienes dos fuerzas opuestas, la masa no se aceleraría en absoluto.
Esta es la aceleración sobre la masa. cuando es atraído por otra masa . Tienes que multiplicarlo con un elegido para obtener el cambio de velocidad. Cuanto más pequeño lo elija, más precisa será su simulación, pero llevará más tiempo. Tienes que probar diferentes valores para ello.
Y usa esa velocidad actualizada para calcular el cambio de posición.
, y son vectores en el espacio 3D.
La idea básica es , , dónde y son los constantes de integración. En este contexto, son la velocidad y la distancia que ya tiene o ha recorrido el objeto, respectivamente.
Para obtener tal órbita, debe igualar la fuerza centrípeta a la fuerza gravitatoria. O dices que la fuerza centrífuga y la gravedad se anulan entre sí.
Así que empieza con
o
es la masa del satélite, la masa del objeto grande, es decir, el planeta. es la constante gravitatoria y es la distancia entre los dos objetos.
De cualquier manera, terminarás con
Como la velocidad tangencial para una órbita con radio alrededor de un objeto con masa . Esto supone que el otro objeto es mucho más pesado que el satélite.
bernardo
dmckee --- gatito ex-moderador
La tierra es una cuchara