Como Guillermo Angeris correctamente señalado, esto es, esencialmente, un numéricos de redondeo problema, no una situación física.
Como un ejemplo físico, hay sungrazing cometas que llegar muy cerca al Sol, sin embargo, mantienen su original elíptica (o hiperbólico) en órbita, sin la precesión de la órbita de un tercio de un círculo como usted parece estar viendo.
Computacionalmente, hay un par de cuestiones interesantes. Como Kyle señaló en un comentario, muchos de los esquemas de integración son, de hecho, poco fiables en la que el error de redondeo (que está siempre presente en punto flotante cálculos) se pueden acumular en un fugitivo de la retroalimentación. De hecho, a menudo me aconsejamos la utilización de leapfrog métodos a lo largo de Euler (utilizado por Box2D) o incluso de Runge-Kutta (véase, por ejemplo, ¿Cuál es la forma correcta de integrar en la astronomía simulaciones? en la Ciencia Computacional Stackexchange).
Sin embargo, sospecho que el problema es aún más simple, en el sentido de que incluso un inestable esquema numérico debe trabajar para uno o dos órbitas. Dado que todo va mal en un solo paso, parece que su timesteps son simplemente demasiado grande. Un breve vistazo a la Box2D documentación sugiere no cambiar el intervalo de tiempo mediados de simulación, por lo que supongo que usted está usando sólo un buen valor para simular el conjunto del proceso en tiempo razonable. El problema es que cuando la gravitación de los cuerpos de acercarse en su órbita, se mueven rápidamente, a veces muy rápidamente. La forma en que funciona el código se actualiza cada posición del objeto y la velocidad en cada intervalo de tiempo, donde la nueva velocidad es determinada por la fuerza. Como lo que yo puedo decir, esto se hace en la línea 206 de b2Island.cpp
(v. 2.2.1):
v += h * (b->m_gravityScale * gravity + b->m_invMass * b->m_force);
Sin mirar el código, supongo que simplemente calcular la fuerza de gravedad del cuerpo debe sentir en ese momento, y tener la simulación de chug de distancia. El problema es que se mueve el objeto en órbita en una línea recta para el siguiente paso de tiempo, y que en línea recta se lo toma demasiado lejos de la masa atractiva para que la masa correctamente la curva de su órbita en un cerrado elipse. La rápida esquema a continuación muestra el azul del objeto que se mueve a la punta de la flecha roja, en lugar de quedarse en el camino.
Físicamente, su paso de tiempo debe ser menor que cualquier escala de tiempo que se puede encontrar en el problema. Ahora para una órbita de la conservación del momento angular, el producto de la órbita del cuerpo de masa, la velocidad tangencial $v$, y de la distancia desde el otro objeto $r$ debe ser constante: $v \sim 1/r$. Al mismo tiempo, la aceleración de $a$ se siente que está dado por la ley de Newton de la gravedad: $a \sim 1/r^2$. Así que uno natural de la escala de tiempo en este problema es
$$ t \sim \frac{v}{a} \sim \frac{1/r}{1/r^2} \sim r $$
(la omisión de dimensiones constantes), lo que demuestra que si la escala de tiempo es apenas lo suficientemente pequeño y, a continuación, modificar la órbita, así como a la mitad de la periapsis de la distancia (distancia más cercana de enfoque), entonces se puede esperar que necesita timesteps al menos dos veces más pequeñas con el fin de preservar la integridad de la simulación.