Diferencia entre revisiones de «Tutorial:ODE y robots modulares:Cuerpos compuestos (II)»
(→Modelo del cuerpo) |
(→Modelo del cuerpo) |
||
Línea 79: | Línea 79: | ||
El cuerpo está en el interior de un hexaedro de dimensiones W x L x H y su centro de masas se encuentra en el centro. A partir de estos parámetros se calculas las constantes L1 y <math>\varphi</math>: | El cuerpo está en el interior de un hexaedro de dimensiones W x L x H y su centro de masas se encuentra en el centro. A partir de estos parámetros se calculas las constantes L1 y <math>\varphi</math>: | ||
− | + | {| {{tablabonita}} | |
− | <math>L_{1}=\sqrt[]{L^{2}+\left(\frac{H}{2}\right)^{2}}</math | + | | <math>L_{1}=\sqrt[]{L^{2}+\left(\frac{H}{2}\right)^{2}}</math> |
− | <math>\varphi=\arctan\left(\frac{H}{2L}\right)</math> | + | | <math>\varphi=\arctan\left(\frac{H}{2L}\right)</math> |
+ | |} | ||
== Explicación del código == | == Explicación del código == |
Revisión del 03:28 8 ene 2009
Contenido
[ocultar]Modelado de cuerpos compuestos (II)
|
|
|
Introducción
En este ejemplo veremos cómo construir un cuerpo con forma de prisma, constituido por tres geometrías. La base es un triángulo isósceles. Las geometrías son hexaedros con el mismo grosor. Cada una de ellas está rotada y desplazada con respecto al centro de masas del cuerpo.
Objetivo
- Crear cuerpos compuestos complejos
Código
Programa principal | |
Creación y dibujo del cuerpo compuesto | |
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++ -Iinclude -c -o compound2_ex/compound2.o compound2_ex/compound2.cpp g++ -Iinclude -c -o compound2_ex/body.o compound2_ex/body.cpp g++ -o compound2 compound2_ex/compound2.o compound2_ex/body.o libdrawstuff.a -lm -lode -lX11 -lm -lGL -lGLU
Ejecución
Para probar el ejemplo, teclear:
./compound2
Además de los mensajes impresos en pantalla por la drawstuff, aparecerá el siguiente menú:
Keys: 1: Drop the compound body q: Quit
La tecla '1' sitúa el cuerpo 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 cuerpo, en tres instantes diferentes:
Vídeo
![]() |
[video.mpg] |
Modelo del cuerpo
El cuerpo compuesto creado en este ejemplo es el mostrado en la Figura 1. Es un prisma de base triangular. Está compuesto de tres geometrías, que denominamos pieza 1, 2 y 3. Las piezas 1 y 2 son iguales. Tienen unas dimensiones de W x L1 x GROSOR, y están rotadas un ángulo <math>\varphi</math> alrededor del eje x. Las dimensiones de la pieza 3 son: W x H x GROSOR.
El cuerpo está en el interior de un hexaedro de dimensiones W x L x H y su centro de masas se encuentra en el centro. A partir de estos parámetros se calculas las constantes L1 y <math>\varphi</math>:
<math>L_{1}=\sqrt[]{L^{2}+\left(\frac{H}{2}\right)^{2}}</math> | <math>\varphi=\arctan\left(\frac{H}{2L}\right)</math> |
Explicación del código
Enlaces
|
|
|