specular
Reflectância especular de uma superfície para direções dadas da luz e do observador.
Categoria: Graphics > Formatting and Annotation
Sintaxe
R = specular(Nx, Ny, Nz, S, V)
Retorna a reflectância especular com o expoente de dispersão padrão 10.
R = specular(Nx, Ny, Nz, S, V, spread)
Usa o expoente de dispersão dado.
Descrição
A direção da luz é refletida em torno de cada normal, e o cosseno do ângulo entre o raio refletido e a direção de visão é elevado à potência spread. Quando o observador está exatamente na direção do espelho, o resultado é 1, e cai rapidamente quando o ângulo aumenta. Cossenos negativos contam como 0.
O resultado é o termo de brilho do modelo de Phong e costuma ser somado ao termo diffuse para sombrear uma superfície manualmente.
Argumentos de entrada
Nx, Ny, Nz- Arrays do mesmo tamanho com as componentes da normal da superfície.
S- Direção da luz, como
[x y z]ou[azimute elevação]em graus. V- Direção de visão, nas mesmas formas de
S. spread- Expoente que define quão concentrado é o reflexo. Valores maiores dão um ponto menor e mais nítido.
Argumentos de saída
R- Array do mesmo tamanho de
Nxcom valores entre 0 e 1.
Exemplo
Observador dentro e fora da direção do espelho
specular(0, 0, 1, [0 0 1], [0 0 1])
specular(0, 0.6, 0.8, [0 0 1], [0 0 1], 2)
Saída
ans = 1
ans = 0.0784