Universidad
publicado en noviembre 2005
estudio virtual

Proyecto de Computación Gráfica

Esta es la presentación del proyecto para el curso CC52B: Computación Gráfica, que consiste en el desarrollo e implementación de un estudio fotográfico virtual, utilizando las herramientas entregadas en el curso. La idea es desarrollar el manejo de puntos de obseración (la cámara), y el manejo de la iluminación de la sala virtual.



Introduccion:

La fotografía representa el juego de la composición de espacios y formas, de luces y colores... incluso emociones, que son capturadas por el lente de la cámara. El estudio fotográfico representa el laboratorio donde se intenta construir una representación de la realidad, creando un submundo donde existe un total control sobre factores como la iluminación, el entorno, y por supuesto, sobre el objeto o modelo a fotografiar.

Es quizas el deseo de todo fotógrafo aficionado (entre los que me incluyo), el poseer su propio estudio fotográfico, sin embargo, muchas veces por motivos económicos o simplemente de espacio, esta idea no es realizable en la práctica. Precisamente, el presente proyecto consiste en la creación de un estudio fotográfico virtual, un espacio virtual tridimensional, donde se pueda jugar a fotografiar una realidad ficticia, en un espacio irreal, creando una simulación de los elementos presentes dentro de un estudio de verdad.

El proyecto abordará la creación de un espacio virtual, una sala donde se montarán los implementos y accesorios propios de un estudio. La idea es definir un objeto a fotografiar (puede ser un objeto inerte, o directamente, una modelo), y posteriormente ir agregando los demás elementos: focos, flashes, fondo, ...





Elementos del espacio:
  • espacio 3D : la habitación
  • objeto (target) : el punto a observar
  • cámara : el punto del observador
  • elementos accesorios sala : focos, tripodes, ornamentacion, ventana



    Objetivo:

    Una vez configurada la sala virtual, y los elementos que la componen, la idea principal es conseguir un control sobre las variables que afectan la toma de fotografías. La idea final, sería llegar a poder obtener capturas hechas por la cámara virtual, mostrando la imagen capturada en cada toma. Para lograr este objetivo, se pretende llegar a controlar:

  • posición (y zoom?) de la camara.
  • posición (e intensidad?) de las luces.


    idea conceptual...








    Etapas del proyecto:
  • aprendizaje lenguaje para desarrollo
  • definición del espacio
  • definición del elementos (creación e importación de elementos)
  • iluminación
  • variación de los puntos de vista (pos. camara)
  • capacidad de captura de imágenes
  • interfaz de usuario



  • Planificación:

      01020304050607va.08 0910ol.1112131415
    aprendizaje                  
    def espacio                   
    def elementos                
    iluminación                
    def.puntos de vista                
    captura imágs.               
    interfaz de usuario                




    Primera etapa:

    definicion del espacio:
    Se crean dimensiones definitivas: (3.0 x 2.5 x 6.0)m y se realiza una primera version de los muros.

    movimiento del observador :
    Se implementa el movimiento del observador, que permite ajustar las coordenadas {x, y, z}, del punto del observador, a traves de la funcion: gluLookAt(..), pametrizada por teclado.

    colocacion de primeros objetos :
    Se colocan los primeros elementos de la sala: camara, tripodes, objeto central... estos son fijos aun.






    Segunda etapa:

    Ahora el desafio es introducir los patrones de iluminacion, que permitan apreciar las formas, los volumenes, y por sobre todo, el espacio dentro de la sala virtual. Para ello, se hicieron una serie de experimentos, probando diferentes tipos de iluminacion, para los diversos materiales. redefinicion de los materiales :
    Al momento de colocar la iluminacion en el sistema, fue necesario re escribir la configuracion de los materiales, para definir su comportamiento frente a las siversas fuentes de luz: ambiental, difusa, especular, ... Con esto, aparecieron los colores definitivos que se usarian en la sala.

    definicion fina del movimiento del observador :
    Se definen limites para el movimiento del observador, y se afina la forma de desaplazarse dentro de la sala.

    implementacion de iluminacion
    Se comienzan a definir las luces que formaran el sistema de iluminacion: una luz ambiental, ademas de dos fuentes puntuales, que seran los futuros focos del esteudio.

    movimiento de la camara en el estudio
    Se agrego un movimiento radial de la camara, que permite desplazarse de un lado a otro de la sala, pero manteniendo la misma distancia al objetivo.

    captura de las fotos
    Se realizan las primeras capturas de pantalla: las fotos. Esto se consigue, creando una nueva ventana, y utilizando la misma funcion de display() general.





    Tercera etapa:

    En este momento, se tiene definida toda la funcionalidad basica del sistema. Finalmente, se implementan una serie de detalles, para obtener la versión final del proyecto.

    techo
    Se crea un techo de vigas, para dar la sensacion de encierro, pero que tal que se pueda penetrar y salir por sobre el, para visualizar el contexto. decoracion: cuadros
    Aparecen diversos elementos decorativos: cuadros en los muros, y el mismo objeto principal, que ahora es una tetera.

    redefinir paraguas
    Uno de los focos, aparece ahora con la forma de un paraguas de iluminacion. Esta figura se consigue con un cono abierto, dibujado con malla de alambres.

    zoom
    A la camara se le agrega la funcionalidad de zoom, es decir, manejo de la distancia focal.

    agregar control completo
    Finalmente, se implementan las funcionalidades de control con el teclado, para proveer una interfaz completa al sistema. Con esto, se tienen los siguientes controles:

    {x, X, y, Y, z, Z} : movimiento dentro del espacio.
    {a, A}             : activar o desactivar foco "alfa" (izq)
    {b, B}             : activar o desactivar foto "beta" (der)
    {+, -}             : ajusta intensidad de la luz de los focos.
    

    Flechas UP/DOWN : ajuste del zoom (1X a 3X) Flechas IZQ/DER : movimiento de la camara

    ESPACIO : realiza una captura ESC : fin del programa.







    La funcionalidad actual del proyecto, incluye la toma de fotos virtuales (capturas hechas con la cámara virtual).

    La cámara se puede mover de forma radial, en torno al objeto principal (la tetera). Ademas, con las teclas de flechas se varia el zoom, el cual se aprecia en la pantalla de la cámara. Con la barra espaciadora se realizan las fotos, y tambien, se cierran las subventanas. Además del movimiento de la cámara, es posible encender y apagar las dos fuentes de luz del estudio, y ajustar su intensidad. La luz ambiental permanece siempre encendida con intensidad moderada.



    Descargar código fuente.




    3 comentarios

    12:35:15 / 30-septiembre-2017 - Daniel Gomez M.
    asdf
    12:36:57 / 30-septiembre-2017 - Daniel Gomez M.
    asdf
    12:37:38 / 30-septiembre-2017 - Daniel Gomez M.
    asdf

    nombre *

    e-mail *

    web

    2 x 4 = *





    Mi paso por la Universidad de Chile marca la etapa más importante de mi vida. Primero fue arquitectura en la FAU, luego fueron 8 años de ingeniería, en Beauchef: más de 60 ramos, largas horas de estudio, controles, tareas, cátedras, ayudantías... largas horas de chess en la chacra y computadores en el cec, en el dcc... Aquí he reunido algunos de los proyectos que realicé durante la carrera de ingeniería civil en computación.