Advertisement
Bienvenido a Squishdot Reportes Anuncios Debian Ciencia Linux
 principal
 nivel superior
 enviar artículo
 buscar
 administrar
 acerca de ...
 rdf
 rss
 main


Reporte
Reportes Posted by angolero on Saturday April 08, @01:12AM el 2006
from the dept.

!!!Saludos a todo el mundo!!!


Ante la tentativa recursiva de escribir en este reporte que me encuentro escribiendo este reporte …y así, e de escribir sobre mis pasadas y resientes actividades laborales hasta ahora realizadas.

Unas de las cosas ha sido poner “sobre ruedas” todo, o al menos lo necesario del IDE Visual studio 8para programar mas cómodo en Windows, en un momento me resulto sumamente seca y confusa toda su interfase de configuración, o al menos la documentación, pero una ves “andando” resulta cómodo y bastante bien hecho.

Logre correr bien la ultima versión de cageCpp con las librerías cppUnit incorporadas y se genero un .exe en el cual se desarrollan muy bien las clases prueba, además al usar los diferentes “outputs” de g++ y visual Studio encontré un “bug” muy difícil de cazar.

Dentro de mis sueños mas necios de esto seria correr también todo en el Borland c++ builder, pero los “makes”, para el Borland que vienen con la librería no funcionan muy bien, o bien todavía no se configurar muy bien este IDE ¡a ver que pasa!.

Dentro de esta actividad se ha ido dando en conjunto el escribir las clases prueba de Automaton, estoy muy orgulloso de que hasta ahora todos los métodos han pasado, por desgracia debido al “bug” antes mencionado no pude escribir la clase de prueba al mismo tiempo que la clase automaton, rompiendo las reglas, al escribir clases prueba.

Dentro de este rubro aparecen toda una serie de pasos naturales y algunas ideas generales a seguir:

TO DO:

-terminar de una ves el automaton o su sucesor, para que puedan hacer algunos autómatas dentro de un rango restringido de posibilidades con gran facilidad (Casi terminado y necesario)

-Desarrollar toda una clase de, o buscar librerías de permutaciones y combinatoria para que las posibilidades de crear una gran rango de tipos de vecindario con facilidad sea una realidad.

(No necesario por el momento, ¡se súper antoja!).

-Desarrollar todo un grupo de automatones, con diferentes maneras de iteración de la función de siguiente estado (todas las casillas se modifican al mismo tiempo, se da la modificación una por una de manera aleatoria, o el usuario o alguien establece un orden de iteración y se mantiene, etc.… ).

(Fácil, no necesario por el momento).

-Pensar en alguna manera buena de desarrollar las reglas de siguiente estado, diseñar una clase o buscar librerías, algo para desarrollar lógica boleana, o reglas algebraicas, los autómatas y su generalización no se da en gran parte, a que los ejemplos investigados se basas en reglas como listas, lo cual resulta muy difícil pasar al algebra, aunque claro la clase debe de soportar listas :-) .

(Difícil y no necesario por el momento, ¡se antoja mucho!).

-Crear toda una estructura de excepciones!!!, no lo hice en un principio por que quería pensar en una bonita estructura de clases, pero ahora es muy urgente para la estabilidad del sistema.

(Talacha, no necesario por el momento, súper necesario antes que el código crezca mucho mas).

-Conseguir un buen “profiler” que funcione en visual Studio, en gcc g++, y no estaría mal en borland, y probar cual es el compilador que se la rifa mas, todos ellos tienen modificadores especiales para optimizar el código, o reducir el tamaño del exe etc..

(No necesario por el momento, ¡se antoja bastante en unos meses!).

-También en un futuro no muy lejano, el desarrollo del modulo de los agentes (En este momento no necesario, ¡se súper antoja!).

La lista anterior representa todos los mejores deseos y algunas de las necesidades por parte de la lógica del código.

Aunque debemos de recordar que la Sra. Generala parece mas interesada en la parte grafica, como la mayoría de la banda educadora, supongo.

En este contexto se han atacado dos frentes, uno es openGL, y el otro es directX, al leer un libro que tengo sobre video juegos, exaltaba las características de directX , ya que para juegos windoseros al parecer esta bastante bien, aunque no se que tanto todavía. DirectX

Tiene varias ventajas como manejar por la librería los diferentes threads de la vista como del controlador, además se maneja fácil el ajustar el rendereo, de una manera “estándar” y el software se encarga de ver como lo maneje cada hardware!!!. , consiguiendo en condiciones ideales que la velocidad de despliegue de cada estado se homogénea en diferentes maquinas.

