HOME INTRODUÇÃO TRAÇADO DE RAIOS ESTOCASTICO MÉTODOS DE MONTE CARLO PROFUNDIDADE DE CAMPO PENUMBRAS REFLEXÃO REFRAÇÃO MOTION BLURGALERIA DE IMAGENS DOWNLOADS BIBLIOGRAFIA

 

Borrão de movimento (Motion blur)

Distribuir os raios o os pontos amostrais no tempo resolve o problema de $motion   blur$. Numa primeira tentativa, gostaríamos de solucionar o problema amostrando a imagem no tempo inicial e final e logo durante a renderização realizar uma interpolação entre as imagens no tempo inicial e final. Infelizmente isto não soluciona o problema de forma conveniente, pois dois objetos podem estar separado no tempo inicial e no tempo final mas ter sido parte de uma interação mutua algum momento durante a exposição. Existem varias tentativas de resolver estes problemas, varias dela muito caras e que não resolvem completamente o problema. A solução proposta por Cook é a de distribuir pontos amostrais ao longo do tempo, o que implica agregar mais uma dimensão no tratamento do Ray tracing. Esta solução, embora pareça complicada pois temos que aumentar ainda mais a dimensão do nosso espaço de cálculo, resulta muito conveniente ao se utilizar métodos de Monte Carlo e técnicas de amostragem, como veremos a seguir. O único requisito caro computacionalmente é poder calcular a posição de um objeto num momento dado. A idéia de distribuir pontos amostrais no tempo não implica em agregar mas raios a serem traçados, mas sim em distribuir os raios existente convenientemente ao longo do tempo. O único cálculo adicional é o de atualizar a posição dos objetos cada vez que um raio é traçado. Resolvemos isto computacionalmente simplesmente atualizando para cada objeto a matriz de transformação leva o objeto seu referencial local para o referencial da câmera. Movimentos implementados: Incluímos os seguintes movimentos: movimento retilíneo, movimento parabólico, rotação sobre um eixo passando pelo centro de coordenadas do objeto. Todos os movimentos podem ter aceleração. As posições são dadas pelas seguinte fórmulas

movimento retilíneo e parabólico:

$ p(t) = v.t + \frac{1}{2}a.t^2$ onde $p = (x_t,y_t,z_t)$, $v = (v_x, v_y, v_z)$ e $a = (a_x, a_y, a_z)$

movimento de rotação:

$ \alpha(t) = v.t + \frac{1}{2}a.t^2$ onde $\alpha$ é o ângulo de rotação realizado no instante $t$ em torno do eixo de rotação, $v$ é a velocidade angular e $a$ a aceleração angular.