lunes, 14 de noviembre de 2011

Tecnicas de sombreado clasicas y avanzadas

Cálculo de la iluminación

  1. Puntos en juego:
    1. P=(x,y,z) : punto de una cara (p.ej., P1P2P3) del objeto, en el cual se pretende calcular la iluminación
    1. S= (Sx, Sy, Sz) : posición de una fuente de luz (puede haber varias)
    2. E=(Ex, Ey, Ez) : posición del ojo o punto de vista (centro de proyección)
  2. Cálculo de las direcciones necesarias (vectores unitarios):

    1. (P1P2P3, vértices de la cara en sentido antihorario, vista la cara desde fuera del objeto)
  3. Iluminación en P de acuerdo a nuestro modelo:
  4. Observaciones (¡OJO!):
    1. (y por tanto ) son distintos para cada fuente de luz
    2. El cálculo se hace en mundo real, ANTES de hacer PREWARPING (el prewarping deforma los ángulos).
      Se ha de obtener (o estimar) el punto P correspondiente al píxel de pantalla al que queremos dar color
    3. Los vectores han de ser UNITARIOS

Sombreado

  1. Objetivo: hacer más realistas los objetos
  2. Tipos:
    1. Plano (flat):
      1. cada cara, sombreado uniforme (el mismo para toda la cara)
    2. Suave (smooth):
      1. sombras varían suavemente al cambiar de cara (al pasar por aristas)
      2. permite simular objetos con superfices curvas mediante caras planas
  3. Normals binding (asignación de normales)
    1. a la cara: produce aristas marcadas (p.ej., tapas de un cilindro)
    2. a los vértices: simula superficies curvas (p.ej., tubo de un cilindro)
  4. Se incluye en los algoritmos de superficies ocultas (p.ej., Z-buffer), al ir a dar color al píxel
  5. Cálculo de iluminación es costoso: uso de aproximaciones

Sombreado plano (flat, facetted or Lambert shading)

  1. Para cada cara visible:
    1. Se elige un punto de la cara P; por ejemplo:
      1. un vértice
      2. una combinación convexa de los vértices de la cara P1, ... Pn
        (p.ej., )
    2. Se calculan los vectores unitarios necesarios en P
    3. Se calcula la iluminación (RGB) en P
    4. A todos los píxeles correspondientes a esta cara se les asigna este color/iluminación
  2. No hay gradiente de iluminación en una cara
  3. No hay problema en obtener P en mundo real (a partir de vértices, conocidos, en mundo real)

Sombreado suave de Gouraud

  1. Para todos los vértices de las caras visibles:
    1. Se calcula la normal (UNITARIA) asociada al vértice como promedio de las normales (UNITARIAS) de las caras que contienen el vértice (incluidas las caras ocultas), en RW
    2. Se calcula la iluminación (color) asociada al vértice, usando esta normal
  2. Iluminación asociada a píxel/punto de la cara como interpolación bilineal de las iluminaciones de los vértices:
    1. Cara ABC
    2. Intersección de scan con AB y AC: P1, P2
    3. Punto/píxel P, entre P1 y P2
    4. Iluminaciones en P1, P2 como interpolación de iluminaciones en A, B, C:
    5. Iluminación en P como interpolación de iluminaciones en P1, P2
    6. Cálculo incremental de iluminación en P:
      1. Siguiente punto del scan, Q, tiene xQ = xP + 1
    7. También es posible cálculo incremental de I1, I2
  3. Problemas:
    1. Superficies tipo cartón ondulado aparecen planas; soluciones:
      1. subdivisión de caras
      2. asignación de normales a caras en lugar de a vértices
    2. Movimiento antinatural de los brillos:
      1. brillo en cualquier punto de la cara es siempre menor que en el vértice de iluminación máxima (por interpolación)
      2. al mover fuente de luz, brillos no se mueven por la cara adecuadamente
  4. Observaciones (¡OJO!):
    1. El cálculo de la iluminación se hace en mundo real
    2. La interpolación bilineal se hace en coordenadas de pantalla (a partir de iluminación de vértices)
    3. Hay que normalizar (hacer UNITARIOS) los vectores normales a los vértices
    4. No se aplica el filtro a los vértices (pero sí a la cara para la que se calcula la iluminación)

