domingo, 18 de abril de 2010

Roboces Animados. Versión 0.1

En breve, publicaré la versión 0.1 de los Roboces Animados, dado que el curso de software libre que estoy haciendo termina en una par de días y tengo que terminar el proyecto. En este post, comentaré las cosicas que incluye con respecto a la versión 1.0, que debería ser publicada en veranito, después de entregarla como práctica de Informática Gráfica.

1. Geometría

La versión 1.0 de Roboces Animados incluirá la opción de visualizar distinas figuras geométricas (Cono, Cilindro, Cubo y tetrahedro). En la versión 0.1, se puede encontrar el código para dibujar cono, cilindro y cubo en la clase geometria, pero no está incluida su visualización en el programa. Esto es porque tengo que diseñar el escenario antes de decidir donde ponerlos. Además, según el guión de la práctica de IG, hay que crear una jerarquía de figuras geométricas (o sea, cada figura es una suclase de la clase figura geometrica), algo que es facilito, pero no demasiado interesante.

Estado: 50%

2. Transformaciones geométricas

En esta parte del trabajo, hay que crear un sistema jerarquico no demasiado complejo. Evidentemente, esto está totalmente cubierto con los robots articulados, pero se pide explícitamente un cochecito bastante cutre que se selecciona con una tecla. Este coche está incluido, aunque se visualiza por defecto, habrá que limitar esto en su momento.

Por otra parte, el guión del proyecto exige diversas formas de visualización: modo polígono, alambre, punto y ajedrez, de las cuales solo falta la última.

Estado: 95%


3. Modos de visualización y ficheros .ply


Los archivos con extensión ply sos ficheros que contienen todos los datos para dibujar una figura (sus caras, puntos, etc). Desde la version 0.1 e incluye una clase para gestinar un fichero ply, y dibujar la figura que contiene.





Para que las figuras se dibujen de una manera más o menos realista, existen distintos métodos de iluminación. En la versión 0.1 se incluyen los dos que conozco, la iluminación plana y la iliminación de Gouroud que se pueden aplicar a una figura con la cabeza de Beethoven. El modo de iluminación se puede cambiar con una tecla, así como la luz que inside en la escena.

En esta parte del trabajo, falta crear una esfera y aplicarle estos métodos de iluminación.

Estado: 80%


4. Cámaras

Dependiendo de la situación de la cámara y el objetivo de esta, la escena se observará de una forma u otra. Por eso, en este trabajo se ha implementado una cámara que se puede mover libremente con las teclas, así como también se puede mover el objetivo hacia el que mira. Para eso tenemos las clases cámara y visualización.



Existen, así mismo, 4 cámaras fijas que observan la escena. Además, los 4 primeros robots del grupo, si es que hay tantos, llevan una cámara subjetiva. Al seleccionar esta cámara con su respectiva tecla, podremos ver lo que ve el humanoide.

Con respecto a la versión 1.0 hay arreglar el control de la cámara que gira en torno al eje Y, que falla por algún bocado que he debido meterle en algún momento.

Estado: 98%


5. Animación.

La parte principal de la aplicación es la animación que se observa en la escena. Esta debe ser una animación conductista, en la que una serie de individuos (cuyo número se para como parámetro al programa) se mueve mostrando una conducta común, pero que varía en función de una serie de atributos cuyos valores se generan de forma aleatoria.

Nuestros individuos son los nombrados roboces (o robots, para los profanos). En la versión 1.0 tendrán una conducta bastante más interesante, pero en la 0.1 solo disponen de 4 estados: Buscar un objetivo (que será aleatorio), girar para mirar hacia él (con una velocidad angular aleatoria), andar hacia él (con una velocidad aleatoria que disminuye en funcion de una resistencia aleatoria) y descansar, cuando la velocidad llega a 0, hasta recargarla. La técnica de los robots para recargarse es girar con los brazos en cruz ¿?

Estado: 70%.




6. Escenografía

En la versión 0.1, todas las opciones vistas antes se realizan en un suelo verde. Para la versión 1.0, o quizás alguna posterior, se incluirá un escenario mucho más chulo, usando texturas y esas cosas.

Estado: 5%.


7. Documentación

Ya véis que el trabajo está todavía en una fase previa, pero de lo que más carece es de documentación. Con las prisas del curso, es difícil comentar el código y tal, y ya que los profesores apenas miran código, es la parte menos prioritaria. Por otra parte, es preciso realizar un manual de instruciones, sobre todo para explicar los controles del programa.

Estado: 5%.


No hay comentarios:

Publicar un comentario