Voy a trabajar con un caso sencillo, el problema de dos cuerpos en 3 dimensiones, donde el objeto más masivo tiene centro en el origen de coordenadas, pero es extensible a cuerpos a modificaciones en el origen de coordenadas, incluso poniéndolas en el CM del sistema.

Un diagrama de flujo típico de programación en ordenadores puede ser el siguiente
Haz clic en la imagen para ampliar  Nombre:	diagrama flujo.png Vitas:	0 Tamaño:	16,4 KB ID:	351593








Donde empezamos definiendo constantes como que es la constante de gravitación universal y se interpreta como la masa del objeto celeste más masivo,( planeta, estrella etc) que crea el gravedad o algunas otra útiles como Pi si no vienen predefinidas en el el lenguaje.

Para definir una trayectoria para una partícula de prueba hay que dotarla de los parámetros iniciales de su movimiento. es decir hay que definir su posición y su velocidad para un instante inicial dado en coordenadas esféricas o bien, más fácil aún, en cartesianas . Adoptare coordenadas cartesianas.por lo que podemos convertir desde sistemas de coordenadas esféricas

a

usando una conversión de coordenadas


y recalcular velocidades


Donde y


Definimos la posición del objeto masivo a tiempo y establecemos que no variara durante el tiempo que simulemos el problema.

El número de iteraciones no puede ser tan grande como queremos, ya que los ordenadores introducen un error de truncamiento en la última cifra de los resultado presentados, luego el número de iteraciones multiplicado por el valor del error de truncamiento , debe permanecer por debajo del error aceptable en el resultado de la medición.

Lo que sigue es el cálculo de la aceleración de la partícula de prueba en el campo gravitatorio


Luego podemos hacer proyección en cualquiera de los ejes usando
, ,



Por lo que la proyección de la aceleración en cada eje cartesiano puede ser calculada como




La velocidad de la partícula en cada iteración será evaluada incrementando el tiempo en

resultando


como verán uso la aceleracion media y no la aceleración a un tiempo anterior pues he visto mejores resultados así

Y para la posición


Luego de registrar esos valores en la tabla de posiciones, en función del tiempo pasamos a actualizar variables con y preguntándonos si hemos llegado al tiempo total .

Luego queda reproducir en escala de tiempo real. T=12 o 24 fps o acelerada donde el salto entre frame y frame es proporcional a otro salto de tiempo. Esto ira dejando dando idea de la trayectoria de punto a punto, pero se puede dejar unidos por rectas, (o curvas usando métodos mas complejos) para dejar la órbita descrita de forma mas aproximada.

La representación 2D en pantalla proveniente de datos en 3D , se aborda convirtiendo, coordenadas a pixeles mediante una matriz de conversión dependiendo del tipo de proyección que busquemos,


Proyección central con un punto de fuga.​​​​​
Proyección paralelaProyección oblicua: Persp. caballera.
Proyección oblicua:Perspectiva militar.

Con las ultimas dos no se obtienen resultados muy realistas al estilo de los videojuegos.