Curvas y transformaciones
Curvas y Transformaciones
Parte 1
Modo de Uso
Básicamente, para utilizar la aplicación de una manera correcta, se deben seguir los siguientes pasos: a) Realizar una serie de clicks con el botón izquierdo del mouse sobre la ventana 2D superior (vista 2D del bosque), para dibujar una curva mediante el algoritmo de B-Spline. La curva se comienza a ver a partir de losprimeros cuatro puntos de control. Si desea borrar los puntos y comenzar de nuevo, presione el número "1" del teclado. b) Realizar una serie clicks con el botón izquierdo del mouse sobre la ventana 2D inferior (vista de hoja), para dibujar el contorno de la hoja del árbol mediante el algoritmo de Bezier. La curva se cerrará automáticamente cuando presione la tecla "U". Si desea borrar los puntos ycomenzar de nuevo, presione el número "2" del teclado. c) Luego de presionar la tecla "U" se mostrará la vista 3D del bosque, creado a partir de la curva y hojas dibujadas, en combinación con los parámetros del archivo. d) En este momento, usted puede mover la cámara de la vista 3D realizando un click con el mouse y arrastrando el mismo, o bien puede aumentar o disminuir el zoom de la escena conlas teclas "+" y "-" respectivamente. e) Otra funcionalidad que se provee es la de arrastrar los puntos de control de la vista 2D superior, utilizando "drag & drop" y con esto se puede visualizar como la curva en la escena 3D se adapta dinámicamente a las acciones del mouse. f) Si desea volver a comenzar, presione las teclas : "U", "1" y "2" para borrar todo, y luego las teclas "1" y "2" nuevamentepara volver a indicar los puntos de control. g) También puede utilizar "drag & drop" con la vista de hoja, pero para esto debe apagar la vista 3D con "U", mover los puntos de control, y luego encender la vista 3D presionando "U" nuevamente. h) Presione "ESC" en cualquier momento para salir.
Trabajo práctico Nro. 2 – 1º cuatrimestre 2009 – Mancini, Lucas (86893); Cartuccia, Gabriel (86977) –Fecha de entrega: 22/05/09 – Página Nro. 1
Eventos disparados con cada una de las teclas: ESC : permite salir de la aplicación. G o g : activa/desactiva la grilla en la vista 3D. A o a : activa/desactiva los ejes en la vista 3D. + o ruedita del mouse hacia arriba: incrementa zoom en la vista 3D. - o ruedita del mouse hacia abajo: decrementa zoom en la vista 3D. U o u : cierra la curva 2D en lavista de hoja y enciende/apaga (y actualiza) la vista 3D. H o h : pasa al modo "drag & drop" de puntos de control en la curva Bezier. B o b : pasa al modo "drag & drop" de puntos de control en la curva BSpline. 1 : borra los puntos de control de la curva BSpline. 2 : borra los puntos de control de la curva Bezier.
Trabajo práctico Nro. 2 – 1º cuatrimestre 2009 – Mancini, Lucas (86893); Cartuccia,Gabriel (86977) – Fecha de entrega: 22/05/09 – Página Nro. 2
Diseño
El diseño de la aplicación fue orientado hacia la creación de un marco de trabajo (framework) para el dibujado de las figuras básicas (curvas, cilindros, discos, etc.), que luego pueda ser utilizado para construir escenas complejas de forma rápida y fácil. Por ejemplo, un cilindro con tapas se construye a partir de uncilindro sin tapas más dos discos. Una rama se compone de varios cilindros, y un árbol se compone de varias ramas. Este framework es el que interactúa directamente con las bibliotecas de OpenGL, GLU y GLUT, de manera de que la escena se abstraiga de los detalles de bajo nivel de dichas bibliotecas, y se pueda dibujar fácilmente. Por otro lado, hay módulos aparte encargados de manejar los eventos delteclado y el mouse. Estos manejadores parametrizan la escena de manera de que la misma se dibuje de diferente manera según sea el caso. De esta manera, el código se divide en bloques bien diferenciados, lo cual lo hace más modificable, extensible y mantenible que si se dibujara directamente lo pedido. El esquema de bloques se muestra en la siguiente figura: Framework Clases abstractas de dibujo GLU...
Regístrate para leer el documento completo.