¿Qué es UniverX?
UniverX es un programa interactivo que simula el Sistema Solar. Muestra visualmente todos los planetas moviéndose alrededor del sol y rotando, y permite al usuario colocar la cámara en la posición que elija, ademas de ajustar otra serie de parámetros, por ejemplo la escala de tiempos, la escala de los planetas...
Estas son las características más importantes del programa:- Posición de los planetas y simulación orbital: El programa calcula la posición de cada planeta de acuerdo a los parámetros de su órbita y el tiempo especificado, describiendo la elíptica correspondiente. La simulación se hace lo más precisa posible, pero solamente con fines de visualización, no se debería usar este algoritmo para mediciones astronómicas importantes. Los datos han sido obtenidos de distintas fuentes astronómicas, entre ellas la wikipedia.
- Visualización de los planetas: El programa usa OpenGL para mostrar el modelo planetario en la pantalla en tiempo real. El usuario puede ver como los planetas rotan y se mueven alrededor del Sol. La escala de los planetas se ha incrementado mucho (unas 100 mil veces) para que los planetas sean visibles. La relación tamaño-distancia de los planetas al Sol es tan grande que los planetas no se verían con una escala real. Esta escala se puede modificar manualmente durante la ejecución pero los planetas se verán como un simple pixel en la pantalla.
- Planetas con textura: Se ha usado una serie de texturas reales de alta resolución para decorar la superficie de los planetas, de esta manera se pueden distinguir unos de otros o aprender cómo es cada uno. Se ha colocado un punto de luz en el Sol, de manera que se distingue entre el dia y la noche en la superficie de los planetas. Además la Tierra tiene una capa extra representando la atmósfera, y con un movimiento independiente de la superficie terrestre. Saturno cuenta con sus característicos anillos, con una textura de color y transparencia reales tomados de sitios científicos.
- Fondo estrellado: El fondo del modelo es un conjunto de estrellas. Estas estrellas se colocan en el espacio tridimensional a partir de una base de datos de estrellas, tomado de Real Star Database, usando la posición respecto a la tierra, y luminosidad.
- Interfaz interactivo El usuario puede colocar libremente la cámara para mostrar una determinada parte en tiempo real. La cámara siempre enfoca al centro de un planeta, y a partir de ahí se puede modificar el zoom y el ángulo desde el que se mira. El usuario puede cambiar en cualquier momento en qué planeta se quiere centrar, y cuando se modifica el programa mueve la cámara con una suave animación.
Requisitos
El programa funciona en cualquier plataforma con OpenGL y Glut. Nosotros distribuimos binarios para Windows y Mac. Debería ser sencillo compilar el programa en otras plataformas. Para linux no distribuimos binarios por la diversidad de distribuciones y librerías, pero puedes compilarlo tú mismo.
En cuanto al hardware, una máquina de 500Mhz y una tarjeta gráfica de 64Mb debería ser suficiente para ejecutarlo con una respuesta adecuada.
Bajo linux deberás tener las librerías libpng, libjpeg, glut, opengl y además tener el soporte DRI o similar en tus X11 para que OpenGL use el hardware de tu tarjeta gráfica.
Descargar!
Se puede descargar todo desde la página de proyecto de Sourceforge.
En la actualidad no se distribuyen binarios para linux. Esto es debido a la gran variedad de distribuciones, sería difícil crear un paquete que funcione en todas. Si eres capaz de hacer un paquete para tu distribución, no dudes en hacerlo y enviárnoslo para publicarlo aquí.
- Última versión para Windows: Univerx-0.1.zip
- Última versión para MacOSX: UniverX-0.1.dmg
- Última versión para Linux: UniverX-0.1-src.tgz
Código fuente: UniverX-0.1-src.tgz
Este programa se distribuye bajo la licencia GPL, eres libre de usarlo, modificarlo, compartirlo con tus amigos... De hecho, ¡es lo que deberías hacer!
Uso
El uso de este programa es bastante sencillo. Lo primero es arrancarlo como otra aplicación cualquiera, entonces se nos mostrará una vista predeterminada de los planetas. Se puede rotar la vista haciendo click con el botón izquierdo y arrastrando, y modificar el zoom con el boton central del raton y arrastrando. Con el botón derecho se mostrara un menú contextual con las distintas opciones del programa y los atajos del teclado de cada una de ellas.
Con las teclas del 0 al 9 podemos seleccionar en qué planeta queremos centrar la cámara, siendo 0 el Sol y 9 Plutón.
- j) Vista superior.
- k) Vista perspectiva.
- l) Vista perfil.
- F1-F5) Vistas predefinidas.
- f) Pantalla completa.
- o) Translación de planetas.
- r) Rotación de planetas.
- a) Mostrar atmósfera terrestre.
- z) Cuadrícula (1 cuadro = 1 unidad astronómica).
- x) Mostrar ejes de rotación.
- g) Mostrar FPS.
- b) Mostrar fondo de la galaxia.
- v) Mostrar nombres de Planeta.
- h) Tomar captura de pantalla.
- t-T) Ajustar escala de tiempos.
- p-P) Ajustar escala de los planetas.
- s-S) Ajustar escala del Sol.
- e) Activaar pixel shaders.
- spc) Pausa
Alternativas
Como primera opción deberías probar Celestia. Es un programa realmente completo con una gran cantidad de astros y con una simulación muy precisa. UniverX pretende ser mucho mas simple, centrándose sobre todo en el movimiento de los planetas.
Desarrolladores
Estos son los desarrolladores que han hecho posible UniverX:- Mario Arias (McK): Desarrollador principal y encargado de visualización.
- Alvaro Zubizarreta: Desarrollador principal y encargado del motor físico.
Mejoras
- Incluir lunas, por lo menos la Luna de la Tierra.
- Mejorar los pixel shaders para lograr una superficie más realista de los planetas. Y digo mejorar porque ya está implementado, pero hay una serie de problemas con la rotación de los planetas por lo que está desactivado temporalmente.
- Internacionalización.
- Corregir pequeños errores o Bugs
¿Alguna sugerencia? contáctenos.
Enlaces
- Simulador del Sistema Solar en 2D, applet java.
- OpenGL Programming Guide (Red Book)
- OpenGL
- Texturas de las superficies de los planetas
- Base de datos de estrellas
- A simple libpng example program.
- OpenGL: Placage de texture (JPG)
- JPG: Read / write example.
- Aplicando texturas planas a superficies esféricas.
- OpenGL Sphere With Texture Coordinates. Paul Bourke.
- Nvidia Cg shading language. Compilador, Manual de Usuario, Manual de Referencia
- Bump Mapping Using CG. Soren Dreijer.
- Celestia
- Wikipedia
- Web de Mario Arias