Filippo 3D ver 0.1

f3d rotations Filippo 3D is my final project for Golan‘s class, the Interactive Image. This project is inspired by the idea of drawing in a 3D canvas. After seeing Amit Pitaru‘s work, the famous sonic sculptor or the gesture machines from Zack Lieberman, I decided to create a small application that allowed to transfer 2D hand strokes into a 3D space.

Download

I’d be really happy to receive feedback for further improvements and/or the PDFs (360 Sample) you create with it. I hope that the next version will have load/save capabilities since the only possible output right now is into a PDF (or animated series of PDFs) or DXF (an old 3D) format. Enjoy! sillas
/* English ends here :) */
Filippo3d Interface La diferencia con los ejemplos anteriores es que en ellos el dibujo rota en el espacio y el plano de la pantalla –en el cual uno dibuja– se intersecta con el espacio tridimensional en un plano fijo. Lo que querí­a hacer yo era poder mover ese plano, como si la hoja de papel sirviera para fijar las lí­neas no en el papel, sino en el espacio construí­do por ese plano. Dicho de otro modo, un cuaderno que permitiera dibujar, luego mover el cuaderno y dejar las lí­neas flotando en el aire, en su posición original: la construcción de un plano-andamio para fijar lí­neas en el espacio. Finalmente el resultado no es literalmente esta imagen del cuaderno desplazable por el espacio, principalmente porque uno siempre dibuja frontalmente y no tiene sentido mover un plano que será mediado ineludiblemente por el plano de la pantalla. Lo que el programa hace es mover y rotar el modelo para hacerlo coincidir con el plano de dibujo (plano-pantalla); en el fondo es lo mismo pero pero tiene más sentido al momento de dibujar. El modelo matemático que sustenta la traducción de un espacio bidimensional a un espacio tridimensional implica multiplicación de matrices al modo inverso de lo que el computador hace cuando presenta modelos tridimensionales en la pantalla: a cada vértice con ubicación (x,y,z) le asigna su correspondiente (x,y) en la pantalla. Lo que este programa hace es partir de un (x,y) –con un z igual a 0– que se traduce a un espacio tridimensional con rotaciones en los ejes x,y,z.
Traslación en x,y,z:

| 1   0   0   x |
| 0   1   0   y |
| 0   0   1   z |
| 0   0   0   1 | 

Rotación en X:

| 1     0     0     0 |
| 0    cosα -sinα   0 |
| 0    sinα  cosα   0 |
| 0     0     0     1 | 

Rotación en Y:

| cosα  0    sinα   0 |
| 0     1     0     0 |
|-sinα  0    cosα   0 |
| 0     0     0     1 | 

Rotación en Z:

| cosα -sinα  0     0 |
| sinα cosα   0     0 |
| 0     0     1     0 |
| 0     0     0     1 | 

Multiplicación de Matrices:	

| 1 0 0 |     | x |     | 1 * x + 0 * y + 0 * z |
| 0 1 0 |  *  | y |  =  | 0 * x + 1 * y + 0 * z |
| 0 0 1 |     | z |     | 0 * x + 0 * y + 1 * z | 	

| A1,1  A1,2  ... |     | B1,1  B1,2  ... |     | A1,1 [B1,1 B1,2 ...] + A1,2 [B2,1 B2,2 ...] + ... |
| A2,1  A2,2  ... |  *  | B2,1  B2,2  ... |  =  | A2,1 [B1,1 B1,2 ...] + A2,2 [B2,1 B2,2 ...] + ... |
| ...   ...   ... |     | ...   ...   ... |     |         ...                   ...             ... |
Si bien esta parte es bastante árida, una vez funcionando uno puede olvidarse de eso y enfocarse en cosas más importantes, como para qué puede servir algo semejante 🙂 En fin, Filippo 3D permite hacer varias cosas, entre ellas generar PDFs de las distintas vistas (tecla ‘p’minúscula) y exportar modelos DXF para programas de edición en 3D (tecla ‘d’ minúscula). También permite generar secuencias de PDFs del modelo rotando en el eje Y, (tecla ‘P’ mayúscula). Todo esto queda guardado en la misma carpeta del programa, ojo. Creo que este programita podrí­a ser útil en las salidas a croquear con una tablet PC. Creo que mis amigos diseñadores y arquitectos podrí­an sacarle buen partido al asunto. Estén atentos a las próximas versiones del programa que incluirán la capacidad de guardar y cargar dibujos.

Requierimientos

  • Targeta gráfica con soporte OPENGL
  • Un computador rápido, ojalá con procesador INTEL
  • Resolución de 1024 x 768 como mí­nimo
  • mucho tiempo para dibujar

Funciones

  • traslación, rotación y escala en 3D
  • control de color
  • control de grosor de trazo
  • exporta PDF de la vista actual
  • exporta una serie de 36 PDFs rotando en Y
  • exporta modelo DXF para edición 3D
Si lo usan y lo encuentra útil, porfavor dejen comenatrios de cómo podrí­a mejorarse, qué cosas quedan poco claras y qué funciones serí­a bueno incorporar para la próxima, además de los PDFs (ejemplo) que hagan con la maquinita, claro.

2 thoughts on “Filippo 3D ver 0.1

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *