Diferencia entre revisiones de «Tutorial:ODE y robots modulares:Caida libre (III)»
(→Vídeo) |
(→Conceptos previos) |
||
Línea 86: | Línea 86: | ||
== Conceptos previos == | == Conceptos previos == | ||
+ | |||
+ | === Sistema de referencia === | ||
+ | |||
+ | {| | ||
+ | | [[Imagen:Drawstuff world1.png|thumb|250px|'''Figura 1''': Aspecto del "mundo virtual" dibujado por la librería drawstuff]] | ||
+ | | [[Imagen:Drawstuff world2.png|thumb|250px|'''Figura 2''': Sistema de referencia del mundo virtual]] | ||
+ | |} | ||
== Descripción == | == Descripción == |
Revisión del 03:44 7 ene 2009
Contenido
[ocultar]Simulación de un cubo en caida libre (III): 3D
|
|
|
Introducción
En este ejemplo añadiremos visualización en 3D a la simulación del cubo en caida libre. Para ello utilizaremos la librería drawstuff, creada por Russell L. Smith (el autor del ODE). Esta, a su vez, utiliza OpenGL.
Las simulaciones con visualización en 3D son muy interesantes, ya que con un sólo golpe de vista nos permite conocer cómo ha evolucionado nuestro sistema. Sin embargo, es importante tener en cuenta que el ODE nos permite realizar simulaciones sin visualización. Esto es muy útil para realizar búsquedas mediante algoritmos genéritos, en las que hay que evaluar centenares de individuos intermedios. La visualización 3D se utiliza para observar los resultados obtenidos, pero no los el resto de individuos.
Objetivos
- Añadir visualización 3D a las simulaciones con ODE, usando la librería drawstuff.
Código
Programa principal | |
Creación y dibujo del cubo | |
Definición de las constantes. | |
Definición de los prototipos de body.cpp y las estructuras de datos. |
Compilación
Todos los ejemplos de este tutorial compilan tecleando "make". Sin embargo se describe a continuación cómo se compila directamente usando el GCC:
g++ -o box3 -Iinclude box3_ex/box3.cpp box3_ex/body.cpp libdrawstuff.a -lm -lode -lX11 -lGL -lGLU
Ejecución
Para probar el ejemplo, teclear:
./box3
En la consola aparecerán los siguientes mensajes. El primero lo genera la propia librería drawstuff. Muestra cuáles son las teclas que se pueden emplear para mover la cámara, parar la simulación, simular un paso, volcar las imágenes a ficheros, etc:
Simulation test environment v0.02 Ctrl-P : pause / unpause (or say `-pause' on command line). Ctrl-O : single step when paused. Ctrl-T : toggle textures (or say `-notex' on command line). Ctrl-S : toggle shadows (or say `-noshadow' on command line). Ctrl-V : print current viewpoint coordinates (x,y,z,h,p,r). Ctrl-W : write frames to ppm files: frame/frameNNN.ppm Ctrl-X : exit.
Change the camera position by clicking + dragging in the window. Left button - pan and tilt. Right button - forward and sideways. Left + Right button (or middle button) - sideways and up.
Los últimos mensajes los imprime la aplicación box3:
Keys: 1: Drop the box q: Quit
La tecla '1' sitúa la caja en su posición inicial, por lo que vuelve a caer. La tecla 'q' finaliza la simulación.
Capturas de pantalla
Visualización de la caida del cubo, en tres instantes diferentes:
Vídeo
![]() |
Video en MPEG |
Conceptos previos
Sistema de referencia
Descripción
|
|
|