Sombreado suave de Phong

  1. Cálculo de la normal (UNITARIA) asociada a cada vértice
  2. Interpolación bilineal de normales para encontrar normal a punto/píxel de la cara:

    (hay que normalizar, hacer UNITARIO, el vector normal obtenido)
  3. Se calcula iluminación en P a partir de este vector normal :
  4. Obtención de y :
    1. obtener punto P en mundo real correspondiente a píxel bajo estudio es difícil
    2. se puede aproximar y usar y constantes a toda la cara (p. ej., promedio de los de los vértices)
    3. se pueden interpolar (vectores o ángulos) a partir de los valores en los vértices
  5. Problemas
    1. Superficies tipo cartón ondulado aparecen planas
    2. Resuelve problema de brillos antinaturales
  6. Observaciones
    1. Más costoso que Gouraud, pero resultados más naturales
    2. Hay que normalizar normales interpoladas (en cada punto/píxel)
      1. interpolando ángulos en lugar de componentes se evita este cálculo
        (se obtiene rotación de , de forma que tras x2-x1 pasos se pasa de a )
    3. No se aplica el filtro a los vértices (pero sí a la cara para la que se calcula la iluminación)


Shading - Sombreado
El proceso de sombreado o shading (en el contexto de los gráficos realizada por computadora) implica la simulación de computadora (o más exactamente; el cálculo) como las caras de un polígono se comportarán cuando es iluminado por una fuente de la luz virtual. El cálculo exacto varía según no sólo que datos están disponibles sobre la cara sombreada, sino también la técnica de sombreado.
Generalmente este afecta propiedades de la especularidad y valores de intensidad, reflexión y transparencia.

Representación basada en Imagen - Image Based Rendering (IBR)

La computación gráfica permite la obtención imágenes 2D desde modelos tridimensionales. A fin de hacerse muy exacto y obtener imágenes fotorealistas, la entrada de los modelos 3D debería ser muy exacta en términos de geometría y colores. La simulación de paisajes y escenas fotorealilstas que utilicen esta técnica requiere un gran esfuerzo y talento con programas de CAD. En vez de obtener modelos 3D, Las representaciones basadas en imagen (IBR) usan imágenes tomadas de puntos de vista particulares y trata de obtener nuevas imágenes de otros puntos de vista. Aunque el término Representación basada en Imagen fue acuñado recientemente, aunque en la práctica se usó desde el inicio de la investigación en la Visión obtenida por Computadora.
En 1996, se hicieron muy populares dos técnicas: los campos de luz (lightfield en inglés) y el lumigraph (que no tiene traducción asentada en español).
Estas técnicas recibieron la atención especial de la comunidad de investigación. Desde entonces, muchas representaciones para IBR fueron propuestas. Un método popular es la texturas dependientes del punto de vista, una técnica IBR de la Universidad del Sur de Califrnia. La Universidad de Oxford usó conceptos de la "Máquina de Aprendizaje" para IBR.
  • Sombreador: generalmente se le aplica a los materiales en todo sistema de simulación 3d, se les conoce también como shader.
  • Sombreado Flat (plano): una técnica que sombrea cada polígono de un objeto basándose en su vector normal (dirección hacia la que apunta un polígono) y la posición e intensidad de una fuente de la luz.
  • Sombreado de Gouraud: Inventado por Henri Gouraud en 1971, una técnica rápida y consciente de los recursos disponibles en una computadora, solía simular superficies suavemente sombreadas interpolando colores de vértice a través de la superficie de un polígono.
  • Mapeo de texturas (Correlación de textura): una técnica para simular detalle superficial trazando un mapa de imágenes (texturas) en polígonos.
  • Sombreado de Phong: Inventado por Bui Tuong Phong, una técnica de sombreado lisa que se acerca la superficie curva iluminada por la interpolación de los vértices normales de un polígono a través de la superficie; el modelo iluminado incluye la reflexión de brillo con un nivel controlable del mismo.
  • Bump mapping (Correlación de relieve): Inventado por Jim Blinn, una técnica de perturbación normal(la dirección hacia donde apunta un polígono) solía simular superficies desiguales o arrugadas y con relieve.
  • Ray Tracing (Trazador de rayos): un método basado en los principios físicos de la óptica geométrica que puede simular reflexiones múltiples y la transparencia.
  • Radiosidad: una técnica para la iluminación global que usa la teoría de transferencia de radiación para simular la iluminación (reflejada) indirecta en escenas con superficies difusas.
  • Blob: una técnica para representar superficies sin especificar una representación divisoria difícil, por lo general puesta en práctica como una superficie procesal como una Van der Waals equipotential (en química).

 Texturing - Texturizado

