Hola amigo de Tardígrados. Hoy vamos a calcular, de diversas formas, las órbitas de dos cuerpos que gravitan el uno alrededor del otro. En realidad, dos cuerpos de masas
m1 y
m2, gravitan alrededor de un centro común, llamado
baricentro (o centro de masas). Si los vectores de posición son r1 y r2, el
baricentro será el apuntado por el vector:
Voy a programar una simulación (una animación en
Flash) escribiendo unas pocas lineas de código en
actionscript, en la cual veremos el movimiento orbital de esos dos cuerpos. Para ello, yo usaré el software
Flash CS4 de Adobe (Abode Flash Profesional). La intención de diseñar esta pequeña simulación no es sólo ver la evolución gravitatoria del
problema de los dos cuerpos, sino de ver cómo las órbitas decaen en dicha simulación debido a algo insólito:
la perdida de información computacional. Esto significa que las órbitas de los dos cuerpos pierden poco a poco energía gravitacional, pero esa pérdida no se disipa en forma de
ondas gravitacionales, sino que simplemente se expresa en ese decaimiento orbital hasta que los dos cuerpos solisionan.
Pero, empecemos ya a programar nuestra pequeña simulación de los dos cuerpos orbitales: abrimos nuestro programa de Adobe Flash CS4,
1. Creamos una animación en la versión de
flashfile (actionscript 2.0).
2. Creamos tres
videoclips, dos para cada uno de los dos cuerpos orbitales, y un tercero para el centro de masas. A los
videoclips de los cuerpos los llamaremos
a1 y
a2, y al del centro de masas,
cm. Los
videoclips a1 y
a2 serán dos circulos de distinto color y de pocos pixels de radio. Y el
videoclip cm poseerá un radio mínimo, el suficiente para ser visto como un punto destacado sobre el fondo de la animación. Cada
videoclip en una animación
Flash posee una serie de propiedades, y una de esas propiedades son sus coordenadas espaciales bidimensionales, (
_x,
_y), dentro del plano de la animación. Por ejemplo, el
videloclip correspondiente al primer cuerpo cuya masa es
m1, que hemos llamado
a1, posee, en la animación que he hecho yo, las siguientes coordenadas espaciales iniciales:
a1._x = 160,
a1._y = 185. En el sistema de referencia bidimensional usado en
Flash, el origen de coordenadas está en la esquina superior izquierda del plano general, y los valores positivos para la abscisa _x corren hacia la derecha, mientras que los valores positivos de la ordenada _y corren hacia abajo. La unidades de medidas de las distancias se expresan en
pixels.
Escribamos ahora todo el código de
actionscript para nuestra animación. En primer lugar, escribiremos el código para cada uno de los
videoclips cuando se cargan al inicio. Para el
viceoclip a1 tendremos las siguientes condiciones iniciales:
puesto que hemos definido propiedades como la masa y la densidad para ese cuerpo, dibujaremos el circulo que representa a dicho cuerpo a escala, según el valor relativo de esos paramétros. Así, como escribo en el código de arriba, su anchura a escala, _width (que es de igual valor que su altura, _height), la calculo así:
Igualmente, para el videoclip
a2 tendremos el código inicial de carga siguiente:
Observamos también, en estos códigos de carga de las condiciones iniciales, que está definida la velocidad inicial para cada cuerpo. Como aún no hemos escrito el código para la interacción gravitatoria, esas velocidades iniciales no serían modificadas, y por lo tanto los dos cuerpos permanecerian en movimiento inercial, rectilíneo uniforme. Cabe reseñar también dos cosas más. Primero, que he introducido unas variables, rx, ry, que uso para guardar los últimos valores de las coordenadas espaciales. Segundo, que la velocidad de cada cuerpo al ser una magnitud vectorial, la he separado en sus dos componentes ortogonales en el sistema de referencia. Así, por ejemplo, para este último videoclip a2, las componentes de su velocidad son speed.x = -1, speed.y = 0, y eso quiere decir que ese cuerpo se movería inicialmente e inercialmente hacia la izquierda, mientras que su componente en el eje vertical, al ser 0, indica que no se movería inercialmente por dicho eje.
Escribamos seguidamente el código de las condiciones iniciales de carga para el
videoclip cm, que representa el centro de masas de los dos cuerpos anteriores:
Aquí en este código, vemos cómo hemos escrito las coordenadas del centro de masas de los dos cuerpos. Ahora nos falta la rutina principal de la animación en la que escribiremos las ecuaciones para la interacción gravitatioria de esos dos cuerpos. Puesto que es evidente que estamos usando formalismos de gravitación clásica Newtoniana, hay que decir el movimiento inercial de esos dos cuerpos se rompe cuando interactuan gravitacionalmente, y eso significa que cada uno sentirá una aceleración cuyo valor será directamente proporcional a la masa del otro cuerpo e inversamente proporcional al cuadrado de su distancia. Es decir, la aceleración gravitatoria que siente el cuerpo
a1 debido a la presencia del cuerpo
a2 será:
y recíprocamente la aceleración que siente a2 será:
Por lo tanto, ya estamos en condiciones de escribir el código de la rutina principal para la interacción gravitatoria:
Esta rutína (función) la he llamado
update3, y posee un único argumento de entrada, el argumento
m, que es una referencia a un
videoclip, ya sea el
a1 o el
a2. Esta función devuelve (
return) el valor de la variable
r, es decir, la distancia actual entre ambos cuerpos. Vemos que la tarea principal de esta rutina es el cálculo de la aceleración del campo gravitatorio, como ya he especificado arriba en a12 y en a21. Una vez que se ha calculado esa aceleración, la descomponemos en sus componentes ortogonales según los dos ejes del sistema de referencia, y convenientemente escaladas, las restamos a las componentes de la velocidad. ¿Por qué hay que restar la aceleración a una velocidad?. Es decir, ¿por qué realizo los cálculos
m.speed.x -= accel_x,
m.speed.y-=accel_y?. Pues simplemente, se ha de realizar esa resta porque una aceleración no es más que un incremento o decremento de una velocidad por unidad de tiempo. En otras palabras, la aceleración no es más que la primera derivada de una velocidad respecto al tiempo. Después, en el código de esa rutina, igualmente resto la componente de la velocidad de la componente espacial, y se hace por la misma razón. Una velocidad no es más que un incremento o decremento de una distancia por unidad de tiempo, es decir, es la primera derivada del espacio respecto al tiempo. Con esta última substracción ya hemos actualizado las coordenadas espaciales de cada cuerpo según la interacción gravitatoria, aplicada a su movimiento inercial. Este cálculo con la función
update3 se ha de hacer en cada uno de los
frames (fotogramas) de la animación. En la que yo he realizado, el número de
fotogramas por segundo (fps) lo he puesto a 100, y eso quiere decir que cada centésima de segundo hay que actualizar y calcular y dibujar todo para presentar la animación en tiempo real al espectador. Así, la rutina en
actionscript para cuando el cursor de la animación pase por cada
frame, será la siguiente:
donde en la ultima línea de código controlo la posible colisión de los dos cuerpos, parando la animación cuando la distancia
r sea menor que los tamaños relativos de cada círculo. El control de colisiones de
videoclips en
Flash tambíen se puede hacer con una función predefinida que se llama
hitTest, pero yo he preferido definir mi propia función de colisión. Pero, aquí está el meollo de toda esta animación del problema de los dos cuerpos. Se supone que las órbitas de los dos cuerpos, que siguen la
Ley de la Gravitación Universal de Newton, deberían ser estables, y por lo tanto deberían seguir trayectorias elípticas o circulares si no hay otras fuerzas externas que las perturben. Pero, lo sorprendente de esta pequeña animación que he realizado es que al ver como evolucionan esas órbitas observamos que poco a poco los dos cuerpos se van aproximando el uno hacia el otro hasta que acaban colisionando. ¿por qué ocurre eso?. La clave está en los incrementos (aceleraciones) que he substraido a las velocidades y de los incrementos substraidos (velocidades) a las coordenadas espaciales. Para que las órbitas fueran exactamente estables, sin que decayeran poco a poco, los incrementos a substraer deberían ser infinitesimales, es decir, unas cantidades muy próximas a cero. Pero, entonces deberíamos aumentar el número de
frames por segundo hasta valores que no serían computables.
En la animación que yo he realizado hay algunos parámetros auxiliare más, que no he especifico, porque no tienen mucha importancia. Ahora solo resta hacer una captura de pantalla de la animación y convertirla en un
gif animado, ya que
WordPress ya no admite archivos
Flash de extension swf:
Observamos con estupor que lo que la ciencia actual llama
ondas gravitacionales, emitidas por pulsares binarios que son observados decayendo orbitalmente, es simple y llanamente una pérdida de información cuántica. El problema es que la mecánica cuántica no admite que los sistemas puedan perder información de forma irrecuperable, pero en esta pequeña animación
Flash vemos cómo eso es posible en un universo cuya evolución es calculada en cada micro-estado y en intervalos infinitesimales de tiempo que quizás coincidan con
tiempos de Planck. La conclusión más dramática que hemos de hacer de todo esto es que las
ondas gravitacionales no existen en nuestro universo, y por lo tanto que el supuesto observatorio
LIGO (advanced LIGO) nos
la está metiendo doblada al afirmar que han descubierto evidencias directas de dichas ondas. Sólo una mente ingenua y simple podría creerse semejante patraña. Cualquier persona con una inteligencia mediana podría comprobar por si misma cómo ese supuesto observatorio no puede detectar movimientos vibratorios de amplitudes tan ínfimas como la milésima parte del radio de un protón. ¿Dónde está el
Principio de Incertidumbre que es pieza central de la
Mecánica Cuántica, y que la
Relatividad General parece querer ignorarlo propugnando un
espacio-tiempo infinitamente continuo?. Incluso si no fuera un fraude tan brutal ese que nos quiere meter LIGO, tampoco sería una prueba directa de la existencia de esas ondas gravitacionales, por la sencilla razón de que no existe ningún otro medio independiente de saber que esas supuestas ondas vienen de donde dicen ellos que vienen, y producidas por la causa que ellos dicen que son producidas. El único argumento que usan para afirmar tan rotundamente que esas ondas son reales es que coinciden en forma con las de los libros de texto de la Relatividad General. Si existieran otros medios de comprobar esos supuestos hallazgos, como por ejemplo señales luminosas observables con telescopios ópticos o señales radioeléctricas observables con radiotelescopios, de las supuestas fuentes cósmicas generadoras, entonces y sólo entonces podríamos empezar a creer en ellos. Pero mientras sigan diciéndonos los “listillos” de LIGO que esas ondas proceden de la colisión de dos agujeros negros, estarán intentando
metérnosla doblada. Cuando digan que han observado la colisión de un pulsar binario, y a LIGO ha llegado la perturbación gravitacional y a los distintos telescopios ópticos el destello luminoso de esa colisión, entonces y sólo entonces, los que no somos idiotas del todo, empezaremos a creer en la existencia de ondas gravitaciuonales. Mientras tanto, hay que conformarse con mirar con estupor a este universo computacional y observar boquiabiertos que no sólo la interacción gravitatoria está sujeta a perdidas de información cuántica, sino todas las demás. Y todo esto nos indica que es muy probable que nuestro universo es simplemente una gigantesca simulación fractal que está siendo ejecutada en un superordenador cuántico. Que nuestro universo sea una gigantesca simulación no significa que no te duela tu dolor de muelas. En realidad ocurriría que todo en este universo simulado seria real para nosotros, pero sólo sería virtual para los hipotéticos espectadores externos a nuestro universo que contemplan esa simulación.
Saludos
.