Baixe o app para aproveitar ainda mais
Prévia do material em texto
CENTRO UNIVERSITÁRIO CARIOCA COMPUTAÇÃO GRÁFICA – INF A08 Catiúscia A. B. Borges 1 COMPUTAÇÃO GRÁFICA TRANSFORMAÇÕES GEOMÉTRICAS 3D As transformações em 3D não são muito diferentes das transformações em 2D. Todo o contexto que configura as transformações 3D pode ser adaptado para as transformações em 3D. As similaridades ocorrem principalmente na configuração do objeto, nas operações de translado, escala, reflexão e cisalhamento. A operação de rotação que está condicionada a um eixo, logo, possui mais de uma configuração que está associada ao sentido (horário e anti-horário) e ao eixo. A ideia de pivô e de associação de matrizes são mantidas em sua essencialidade. ESPAÇO 3D O espaço 3D pode ser configurado de maneiras diferentes, como as figuras abaixo, por exemplo. Note que a posição relativa dos eixos é distinta nas figuras abaixo. Adotaremos como referência a segunda figura, onde os sentidos esquerdo e direito são descritos pelo eixo x, superior e inferior (“para cima” e “para baixo”) são descritos pelo eixo y, e adicionaremos agora, o “para frente” e “para traz” descritos no eixo z. CENTRO UNIVERSITÁRIO CARIOCA COMPUTAÇÃO GRÁFICA – INF A08 Catiúscia A. B. Borges 2 DESCRIÇÃO DE UM OBJETO EM 3D. De modo análogo, ao que estudamos em 2D, acrescentaremos uma coluna com a coordenada igual à 1, de modo que todo o objeto será definido por uma matriz n x 4, onde n corresponde ao número de pontos do objeto. 𝑀𝑂𝑏 = [ 𝑥1 𝑦1 𝑥2 𝑦2 𝑧1 1 𝑧2 1 ⋮ ⋮ 𝑥𝑛 𝑦𝑛 ⋮ ⋮ 𝑧𝑛 1 ] Exemplo 1: O triângulo no espaço R³ nas figuras acima pode ser representado em coordenadas homogêneas por: 𝑀𝑂𝑏 = [ 1 1 1 1 0 1 1 1 1 0 1 1 ] Exemplo 2: 𝑀𝑂𝑏 = [ 0 3 0 1 −2 0 0 1 0 0 −2 1 2 0 0 1 0 0 2 1] CENTRO UNIVERSITÁRIO CARIOCA COMPUTAÇÃO GRÁFICA – INF A08 Catiúscia A. B. Borges 3 TRANSFORMAÇÕES GEOMÉTRICAS TRANSLAÇÃO Para que o objeto seja deslocado para a sua nova posição basta que se realize a translação dos seus vértices, desta forma, basta só redesenhar os lados a partir dos novos vértices. Se o deslocamento dx for negativo, o objeto move-se para a esquerda, enquanto, que se o deslocamento dy for negativo, o objeto move-se para baixo, ainda se dz for negativo, o objeto dz move-se para traz. Em coordenadas homogêneas, usaremos, a seguinte configuração de matriz de translação. 𝑇(𝑑𝑥, 𝑑𝑦, 𝑑𝑧) = [ 1 0 0 1 0 0 0 0 0 0 𝑑𝑥 𝑑𝑦 1 0 𝑑𝑧 1 ] Exemplo: Dado o objeto: 𝑀𝑂𝑏 = [ −2 0 0 0 0 1 2 1 2 0 0 0 0 1 −2 1 0 4 0 1 ] Deslocar uma unidade para direita, uma unidade para cima e uma unidade para frente. 𝑀𝑂𝑏 . T(1,1,1) = 𝑀𝑜𝑏𝑗 ′ [ −2 0 0 0 0 1 2 1 2 0 0 0 0 1 −2 1 0 4 0 1 ] *[ 1 0 0 1 0 0 0 0 0 0 1 1 1 0 1 1 ]= [ −1 1 1 1 1 1 3 1 3 1 1 1 1 1 −1 1 1 5 1 1 ] Objeto orginal e Objeto Transladado CENTRO UNIVERSITÁRIO CARIOCA COMPUTAÇÃO GRÁFICA – INF A08 Catiúscia A. B. Borges 4 ESCALA Podemos alterar as proporções de um objeto multiplicando as coordenadas dos seus vértices por fatores de escala apropriados, redesenhando de seguida esse mesmo objeto. Para efetuar tal transformação, basta multiplicar cada coordenada de x por um valor real deferente de zero (𝑠𝑥), multiplicar cada coordenada de y por um valor real deferente de zero (𝑠𝑦) e multiplicar cada coordenada de z por um valor real deferente de zero (𝑠𝑧): Usando notação matricial, podemos representar a transformação geométrica de escala pela matriz abaixo: 𝐸(𝑠𝑥 , 𝑠𝑦 , 𝑠𝑧) = [ 𝑒𝑥 0 0 𝑒𝑦 0 0 0 0 0 0 0 0 𝑒𝑧 0 0 1 ] De acordo com os valores atribuídos a sx e sy podem ocorrer as seguintes situações: • Se sx, sy, sz > 1, o objeto é ampliado; • Se sx, sy, sz < 1, o objeto é reduzido; • Se sx = sy= sz, o objeto mantém as proporções relativas em X, Y e Z; • Se sx ≠ sy ou sx ≠ sz ou sz ≠ sy, o objeto é deformado; • Se sx, sy , sz = -1 ocorrem reflexões em torno dos eixos X, Y, Z. Exemplo: Diminuir a metade as proporções do objeto (original) definido no exemplo anterior. 𝑀𝑂𝑏 . 𝑆 ( 1 2 , 1 2 , 1 2 ) = 𝑀𝑜𝑏𝑗 ′ [ −2 0 0 0 0 1 2 1 2 0 0 0 0 1 −2 1 0 4 0 1 ] *[ 1/2 0 0 1/2 0 0 0 0 0 0 0 0 1/2 0 0 1 ]= [ −1 0 0 0 0 1 1 1 1 0 0 0 0 1 −1 1 0 2 0 1 ] CENTRO UNIVERSITÁRIO CARIOCA COMPUTAÇÃO GRÁFICA – INF A08 Catiúscia A. B. Borges 5 ROTAÇÃO Dentre todas as transformações, a rotação é que mais de difere, uma vez que, agora, além dos sentidos horários e anti-horários, temos também os eixos, já que a rotação também terá como referência o eixo. Sentido Horário No eixo x → 𝑅𝑥(𝜑) 𝑜𝑢 𝑅𝑦𝑧(𝜑) 𝑅𝑥(𝜑) = 𝑅𝑦𝑧(𝜑) = [ 1 0 0 cos𝜑 0 0 −sen𝜑 0 0 sen𝜑 0 0 cos𝜑 0 0 1 ] No eixo y → 𝑅𝑦(𝜑) 𝑜𝑢 𝑅𝑥𝑧(𝜑) 𝑅𝑦(𝜑)𝑜𝑢 𝑅𝑥𝑧(𝜑) = [ cos 𝜑 0 0 1 sen𝜑 0 0 0 −sen𝜑 0 0 0 cos𝜑 0 0 1 ] No eixo z → 𝑅𝑧(𝜑) 𝑜𝑢 𝑅𝑥𝑦(𝜑) 𝑅𝑧(𝜑) 𝑜𝑢 𝑅𝑥𝑦(𝜑) = [ cos 𝜑 −sen𝜑 sen𝜑 cos𝜑 0 0 0 0 0 0 0 0 1 0 0 1 ] Sentido Anti-horário No eixo x → 𝑅𝑥(𝜑) 𝑜𝑢 𝑅𝑦𝑧(𝜑) 𝑅𝑥(𝜑) = 𝑅𝑦𝑧(𝜑) = [ 1 0 0 cos𝜑 0 0 sen𝜑 0 0 −sen𝜑 0 0 cos𝜑 0 0 1 ] No eixo y → 𝑅𝑦(𝜑) 𝑜𝑢 𝑅𝑥𝑧(𝜑) 𝑅𝑦(𝜑)𝑜𝑢 𝑅𝑥𝑧(𝜑) = [ cos 𝜑 0 0 1 −sen𝜑 0 0 0 sen𝜑 0 0 0 cos𝜑 0 0 1 ] No eixo z → 𝑅𝑧(𝜑) 𝑜𝑢 𝑅𝑥𝑦(𝜑) 𝑅𝑧(𝜑) 𝑜𝑢 𝑅𝑥𝑦(𝜑) = [ cos 𝜑 sen𝜑 −sen𝜑 cos𝜑 0 0 0 0 0 0 0 0 1 0 0 1 ] CENTRO UNIVERSITÁRIO CARIOCA COMPUTAÇÃO GRÁFICA – INF A08 Catiúscia A. B. Borges 6 Exemplo: Rotacionar o objeto (original) em 180° em torno do eixo z no sentido horário. 𝑅𝑧(180°) = [ cos 180° −sen 180° sen 180° cos 180° 0 0 0 0 0 0 0 0 1 0 0 1 ] = [ −1 0 0 − 1 0 0 0 0 0 0 0 0 1 0 0 1 ] 𝑀𝑂𝑏 . 𝑅180° = 𝑀𝑜𝑏 ′ [ −2 0 0 0 0 1 2 1 2 0 0 0 0 1 −2 1 0 4 0 1 ] *[ −1 0 0 − 1 0 0 0 0 0 0 0 0 1 0 0 1 ]= [ 2 0 0 0 0 1 2 1 −2 0 0 0 0 1 −2 1 0 −4 0 1 ]
Compartilhar