PrevNext

Rasterization

Author: Oscar Julián Tinjacá y Luis Miguel Báez

Description Rasterization

Edit This Page

Texture Mapping

Texture Mapping o en español (Mapeado de Texturas) es un método de computación gráfica utilizado en archivos de imagen bidimensional que se puede aplicar a la superficie de un modelo 3D para agregar color, textura u otros detalles de superficie como brillo, reflectividad o transparencia. Los mapas de textura se desarrollan para corresponder directamente a las coordenadas UV de un modelo 3D sin envolver.

Tipos de Mapeos

  • Mapeo Difuso: Este es el tipo más común para realizar mapeos en computación gráfica, lo qué hace este mapeo es envolver la superficie 3D mediante la imagen de textura qué es representada mediante un mapa de bits, conservando los colores originales, también hay qué decir qué cualquier tipo de imagen ya sea una imagen escaneada, capturada con una cámara digital o diseñada se puede utilizar como un mapa difuso.

  • Mapeo de Opacidad: Este mapeo realiza un efecto de transparencia y recorte a partir de imágenes en escala de grises. La parte negra se cortará; la parte blanca se mostrará completamente; los valores de gris determinan el nivel de transparencia (alfa) del objeto.

  • Mapa de relieve: El mapeo de relieve utiliza los valores de escala de grises de un mapa de imagen para crear variaciones en el sombreado de la superficie a la que se aplica el mapa. Agrega detalles a los modelos 3D sin aumentar la cantidad de polígonos.

  • Mapa Normal: Un mapa normal (Sombreador de píxeles solamente) se crea a partir de un modelo de polígono alto. Su representación de color afectará a las superficies como un mapa de relieve normal, al mismo tiempo que proporciona un mayor grado de detalle.

  • Mapa especular: Este método de mapeo de texturas permite que partes de un objeto tenga un efecto especular.

  • Mapa de resplandor: Esta técnica de mapeo de texturas permite a los usuarios controlar la forma, el color y la fuerza del brillo.

  • Mapa de reflexión: El mapa de reflexión también se conoce como mapa de entorno. El mapa de imágenes se proyecta sobre una superficie 3D para representar un reflejo del entorno.

Triangulated surfaces (Superficies trianguladas)

Triangulated surfaces - Superficies trianguladas

Imagen 1: Triangulación de superficies Cualquier superficie curva en este caso se puede aproximar a una esfera *

Triangulación de superficies. Cualquier superficie curva, en este caso una esfera, puede aproximarse mediante una malla de triángulos en un proceso llamado triangulación. Una malla más grande de caras triangulares da una mejor aproximación a la superficie original. Se muestran triangulaciones poliédricas de una esfera con n caras triangulares

Mesh Colors

Imagen 2: Colores de Malla *

Coordenadas Baricéntricas / Interpolación Baricéntrica

Explicar que son las Coordenadas Baricéntrica

Primero, encontramos las coordenadas baricéntricas de PP. Las coordenadas baricéntricas representan cuánto peso contribuye cada vértice al punto y se pueden usar para interpolar cualquier valor conocido en los vértices a lo largo de la cara de un triángulo.

Consideremos los 3 triangulos Interiores ABPABP, PBCPBC y PCAPCA

Coordenadas Baricéntricas / Interpolación Baricéntrica Imagen 3: Interpolación Baricéntrica *

Podemos decir que la coordenada baricéntrica, o peso del vértice AA en el punto PP es proporcional a la razón del área del triángulo interior PBCPBC al area de todo el triangulo ABCABC.

Esto es intuitivamente evidente si consideramos que como PP enfoca el triangulo PBCPBC crece y los otros dos se hacen más pequeños.

También debería ser intuitivamente evidente que la suma de las coordenadas baricéntricas de un punto dentro de un triángulo siempre es igual a 11. Entonces, es suficiente encontrar solo dos de las coordenadas para derivar la tercera.

El método para calcular las coordenadas baricéntricas es:

BaryA=(ByCy)(PxCx)+(CxBx)(PxCy)(ByCy)(AxCx)+(CxBx)(AxCy)Bary_A=\frac{\left(B_y-C_y\right)\left(P_x-C_x\right)+\left(C_x-B_x\right)\left(P_x-C_y\right)}{\left(B_y-C_y\right)\left(A_x-C_x\right)+\left(C_x-B_x\right)\left(A_x-C_y\right)}

BaryB=(CyAy)(PxCx)+(AxCx)(PxCy)(ByCy)(AxCx)+(CxBx)(AxCy)Bary_B=\frac{\left(C_y-A_y\right)\left(P_x-C_x\right)+\left(A_x-C_x\right)\left(P_x-C_y\right)}{\left(B_y-C_y\right)\left(A_x-C_x\right)+\left(C_x-B_x\right)\left(A_x-C_y\right)}

BaryC=1BaryABaryBBary_C=1-Bary_A-Bary_B

La derivación y el razonamiento se explican en el artículo de wikipedia.

Una vez que tenga las coordenadas, puede determinar las coordenadas de textura de PP interpolando los valores en los vértices usando las coordenadas baricéntricas como pesos:

Puv=BaryAAuv+BaryBBuv+BaryCCuvP_{uv}=Bary_A\cdot A_{uv}+Bary_B\cdot B_{uv}+Bary_C\cdot C_{uv}

Extraido desde: Stack Exchange - How to map square texture to triangle?

Coordenadas Polares / Coordenadas Esféricas

Las coordenadas esféricas determinan la posición de un punto en el espacio tridimensional en función de la distancia ρρ desde el origen y dos ángulos θθ y ϕϕ.

x=ρsin(ϕ)cos(θ)x=ρ\cdot sin\left(ϕ\right)\cdot cos\left(θ\right)

y=ρsin(ϕ)sin(θ)y=ρ\cdot sin\left(ϕ\right)\cdot sin\left(θ\right)

z=ρcos(ϕ)z=ρ\cdot cos\left(ϕ\right)

Coordenadas Polares / Coordenadas Esféricas

Imagen 4: Coordenadas Esfericas *

High Level

Solución Alto Nivel

Mid level

Solución Nivel Medio

Low level

Solución Bajo Nivel

Referencias Bibliograficas

Resources: References
Reallusion

Lukeyu RL

Life Wire

Justin Slick

Research Gate

Werner van de Sande, Volkert van der Wijk, Just L Herder

Stack Exchange

Rotem

Math Insight

Duane Q. Nykamp

Module Progress:

PrevNext