Estoy tratando de hacer un juego simple donde se lanza una nave espacial y luego su trayectoria se ve afectada por la gravedad de los planetas.
Similar a este juego: http://sciencenetlinks.com/interactives/gravity.html
Deseo saber cómo replicar el efecto que los planetas tienen en la nave espacial en este juego para que una nave espacial pueda 'girar' alrededor de un planeta para cambiar de dirección.
Me las arreglé para lograr algunos resultados falsos en los que la nave espacial gira en una gran elipse alrededor del planeta o solo se ve ligeramente afectada por la gravedad de un planeta que usa Vectores.
Gracias por adelantado.
PD: Tengo mucha experiencia en codificación, nada que ver con el desarrollo del juego.
Cada planeta debe tener un campo gravitacional que atraiga cualquier objeto en su vecindad hacia su centro. En otras palabras, debes aplicar una fuerza desde la posición de la nave espacial al centro del planeta en cada paso de la simulación.
Esta fuerza depende de la masa de ambos objetos, pero en este caso, dado que la masa de la nave espacial es probablemente insignificante en comparación con la del planeta, puede probar diferentes constantes dependiendo del tamaño del planeta hasta que tenga la sensación correcta.
Lo más importante, esta fuerza se debilita cuanto mayor es la distancia entre ambos objetos. Lo harás dividiendo por la distancia al cuadrado entre ambos. Después de cierta distancia, es posible que desee cortar "manualmente" y dejar de aplicar la fuerza.
Simplemente traduzca esta fuerza en una aceleración, y las ecuaciones físicas básicas deberían ocuparse del resto.
En pseudocódigo
fuente