Jump to content
Star Party de Espacio Profundo - 10, 11 y 12 de Agosto Leer más... ×
Astronomia - Espacio Profundo
  • Registrarme
astronomia

Cálculo de posiciones de planetas (ecuaciones)

Recommended Posts

astronomia

Hola!

Además de la astronomía, hobby en el que recien estoy comenzando, me gusta mucho la matemática y la programación. Viendo algunos applets como este:

http://www.astrored.org/usuarios/xgarciaf/medici3.htm

que permiten calcular la posición de los satélites de Júpiter vistos desde la tierra, incluso graficandolos (como acá: http://www.aavbae.net/efem/Pag_efem_graf_jup.php )

se me ocurrió encarar un programita en POVRay que renderice a Júpiter y sus 4 satélites mayores tal como se los ve desde la tierra en un momento determinado. La idea es usar las texturas de estos cuerpos para generar una imagen muy buena de lo que uno vería con el telescopio en ese momento. El primer applet que mencione permite ver su código fuente, y es muy útil para aprender algunas cosas, pero lamentablemente ataca el problema desde un punto de vista muy diferente al que me interesa, por lo que no puedo llegar a buen puerto desde allí. Hice el programita, pero no logro determinar algunas posiciones del sistema Sol-Tierra-Júpiter, solo coloco correctamente los satélites alrededor de Júpiter, pero la vista no coincide con la que tendríamos desde aquí.

Lo que estoy necesitando es que, si alguien tiene algún link a un sitio en el que estén las fórmulas matemáticas de la posición de cada uno de estos astros en función del tiempo me lo pase, a ver si puedo llegar a buen puerto.

Les paso un par de imágenes de lo que conseguir hacer a partir de ese applet (sin texturas ni nada, solo para probar) y el código que escribi, QUE NO ES CORRECTO, pero puede servir para darse una idea de hacia donde apunto :)

Saludos!

5776b3a2322a4_marteluna3152005.jpg.70c13

jupiter003.png.4424377c9ad43284eacac02e1

Compartir este post


Enlace al post
Compartir en otros sitios
jwackito

Interesantísimo el aporte. Nunca usé povray. El enlace sobre las ecuaciones es una delicia. Gracias por compartir. En cuanto tenga un tiempito veo si puedo probar tu código. Abrazo

Compartir este post


Enlace al post
Compartir en otros sitios
astronomia

Hola!

Gracias por el comentario. Hoy me puse un rato con el "Objetivo Universo", de Feinstein/Tignanelli, y me saqué algunas dudas. Pero todavía no lo tengo 100% claro.

En cuanto a POVRay, si lo probás no te vas a arrepentir. Yo lo uso hasta para graficar funciones!

Va un ejemplo:

// OJO: Este programa utiliza los ejes de coordenadas
// con el z hacia arriba y el x positivo hacia el observador
// (igual que en analisis matemático)
//
//------------------------------------------------------------------------
// Configuración general
//------------------------------------------------------------------------
#version 3.6;
global_settings{ assumed_gamma 1.0 }

//------------------------------------------------------------------------
// Límites y variables de la gráfica
//------------------------------------------------------------------------
#declare incremento = 0.125;

#declare min_x = -4;
#declare min_y = -4;
#declare min_z = -3;
#declare max_x =  4;
#declare max_y =  4;
#declare max_z =  3;

//------------------------------------------------------------------------
// Archivos include -ojo, el orden importa!
//------------------------------------------------------------------------

#include "colors.inc"
#include "textures.inc"
#include "glass.inc"
#include "metals.inc"
#include "golds.inc"
#include "stones.inc"
#include "woods.inc"
#include "shapes.inc"
#include "shapes2.inc"
#include "functions.inc"
#include "math.inc"          
#include "transforms.inc"
#include "ejes.inc"


//------------------------------------------------------------------------
// Cámara
//------------------------------------------------------------------------