El despliegue de botones, o pequeñas ventanas con avisos, todo lo clásico Windows, es bastante fácil.

La parte de la lógica se siente muy interesada en todo un conjunto de clases y funciones de ayuda, para el manejo de nodos y vértices (para los agentes), que en el caso de directX son para creas estructuras y superficies (videojuegos).

La superficie mínima es el triangulo.

Sobre las superficies y objetos dimencionales formados por los nodos y los vértices, se pueden manejar luces y perspectivas variadas (sobre el área interna de la grafica), además de las impresionantes texturas, con las cuales puedes mapear una imagen a una superficie, en el caso de directX, hasta 6 diferentes, o 5 filtros de efecto sobre la textura, creando imágenes mucho mas realistas, que en el caso de la educación, vendrían muy bien.

En la parte de graficas, las transformadas rígidas en el espacio se manejan con matrices y un gran elementos de ayuda en las operaciones, sobre las graficas.

Además se encarga, del manejo del loop principal, sobre el cual Windows checa los eventos soltados por la aplicación, encargándose del problema del multithreading.

Es necesario instalar la ultima SDK para poder usar lo más nuevo (que pronto será viejo)

SDK

Por desgracia las funciones son asquerosamente windoseras, por ejemplo:

// Create the application's window.

HWND hWnd = CreateWindow( "Direct3D Tutorial", "Direct3D Tutorial 01: CreateDevice", WS_OVERLAPPEDWINDOW, 100, 100, 300, 300, GetDesktopWindow(), NULL, wc.hInstance, NULL);

Estoy feliz de decir que ya tengo corriendo los primeros ejemplos muy sencillos, con el visual studio.

Y ya mas o menos se como hacer las mas sencillo con texturas, luces, superficies, vértices y un poco de transformaciones.

Lo que parece más tentador es un tipo de textura llamada Cubic Environment Mapping, la cual pienso que estaría perfecta para la visualización de medios difusivos, pero no se si sea demasiado peso para la maquina, se vera.

Por otro lado tenemos a OpenGL, que en un principio me causo desasosiego, por que en todos lados decían que programar openGL en Windows, esta horrible y no se cuanto, openGL es una interfaz para comunicarte con cualquier hardware de despliegue de gráficos, pero me parece (por lo que se dice) no es de muy alto nivel y para nada multiplataforma el código creado, lo cual no me gustaba nada, ya que crear una interfaz especifica para Linux, con el riesgo de que no fuera muy rápida me preocupaba bastante, y sobre todo el problema resultaban los estudiantes, ya que todos tienen maquinas Windowseras.

Por fortuna se tiene GLUT que es OpenGL Utility Toolkit, un api para OpenGL, el cual es mucho mas fácil de manejar comparado con la clásica programación de OpenGL en Windows, además el código que sale es multiplataforma.

Así que sin dudarlo mas monte y probé los primeros ejemplos en visual Studio logrando la compilación con las librerías GLUT.

Gracias a esto, me dedique a probar un sinnúmero de ejemplos de programas con GLUT que vienen con la distribución, en ellos encontré un ejemplo, en el cual se desplegaba el atractor de Lorenz, en tres dimensiones, y puesto que eso es muy parecido a lo que necesitamos empiezo a estudiar el ejemplo para obtener la primera vista escrita en OpenGL y GLUT.

Para resumir puedo decir que ando en la creación de la vista en OpenGL via GLUT, para probarlo en Windows y Linux, y además ando terminando las cases de prueba del automaton.

Si llegaron hasta acá gracias por llegar al final de este súper mega rollo!!!, si no ¡no se preocupen! A mi me costo mucho el releerlo.

¡!!!!!Saludos y abrazos!!!!!

P.D. Cualquier cosa, dudas, problemas para instalar algo, donde conseguir el software, platicar al respecto, comentarios jocosos!!! Lo que sea!! Se agradecerá, por favor póngalos como respuesta o por mail.



Reporte Periodico =) del Ouroboros | Reporte Semanal(?) de Ouroboros  >

 

Related Links
  • Articles on Reportes
  • Also by angolero
  • Contact author
  • The Fine Print: The following comments are owned by whoever posted them.
    ( Reply )

    Powered by Zope  Squishdot Powered
      "Any system that depends on reliability is unreliable." -- Nogg's Postulate
    All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest ©1999 Butch Landingin.
    [ home | post article | search | admin ]