Conteúdo principal
Curso: Pixar in a Box > Unidade 6
Lição 2: Matemática de renderização- Início!
- 1. Percepção do ray tracing
- Percepção da renderização em 2D
- 2. Forma paramétrica de uma semirreta
- Percepção da semirreta paramétrica
- 3. Cálculo do ponto de interceptação
- Encontre o valor de t
- 4. Uso da equação geral da reta
- Interceptação de semirreta com reta
- 5. Ray tracing em 3D - parte 1
- Interceptação da semirreta com o plano
- 6. Ray tracing em 3D - parte 2
- Interceptação do triângulo em 3D
© 2024 Khan AcademyTermos de usoPolítica de privacidadeAviso de cookies
5. Ray tracing em 3D - parte 1
Agora estamos prontos para traçar uma semirreta (ray tracing) em 3D. Vamos olhar para o problema da interceptação triângulo-semirreta.
Clique aqui para obter mais detalhes sobre equação para plano.
Clique aqui para obter mais detalhes sobre equação para plano.
Quer participar da conversa?
Nenhuma postagem por enquanto.
Transcrição de vídeo
RKA8JV Agora que podemos trabalhar
com o traçado de raios em 2D podemos finalmente voltar para o problema que realmente precisamos resolver, fazer isto em 3D. Nós vamos precisar usar traçado de raios em planos horizontais, casas e até mesmo personagens. Personagem como o "Carl" é uma forma complexa, mas, como discutimos na lição modelagem de personagens, ele pode ser dividido em pequenos lotes
de quadriláteros. E cada quadrilátero pode ser
convertido em dois triângulos, por adição de uma aresta que liga os pontos diagonais. Isso leva à pergunta:
como se cruza um raio com um triângulo? Esse é um dos cálculos mais fundamentais
que um traçador de raios executa. Aqui temos uma cena que consiste
em somente um triângulo. Nossas cenas reais contêm milhões deles, mas, uma vez que sabemos como se cruza
um único triângulo, o nosso traçador de raios continua
fazendo isso para todos os outros. Agora, eu não sei quanto a você, mas eu não gosto
de ficar fazendo sempre a mesma coisa. Por sorte, nós temos computadores
para nos ajudar nisso, e eles não se cansam. Como em duas dimensões, nós começamos
pela criação de um sistema de coordenadas, mas, desta vez, existem 3 direções, "x", "y" e "z". Como explicamos anteriormente, nós escolhemos uma posição da câmera, que vamos chamar de "C", e uma direção de visualização. Construímos um plano de imagem perpendicular
à direção de observação. Isto é onde a nossa imagem será formada. Vamos escolher um pixel "P" no plano de imagem
e construir a representação paramétrica do raio CP como "R(t) = (1 - t)C + tP" Esta é a mesma equação que vimos em 2D,
mas agora ele representa 3 equações separadas. Uma para a coordenada "x", uma para a coordenada "y",
e uma para "z". Lembre-se que, no vídeo anterior,
vimos que em duas dimensões cada linha pode ser escrita na forma
implícita, como "ax + by + c = 0". A equação para um plano é muito semelhante a isto,
e todo triângulo encontra-se em um plano, então, a equação para um plano pode ser escrita
na forma implícita, como "ax + by + c = 0". O ponto de intersecção "I" que estamos
procurando está no plano do triângulo, o que significa que "aIₓ + bIʏ + cIz + d = 0", onde o Iₓ, Iʏ e Iz são as coordenadas de "I". "I" também está no raio,
o que significa que há um valor de "t". Mais uma vez, vamos chamá-lo de t*, de modo que
"I = R(t*) = (1-t*)C + t* P". O que nada mais é que as 3 equações mostradas aqui, um para "x", um para "y" e um para o "z". Agora temos 4 equações e 4 incógnitas. Para resolver este sistema de equações podemos seguir a receita que
usamos em duas dimensões, e substituir as últimas 3 equações na primeira. Isto nos dá uma equação com
apenas uma incógnita, que é o t*. Quando você coloca todas estas substituições,
parece meio assustador, mas lembre-se, não é tão ruim assim, estamos apenas colocando um valor a partir de uma equação em outra. Resolva isto para o t* e em seguida substitua
de volta nas equações de raio para obter Iₓ, Iʏ e Iz. Eu sei, nós fomos um pouco rápido aqui, mas o próximo exercício vai ajudá-lo
a praticar este conteúdo sozinho.