Las superficies polígonales (secuencia de caras) pueden contener datos correspondiente de más de un color, pero en el software más avanzado, pueden ser una lona virtual para una imagen, u otra imagen rasterizada. Tal imagen es colocada en una cara, o la serie de caras y es llamada Textura.
Las texturas añaden un nuevo grado de personalización en cuanto a como las caras y los polígonos que cuidarán por último la forma en que serán sombreados, según el método de sombreado, y como la imagen es interpretada durante el sombreado.






http://arantxa.ii.uam.es/~pedro/graficos/teoria/Shading/Shading.htm

http://www.fdi.ucm.es/profesor/segundo/PDFs/7SombreadoVisualizacion.pdf

domingo, 13 de noviembre de 2011

GLOSARIO UNIDAD 4

VECTOR NORMAL
El vector vector normal es un vector normal al plano, es decir, perpendicular al plano.
Vector normal
Si P(x0, y0, z0) es un punto del plano, el vector vector es perpendicular al vector vector normal, y por tanto el producto escalar es cero.


INTENSIDAD LUMINOSA

El flujo luminoso nos da una idea de la cantidad de luz que emite una fuente de luz, por ejemplo una bombilla, en todas las direcciones del espacio. Por contra, si pensamos en un proyector es fácil ver que sólo ilumina en una dirección. Parece claro que necesitamos conocer cómo se distribuye el flujo en cada dirección del espacio y para eso definimos la intensidad luminosa.

Flujo luminoso.Intensidad luminosa.
Diferencia entre flujo e intensidad luminosa.

Luminancia

De l, atraviesa o emerge de una superficie siguiendo una dirección determinada. Alternativamente, también se puede definir como la densidad superficial de intensidad luminosa en una dirección dada.
La definición anterior se formaliza con la expresión siguiente:
L_V =\frac{d^2F}{dS d\Omega \cos \theta}
donde:
  • LV es la luminancia, medida en Nits o candela/metro2.
  • F es el flujo luminoso, en lumen.
  • dS es el elemento de superficie considerado, en metros2.
  • dΩ es el elemento de ángulo sólido, en estereorradianes.
  • θ es el ángulo entre la normal de la superficie y la dirección considerada.
La luminancia se puede definir a partir de la magnitud radiométrica de la radiancia sin más que ponderar cada longitud de onda por la curva de sensibilidad del ojo. Así, si LV es la luminancia, Lλ representa la radiancia espectral y V(λ) simboliza la curva de sensibilidad del ojo, entonces:
L_V =K \int_{visible}^\ L (\lambda) V(\lambda) \,d\lambda
De forma no rigurosa, se puede considerar que el equivalente psicológico de la luminancia es el "brillo". Por ejemplo, considerando el caso de la emisión o reflexión de luz por parte de superficies planas y difusas, la luminancia indicaría la cantidad de flujo luminoso que el ojo percibiría para un punto de vista particular. En este caso, el ángulo sólido que interesa es el subtendido por la pupila del ojo.
En una transmisión de señal de vídeo, la luminancia es la componente que codifica la información de luminosidad de la imagen. En términos generales, es algo muy similar a la versión en blanco y negro de la imagen original. Luminancia y crominancia combinadas proporcionan la señal denominada señal de vídeo compuesto, utilizada en multitud de aplicaciones; o transmitirse independientemente. Forman parte de la codificación de vídeo en los estándares de TV NTSC y PAL, entre otros.
Es un término comúnmente utilizado en el procesamiento digital de imágenes para caracterizar a cada píxel. En el sistema de color RGB, la luminancia Y de un pixel se calcula con la expresión matemática:
Y = 0,299R + 0,587G + 0,114B






Luz ambiente:

Luz ambiente: Es necesario aprovechar al máximo las zonas mejor iluminadas, superficies claras u otras superficies que aclaran el contraste.

En campo fotográfico este concepto hace referencia a las luces que conforman un sistema de iluminación presente en el conjunto de la escena definiéndola de un modo simple y específico. El ejemplo más claro puede ser la luz solar o una bombilla que, colgando de un cable, ilumina el espacio total de una habitación. Las posibilidades creativas con esta luz son infinitas, más si se utiliza película en blanco y negro. Una secuencia de este tipo de fotografías puede hacer comprender al fotógrafo principiante como afecta la dirección de la luz por ejemplo a una modelo o a un sencillo bodegón.