#declare Camera =camera {  //  
 //angle 18
 right -x*image_width/image_height
 sky <0,0,1>// mano derecha!!!
 location <7.0,2.0, 8.0>
 look_at   <2.0 , 0 ,1>
}
camera{Camera }


//------------------------------------------------------------------------
// Luces
//------------------------------------------------------------------------
light_source{<2500,1500,2500> color White}

//------------------------------------------------------------------------
// "cielo"
//------------------------------------------------------------------------
sky_sphere{ pigment{ gradient <0,1,0>
                    color_map{ [0   color rgb<1,1,1>         ]//White
                               [0.4 color rgb<0.24,0.34,0.56>*0.8]//~Navy
                               [0.6 color rgb<0.24,0.34,0.56>*0.8]//~Navy
                               [1.0 color rgb<1,1,1>         ]//White
                             }
                    rotate<50,0,50>
                    scale 2 }
          } 

//--------------------------------------------------------------------------
//---------------------------- Grafica de la funcion ----------------------
//--------------------------------------------------------------------------



// Dibujo ejes de coordenadas y planos que dividen los octantes
object{ AxisXYZ( max_x*1.2, max_y*1.2,max_z*1.2, Texture_A_Dark, Texture_A_Light)} 

#object {plano_xy}
//#object {plano_xz}
//#object {plano_yz}

// Comienzo bucles que "barren" el dominio

//#declare sigma = clock*1.5*pi/180;
#declare sigma = 0;
#declare y0 = min_y;
#while(y0 <= max_y)
   #declare x0 = min_x;
   #while(x0 <= max_x)

       // Calculo valores de los puntos en el dominio
       #declare x1 = x0;
       #declare y1 = y0;
       #declare x2 = x1+incremento;
       #declare y2 = y1+incremento;

       // Calculo valores de los puntos en la imagen
       #declare z1 = sin(4* sqrt(x1*x1 + y1*y1))/2;
       #declare z2 = sin(4* sqrt(x1*x1 + y2*y2))/2;
       #declare z3 = sin(4* sqrt(x2*x2 + y1*y1))/2;
       #declare z4 = sin(4* sqrt(x2*x2 + y2*y2))/2;
       // Dibujo los triangulos solo si estoy dentro de los valores permitidos
       //#if (z1        //    #if (z1>min_z) #if (z2>min_z) #if (z3>min_z) #if (z4>min_z)
               //Triangulos (caras)
               triangle {, ,  pigment{ color Green transmit 0.2 }}
               triangle {, ,  pigment{ color Green transmit 0.2 }}
               //cilindros (bordes)
               cylinder {, , 0.01 pigment{ color Yellow transmit 0.5 }}
               cylinder {, , 0.01 pigment{ color Yellow transmit 0.5 }}
               cylinder {, , 0.01 pigment{ color Yellow transmit 0.5 }}
               cylinder {, , 0.01 pigment{ color Yellow transmit 0.5 }}
       //    #end #end #end #end
      // #end #end #end #end

       #declare x0 = x0 + incremento;
   #end //y1
   #declare y0 = y0 + incremento;
#end //x1



//------------------------------------------------------------------------------------

Compartir este post


Enlace al post
Compartir en otros sitios
ricardo

Recuerdo haber jugado con el Povray con una 386 y coprocesador matematico 387... en DOS. Si mal no recuerdo fue el antecesor del 3DStudio...

Compartir este post


Enlace al post
Compartir en otros sitios
astronomia

Yo hice las primeras huevadas mas o menos en esa epoca, misma maquina pero sin copro. Renderizar cualquier pavada demandaba media hora. Hoy es una maravilla de rápido.

Saludos!

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario

Crear una cuenta

Regístrate en nuestra comunidad. ¡Es fácil!

Registrar una cuenta nueva

Iniciar Sesión

¿Ya tienes cuenta? Conéctate aquí.

Iniciar Sesión

×