Archivo
Valoración: 8
PISOP - Parte I

Finalmente he decidido dejar el proyecto Mesousa 2.0 de lado ya que encontré algunas cosas que no me gustaban del port en c++ que me bajé y creo que ya no vale la pena seguir con ello. A lo mejor más adelante, le dedico más tiempo.

En su lugar estoy ahora con PISOP. ¿Qué leches es PISOP? pues es el nombre -temporal de momento- que le he dado a un proyecto que estoy haciendo en Informática gráfica y son las siglas de Programa Interactivo de Simulación de Órbitas Planetarias.

Pero empiezo por el principio mejor.

Este año me pillé una asignatura en la cual trabajamos con las API’s de OpenGL y de DirectX sobre C++ para hacer programas con gráficos, ya sean videojuegos, simulaciones, escenas etc. Según la presentación que nos hizo el profesor de la asignatura, podíamos hacer un proyecto, con el cual nos librábamos del examen y podíamos optar a matrícula llegado el caso. Como de costumbre, la mejor manera de aprender algo relacionado con la programación es programando, así que sin ir demasiado en serio me puse a adaptar una práctica que hice el año pasado sobre órbitas planetarias en 2D usando el canvas en Borland.

Lógicamente, trabajar con una api gráfica me permite hacer cosas en 3D mucho más fácilmente, así que pensé que sería buena ídea adaptar las ideas de la antigua práctica a un entorno totalmente tridimensional. Tras comprobar la increible potencia y sencillez que tiene el opengl, decidí que finalmente el simulador iba a ser mi proyecto. A lo largo de las últimas semanas he ido terminando ya algunas cosas:

  • Cálculo y dibujado de órbitas (falta un detalle con la variación de velocidad angular y la propia rotación)
  • Mejora de órbitas permitiendo introducir factores de inclinación orbital.
  • Iluminación.
  • Materiales.

Por lo que ya tengo un prototipo muy, muy básico. También tengo otro prototipo para las texturas. Y bueno, por no aburriros más, os voy a poner aquí ambos prototipos para que los veais y me critiquéis -e insultéis- por lo mierdas que son:

- Prototipo de simulación de órbitas

- Prototipo de texturizado

Si no os rula y os pide una dll, será esta seguramente: (windows/system)

- glut32.dll

Y ya de paso la versión antigua del año pasado:

- Práctica sobre órbitas planetarias

Algunos controles:

  • Numpad01: Superior
  • Numpad02: Perfil
  • Numpad03: Perspectiva 1
  • Numpad04: Perspectiva 2
  • Numpad05: Sorpresa
  • Numpad06: Otra sorpresa (incluye movimiento con las flechas lateralmente)
  • Numpad07: er… nada, mejor olvidad esta cámara de momento
Fuente: Mi entrada en el blog de Tanoshii
259
19 Nov 2008, 20:28
#1

bueno, imagino todo esto llevará un montón de líneas de código y horas de trabajo, pero el resultado, al menos de momento se ve bastante pobre, cuando se implementen texturas, un fondo guapo de galaxia, meteoritos que colisionan con planetas, naves espaciales saltando al hiperespacio...la cosa irá ganando.

Aunque ya nos adviertes que es un prototipo creo que en futuras versiones deberías trabajar también la parte de diseño gráfico, desgraciadamente las cosas entran por los ojos y un trabajo a priori interesante puede llegar a ser interesante y además visualmente atractivo.

En la práctica original sobre órbitas planetarias, ¿es normal esa acelaración tan brusca de los planetas más cercanos al sol?

PD: Aunque no tenga nada que ver con el Blog, ¿alguien por aquí controla el Action Script de Flash? (estoy intentando hacer una página web para la empresa en que trabajo y estoy atascado)

19 Nov 2008, 20:36
#2

Flash-Hack yo no entiendo ni papa de esto, pero te apoyo para que "alguien" visite tu blog