Frecuencia de Luz
La luz de menor frecuencia que podemos ver es la de color rojo. Las frecuencias visibles más  altas casi duplican la frecuencia del rojo y corresponden al color violeta. Las ondas  electromagnéticas cuya frecuencia es menor que la de la luz visible roja  se llaman infrarrojas. Las ondas electromagnéticas cuya frecuencia es mayor que la de la luz violeta se llaman ultravioleta. Estas ondas de frecuencia más elevada son causantes de las quemaduras de sol.


ESCALAR

Una magnitud física se denomina escalar cuando puede representarse con un único número (única coordenada) invariable en cualquier sistema de referencia. Así la masa de un cuerpo es un escalar, pues basta un número para representarla (por ejemplo: 75 kg). Por el contrario una magnitud es vectorial o más generalmente tensorial, cuando se necesita algo más que un número para representarla completamente. Por ejemplo, la velocidad del viento es una magnitud vectorial, ya que además de su módulo (que se mide como una magnitud escalar), debe indicarse también su dirección (norte, este, etc.), que se define por un vector unitario. En cambio, la distribución de tensiones internas de un cuerpo requiere especificar en cada punto una matriz llamada tensor tensión y por tanto el estado de tensión de un cuerpo viene representado por una "magnitud tensorial"

http://www.fotonostra.com/fotografia/luzambiental.htm
http://edison.upc.edu/curs/llum/fotometria/magnitud.html
http://es.wikipedia.org/wiki/Luminancia

domingo, 2 de octubre de 2011

RESUMEN DE LA PRESENTACION DE LA UNIDAD 2

TRANSFORMACIONES GEOMETRICAS BASICAS
 
  • Traslación: Se aplica a un objeto para cambiar su posición a lo largo de una trayectoria  de una línea recta de una dirección de coordenadas a otra.
     
Dos dimensiones:  x’ = x + tx,  y’ = y + ty;  P’ = P + T
Tres dimensiones: x’ = x + tx,  y’ = y + ty,  z’ = z + tz;      P’ = P + T
 
 
 
 
 
 
 
 
TRANSFORMACIONES GEOMETRICAS BASICAS “ESCALACION”
 
La transformación de escalación altera el tamaño del objeto, si el factor de escalación  s es mayor a 1 el objeto crece, si el factor de escalación s es menor a 1 el objeto decrece.
 
  • Escalación uniforme. Esta transformación conserva las proporciones relativas del objeto para cada uno de los ejes de coordenadas y se produce cuando los factores de escalación son iguales: sx = sy para dos dimensiones; sx = sy = sz para tres dimensiones.
  • Escalación diferencial. Esta transformación no conserva las proporciones relativas del objeto y se debe a que los factores de escalación son diferentes o al menos uno lo es para el caso de tres dimensiones.
  • Dos dimensiones y tres dimensiones
  • Escalación con respecto al origen. En esta transformación el objete crece y se aleja del origen si el factor de escalación es mayor a uno y, decrece y se acerca al origen si el factor de escalación es menor a 1.
Escalación con respecto a un punto fijo: En esta transformación si el factor de escalación es mayor a uno el objeto crece y se aleja del punto fijo y, si el factor es menor a uno el objeto decrece y se acerca al punto fijo.
Transformaciones geométricas básicas “Rotaciones”
 
Se genera una transformación de rotación de un objeto mediante la especificación  de un eje de rotación y un ángulo de rotación. Todos los puntos del objeto son entonces transformados  a la nueva posición , mediante la rotación de puntos  con el ángulo especificado sobre el eje de rotación,
Una rotación de un objeto bidimensional  de un objeto se obtiene mediante la recolocación del objeto a lo largo de una trayectoria circular  sobre el plano xy . En este caso, se está rotando el objeto sobre el eje de rotación  que es perpendicular al plano (paralelo al eje de coordenadas z).
Rotación con respecto al origen. Esta transformación permite que el objeto sea rotado o girado con respecto al origen
Rotación con respecto a un punto fijo (xr, yr). En esta transformación los parámetros para  la rotación bidimensional son el ángulo de rotación θ, y la posición (xr, yr) llamado punto de rotación  (o punto pivote) sobre los cuales el objeto va a ser rotado.