Ray casting

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1190 palavras )
  • Download(s) : 0
  • Publicado : 24 de abril de 2013
Ler documento completo
Amostra do texto
Ray Casting

Computação Gráfica

Sumário

1. Ray Casting Workflow 3
2. Criar Cenário 3
3. Posicionar Câmera 4
4. Criar o Plano de Projeção 5
5. Dividir o Plano de Projeção por pixel 5
6. Raios 6
7. Determinando a cor do Pixel 7
7.1. Luz Ambiente 8
7.2. Luz Difusa 8
7.3. Luz Especular 9
7.4. Cálculo da cor 10
8. Conclusão 11

Ray Casting WorkflowCriar Cenário

Para criar o cenário, são utilizadas classes primitivas como cubos, prismas, cilindros, esferas e outros. Esses objetos primitivos são modificados através de transformações de matrizes de escala, cisalhamento, transição, espelhamento e rotação. Os objetos são devidamente moldados e posicionados, criando assim o cenário.
Cada objeto possui propriedades de cor e refletividade de luzambiente, difusa e especular. Essas propriedades são utilizadas para fazer o cálculo da cor em um determinado ponto do objeto com relação à influência das luzes do cenário.
Luzes também são objetos que possuem propriedades de posição e intensidades de ambiente, difusa e especular.


Figura [ 1 ] - Objetos Primitivos
Posicionar Câmera

Após posicionar os objetos no cenário é necessáriodefinir a posição da câmera, ou seja, a posição do observador. A câmera é um objeto que possui as propriedades de posição e direção para onde ela está apontando (look at).

Figura [ 2 ] - Posição do Observador
Criar o Plano de Projeção

O Plano de projeção é criado a partir de uma distância predefinida da câmera. O plano deve ser proporcional ao tamanho da imagem que se deseja renderizar acena. O plano é dividido em pelo número total de pixels da imagem de acordo como a altura e largura da mesma.
Q

Figura [ 3 ] - Plano de Projeção
Seja d a distância do plano para câmera, P o ponto de da localização da câmera e D o vetor unitário direção do “lookAt” da câmera. Achamos o ponto central do plano:
Q = P + dD
Dividir o Plano de Projeção por pixel

Para acharmos os outros pontos doplano que pertencem à imagem usamos a seguinte equação:
S = Q + au + bv
S
Q
(a, b)

Figura [ 4 ] - Achar um ponto no Plano de Projeção
Para determinar os valore de a e b, temos que achar os valores de H e W (ver Figura 4). H = N tan(Θ/2) e W = H * (w/h). Onde N é a distância d, Θ é o ângulo de visão, w é a largura da imagem e h a altura.
Tendo H e W podemos achar os valores de a e bpelas seguintes equações:
a= -W+W2cw, para c 0,w
b= -H+H2rh, para r [0,h)
Com os valores de a e b podemos definir todos os pontos no plano que representa os pixels na imagem.

Figura [ 5 ] - Representação da Câmera com Plano de Projeção
Raios

Para cada ponto criado no plano criamos um raio e verificamos se esse raio colide com algum objeto da cena. O raio é criando usando a posição dacâmera com ponto de origem O, e um vetor direção D = S – O. Onde S é ponto do plano que se deseja achar a cor, dado pela equação que já foi determinada (S = Q + au + bv).
São verificados então quais objetos o raio colide. Cada colisão possui um ponto de colisão, então determinamos qual ponto é o mais próximo através da equação básica da reta R(t). O ponto que tiver o menor t é o ponto mais próximo.R(t) = O - tS

Figura [ 6 ] - Raio colidindo com objeto
Determinando a cor do Pixel

Caso o raio não atinja nenhum objeto, a cor do pixel é igual à cor do fundo do cenário. Caso contrário, determinamos a cor do pixel através das propriedades do objeto mais próximo e com a as contribuições de todas as luzes do cenário com a seguinte fórmula.
I=Ka*Ia+ i= 0#luzesKd*Idi*N∙Li+ Ks*Isi*Ri∙Vf
Osomatório soma as contribuições das luzes do cenário, onde:
* I = intensidade de iluminação total no ponto.
* Ka = Coeficiente de refletividade do material do objeto da luz ambiente.
* Kd = Coeficiente de refletividade do material do objeto da luz difusa.
* Ks = Coeficiente de refletividade do material do objeto da luz especular.
* Ia = Intensidade da luz ambiente.
* Idi =...
tracking img