19 Nov 2008, 20:53
#3

bueno, imagino todo esto llevará un montón de líneas de código y horas de trabajo, pero el resultado, al menos de momento se ve bastante pobre, cuando se implementen texturas, un fondo guapo de galaxia, meteoritos que colisionan con planetas, naves espaciales saltando al hiperespacio...la cosa irá ganando.

Jeje, si bueno, ya he dicho que es un prototipo. Aunque en sí es muy simple visualmente (todos estamos acostumbrados a ver juegos muy detallados y ves algo así y parece cutre, es normal), detrás he implementado toda una lógica sobre órbitas elípticas. De momento todo se reduce a movimientos planetarios e iluminación.

Aunque ya nos adviertes que es un prototipo creo que en futuras versiones deberías trabajar también la parte de diseño gráfico, desgraciadamente las cosas entran por los ojos y un trabajo a priori interesante puede llegar a ser interesante y además visualmente atractivo.

Sí, aun faltan todas las texturas y toda la pesca y más adelante me gustaría probar a intentar hacer destellos y cosas así.

En la práctica original sobre órbitas planetarias, ¿es normal esa acelaración tan brusca de los planetas más cercanos al sol?

Um si, digamos que en la versión antigua en la que calculaba órbitas elípticas, el algoritmo se basaba en ecuaciones de la elipse desarrolladas y simplificadas para que calculasen todos los valores dentro de un rango, sin embargo, según se acercaba a los extremos de la órbita, los posibles valores de la función dado un valor x, se iban disparando más y más, de ahí ese efecto de aceleración.

En la nueva versión, rehice todo el código basándome en las ecuaciones paramétricas de la elipse, de tal forma que voy calculando la posición de un planeta en función de su ángulo, por lo que la precisión es mayor y queda un resultado más limpio.

PD: Aunque no tenga nada que ver con el Blog, ¿alguien por aquí controla el Action Script de Flash? (estoy intentando hacer una página web para la empresa en que trabajo y estoy atascado)

Ni idea sorry

Gracias por las críticas

20 Nov 2008, 17:28
#4

Hola,

#1 Yo no estoy de acuerdo. Un algoritmo bien programado vale varias veces más que un gráfico bonito. Por cada buen programador hay 100 diseñadores. Cuidado, buen programador, no me refiero a alguien que sepa reutilizar código, sino que cree el suyo propio optimizando los anteriores (ya queda poco que no se haya hecho antes, ahora hay que 'hacerlo mejor'). Lo malo es que el programador 'puro' tiene poca salida, sin embargo un diseñador gráfico lo tiene cada vez más fácil ya que aumenta la demanda.

Sobre el Action Script de Flash, te remito a BAZAR-> Desarrollo. Si detallas tu problema quizá te podamos echar una mano.

21 Nov 2008, 19:51
#5

Estoy totalmente de acuerdo contigo SinSa. Programar lleva su tiempo y Flash-Hack no está haciendolo tan mal. A esto le hay que dedicar mucho tiempo, un ejemplo claro son dos tios de mi clase los dos le dedican más o menos el mismo tiempo a la programación de un mismo programa pero uno utiliza un lote de bucles para hacer lo mismo que hace el otro en dos for y unos pocos if. Va a tener mejor salida el que simplifica el código siempre, pero eso es casi lo que más trabajo lleva, optimizar el código. Sigue así Flash-Hack tienes todo mi apoyo.

22 Nov 2008, 11:26
#6

sobre el prototipo de las texturas, teóricamente la tierra se debería de ver con una textura (y en mi ordenador se ve), pero por lo que vi en unos ordenatas de la uni, allí no iban las susodichas texturas. Aparte, si no tenéis activado el vsync del windows por defecto, veréis al planeta dar vueltas a toda leche. Se me olvidó corregirlo.

Regístrate para poder comentar.

Si ya estás registrado solo tienes que iniciar sesión.