graficas por computadora Capitulo4
5
Modelo Básico de Iluminación
Se describe un modelo básico de iluminación, en el cual se hacen suposiciones
que permiten simplificar el problema, y aún así tener un efecto visual aceptable
de la escena.
5.1 Modelo Básico
Este modelo se establece como sigue:
Luz Incidente
Luz emitida
fluorecencia
Luz Reflejada
difusa
Reflexión
interna
Luz Reflejada
(Esfecula)
Luz Transmitida5.1.1
Reflexión Difusa
La reflexión difusa está regida por la ley de Lambert. La luz difusa
reflejada depende del ángulo formado por la luz incidente y la normal
a la cara iluminada.
Ej:
N
N
N
Fuente
de Luz L
Lado oscuro
Id = Ii * Kd ( L * N )
L y N tienen módulo 1, en el caso que hay varias fuentes de iluminación.
Id = Kd ∑ Ii1n ( Ln * N ) Para una cara cualquiera.
n
5.1.2
Luz Ambiente
Estaluz, producto de múltiples reflexiones en una escena permite que
los objetos no tengan caras totalmente oscuras.
Así la luz ambiente se interpreta sólo por una variable constante en la
ecuación que determinamos, esto es:
I = Ia * Ka + Ii * Kd ( L * N )
5.1.3
Distancia
La distancia de la fuente de luz, afecta a la intensidad reflejada, pero
en general esto se introduce en la ecuación sólo poruna constante de
división. Esto es:
I = Ia * Ka + Id * Kd ( L * N ) / d
5.1.4
d = factor dis tan cia
Reflexión Especular
La reflexión especular permite observar brillos en los objetos en alguna
parte específica de éstas, dependiendo de la rugosidad de la
superficie. En un espejo perfecto, esta reflexión es total. Esta reflexión se
puede representar de la siguiente forma:
N
R
Vector deReflexión
L
φ
V
(observador)
Si la reflexión es perfecta y el ángulo φ es ≠ 0, entonces el observador no
ve luz. Sin embargo, la reflexión nunca es perfecta y en realidad tiene la
siguiente forma (aproximada).
N
R
L
V
φ
Superficie
5.2
Intensidad y Reflexión
Bui-tuong Phong representó esta función por la fórmula cos n φ . De esta
manera ahora podemos representar la intensidad I al incluir lareflexión
especular como:
I = Ra * Ia + [kd * Id ( L * N )] + IiKs * cos n φ
I = Ra * Ia + [kd * Id ( L * N )] + IiKs * ( R * V )
/d
n
/d
y
R
n menor
L
n mayor
x
N
R
L
N*L
R + L = (2 N * L )N
Luego
R = (2 N * L )N − L
Aunque el valor de N se puede calcular, esto es computacionalmente
caro. Para disminuir este gasto computacional se introduce otro vector
H de la siguiente manera.
Sedefine H =
L +V
como la normal a una superficie cuya reflexión
L +V
máxima es a través de V.
H
L
V
H
γ
R
ω
L
θ-α
β
β
V
θ
α
2β + θ − α
∠HR = 90º −ω − θ
2
∠LH = ∠HV
β = 90º −θ
γ = ∠HR + θ − α
γ = 90º −ω − θ + θ − α = 90º −ω − α
γ =
Igualando:
2 β + θ − α = 180º −2ω − 2α
2(90º −θ ) + θ − α = 180º −2ω − 2α
180º −2θ + θ − α = 180º −2ω − 2α
− θ − α = −2ω − 2α
− θ + α = −2ω
θ −α
ω=
2
Esdecir:
N *H =
R *V
2
Este efecto es compensado al ajustar N.
[
]
I = Ia * Ka + Ii * Kd ( L * N ) + Ks ( N * H ) n / d
La fórmula anterior debe establecerse para cada color R,G,B de una
pantalla de este tipo. Es decir deben encontrarse Ir,Ig,Ib.
5.3
Pintado de Gouraud
Este es un esquema en el que se interpolan las intensidades a través de
la superficie de un polígono.
Las fases a realizarson:
Determine el vector normal unitario promedio en cada vértice del
polígono.
Aplique un modelo de iluminación a cada vértice para calcular su
intensidad.
Interpole linealmente las intensidades de los vértices sobre la
superficie del polígono.
n
Nv =
∑N
k
∑N
k
k =1
n
k =1
N1
N2
V
N4
N3
I1 (x1,y1)
Ia (xa,ys)
ys
Is
Ib (xb,ys)
I4 (x4,y4)
I2 (x2,y2)
I3 (x3,y3)
Ia = t * I 1 + (1 −t ) * I 2
t ∈ [0,1]
ys = t * y1 + (1 − t ) * y 2
t=
ys − y 2
y1 − y 2
Reemplazando en Ia:
Ia =
ys − y 2
ys − y 2
* I 1 + 1 −
y1 − y 2
y1 − y 2
* I 2
y − y 2 − ys + y 2
ys − y 2
* I 2
* I 1 + 1
y1 − y 2
y1 − y 2
1
Ia =
* [I 1 ( ys − y 2 ) + I 2 ( y1 − ys )]
y1 − y 2
Ia =
De igual manera:
Sea x s = ∆x + x s −1
Ib =
1
* [I 1 ( ys − y 4 ) + I 4 ( y1 − ys )]
y1 −...
Regístrate para leer el documento completo.