Baixe o app para aproveitar ainda mais
Prévia do material em texto
Visualização Tridimensional Profa.: Regina Célia Coelho Regina Célia Coelho Computação Gráfica – Visualização 3D Introdução Ø Embora existam vários dispositivos 3D, muitos computadores que visualizam superfícies são 2D. Ø Assim, um pipeline tridimensional deve conter requisitos para converter uma cena tridimensional para uma projeção bidimensional. Ø Consideremos a transformação em 2 partes: ü Transformação que converte o sistema de coordenadas do mundo (SCM) para o sistema de coordenadas de visualização (SCV). A origem do SCM é conhecido como ponto de visão ou ponto de referência da visão (posição do olho do observador ou posição da câmara). ü Transformação que projeta os pontos 3D do espaço de visualização no plano de visualização 2D. Regina Célia Coelho Computação Gráfica – Visualização 3D Pipeline de Visualização Câmera Computador Regina Célia Coelho Computação Gráfica – Visualização 3D Pipeline de Visualização Ø O observador em um ponto de observação vê a cena através de lentes da câmera que pode ser posicionada de forma a obter a imagem. Ø Fotógrafo: define a posição da câmera, sua orientação e ponto focal. Ø Fotografia: projeção da cena em um plano 2D (o filme da câmera). A cena é cortada para o tamanho da “janela” (abertura) da máquina e a luz da superfície visível é projetada no filme. Ø No monitor teremos uma projeção 2D da imagem dependente de vários fatores como: posição da câmera, orientação, ponto focal, tipo de projeção e planos de recorte. Regina Célia Coelho Computação Gráfica – Visualização 3D Pipeline de Visualização Ø No caso 3D, o pipeline requer: ü A definição de um volume de interesse na cena 3D (sist. de coordenadas do mundo). ü O mapeamento de seu conteúdo para o sistema de coordenadas de visualização (transformação de visualização). ü A projeção do conteúdo do volume de interesse em um plano (transformação de projeção). ü Mapeamento da janela resultante na viewport normalizada e depois para coordenadas do dispositivo. Regina Célia Coelho Computação Gráfica – Visualização 3D Pipeline de Visualização – Analogia com a Câmera Ø Imaginamos um observador que vê a cena através das lentes de uma câmera virtual: ü “fotógrafo” pode definir a posição da câmera, sua orientação e ponto focal, abertura da lente...; ü câmera real obtém uma projeção de parte da cena em um plano de imagem 2D (o filme). Ø Analogamente, a imagem obtida da cena sintética depende de vários parâmetros que determinam como esta é projetada para formar a imagem 2D no monitor: ü posição da câmera, orientação e ponto focal, tipo de projeção, posição dos “planos de recorte” (clipping planes), ... Regina Célia Coelho Computação Gráfica – Visualização 3D Pipeline de Visualização – Analogia com a Câmera Ø Três parâmetros definem a câmera: ü Posição; ü Ponto focal; ü Orientação: controlada pela posição, ponto focal, e um vetor denominado view up. Ø Parâmetros adicionais: ü Direção de projeção: vetor que vai da posição da câmera ao ponto focal; ü Plano da imagem: plano no qual a cena será projetada, contém o ponto focal e, tipicamente, é perpendicular ao vetor direção de projeção. Regina Célia Coelho Computação Gráfica – Visualização 3D Pipeline de Visualização – Analogia com a Câmera Ø Posição e ponto focal: definem onde a câmera está e para onde está apontando. Ø Direção de projeção: vetor que vai da posição da câmera ao ponto focal. Ø Plano de projeção: onde será projetada a cena (posicionado no ponto focal e perpendicular ao ve to r de d i reção de projeção). Fonte Figura: Schröeder, The Visualization Toolkit, 1998 Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Planos de recorte anterior e posterior (interceptam o vetor d e p r o j e ç ã o e s ã o perpendiculares a ele): usados para eliminar atores que estão muito próximos ou muito distantes da câmera, de forma que apenas os atores que estão na área englobada pelos planos de recorte sejam potencialmente visíveis. Pipeline de Visualização – Analogia com a Câmera Regina Célia Coelho Computação Gráfica – Visualização 3D Pipeline de Visualização - Diferentes Visões Ø Para obter uma série de visões de uma cena mantém-se o ponto de referência e modifica-se a direção do vetor de direção N (vetor perpendicular ao plano de visualização). Regina Célia Coelho Computação Gráfica – Visualização 3D Pipeline de Visualização Ø O pipeline requer a transformação da cena especificada no Sistema de Coordenadas do Mundo (SCM) para o Sistema de Coordenadas de Visualização (SCV). ü O SCV descreve a cena como vista pela câmera. ü O primeiro passo nesse processo consiste em especificar o SCV. Como? ! Necessário especificar origem e os três eixos de referência. Regina Célia Coelho Computação Gráfica – Visualização 3D Pipeline de Visualização - Especificação do SCV Ø Especificação do plano de projeção ou visualização (perpendicular a zv). Ele fará o papel do filme da câmera. Ø Origem do sistema: ü Define-se o ponto de referência de visualização (origem do SCV). Pode ser pensado como sendo a posição da câmera (VRP: View Reference Point). Regina Célia Coelho Computação Gráfica – Visualização 3D Pipeline de Visualização - Especificação do SCV Ø Associados à câmera: ü Vetor direção de projeção (N), que dá a direção do ponto focal (posição positiva de zv e vetor normal ao plano de visualização), e vetor view-up (V), que indica o ‘lado de cima’ da câmera (ambos devem ser perpendiculares entre si!); ü Plano de imagem. Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Eixos: ü eixo z associado ao vetor direção de projeção, eixo y associado ao vetor view-up, eixo x. Ø Define-se a direção positiva de yv (vetor V). Este vetor é conhecido como view-up e deve ser perpendicular a N. Normalmente ele é definido em qualquer ângulo e o pacote gráfico é que o torna perpendicular. Ø A partir de N e V, calcula-se U (eixo xv). Pipeline de Visualização - Especificação do SCV Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Temos 2 espaços vetoriais (sistemas de coordenadas) definidos por duas bases: ü SCM, espaço xm, ym, zm (i, j, k) ü SCV, espaço xv, yv, zv (u, v, n) Ø Queremos, inicialmente, coincidir as origens. Isso se faz transladando o ponto de referência de visualização para a origem do sistema de coordenadas do mundo. Ø Aplica-se rotações para alinhar xv, yv, zv e xm, ym, zm. Pipeline de Visualização - Especificação do SCV Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Sendo o ponto de referência (x0, y0,z0): ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = 1000 100 010 001 0 0 0 z y x T Pipeline de Visualização - Especificação do SCV Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Dependendo da direção escolhida para N, serão necessárias rotações nos 3 eixos de coordenadas do mundo (se N não estiver alinhado a nenhum eixo). Pipeline de Visualização - Especificação do SCV Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Isto significa: ü rotacionar ao redor do eixo xm trazendo zv no plano xmzm ü rotacionar ao redor do eixo ym alinhando zm e zv ü rotacionar sobre o eixo zm para alinhar os eixos ym e yv Pipeline de Visualização - Especificação do SCV Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Outra forma de gerar a matriz que descreve as rotações necessárias é definir os vetores unitários u, v e n do sistema de coordenadas domundo e formar a matriz de composição diretamente, uma vez que tais vetores são ortogonais entre si. Pipeline de Visualização - Especificação do SCV Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Dados 2 vetores N e V (não necessariamente perpendiculares), os vetores unitários que definem o sistema de coordenadas são: ),,( N Nn 321 nnn== Pipeline de Visualização - Especificação do SCV Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Dados 2 vetores N e V (não necessariamente perpendiculares), os vetores unitários que definem o sistema de coordenadas são: ),,( N Nn 321 nnn== ),,( NV NVu 321 uuu=× × = Pipeline de Visualização - Especificação do SCV Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Dados 2 vetores N e V (não necessariamente perpendiculares), os vetores unitários que definem o sistema de coordenadas são: ),,( N Nn 321 nnn== ),,( NV NVu 321 uuu=× × = ),,(unv 321 vvv=×= Pipeline de Visualização - Especificação do SCV Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Este método ajusta automaticamente a direção de V de forma que v seja perpendicular a n. Pipeline de Visualização – Conversão SCM è SCV Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Considerando que R= MT, em que M é a matriz de definição dos vetores SRV em termos dos vetores SCM, a matriz de projeção para a transformação de visualização é: ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = 1000 100 010 001 0 0 0 z y x T ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 0 0 0 zzz yyy xxx nvu nvu nvu R Pipeline de Visualização – Conversão SCM è SCV MCM,CV = R.T M = ux uy uz 0 vx vy vz 0 nx ny nz 0 0 0 0 1 ! " # # # # # $ % & & & & & = ux vx nx −x0 uy vy ny −y0 uz vz nz −z0 0 0 0 1 " # $ $ $ $ $ % & ' ' ' ' ' Regina Célia Coelho Computação Gráfica – Visualização 3D Manipulação da Câmera Ø Azimuth (azimute): rotaciona a posição da câmera ao redor do seu vetor view up, com centro no ponto focal (rotação em -y). Ø Elevation (elevação): rotaciona a posição ao redor do vetor dado pelo produto vetorial entre os vetores view up e direção de projeção, com centro no ponto focal (rotação em x); Ø Roll (Twist) (ângulo de torção): rotaciona o vetor view up em torno do vetor normal ao plano de projeção (rotação em z). Fonte Figura: Schröeder, The Visualization Toolkit, 1998 Regina Célia Coelho Computação Gráfica – Visualização 3D Manipulação do Objeto Ø Yaw: rotaciona o ponto focal em torno do vetor view up, com centro na posição da câmera (rotação em y); Ø Pitch: rotaciona o ponto focal ao redor do vetor dado pelo produto vetorial entre o vetor view up e o vetor direção de projeção, com centro na posição da câmera (rotação em x); Ø Roll: move a posição ao longo da direção de projeção (rotação em z); Ø Zoom (in, out): altera o ângulo de visão, de modo que uma região maior ou menor da cena fique potencialmente visível. Regina Célia Coelho Computação Gráfica – Visualização 3D Exercício Ø Observe os 3 objetos na cena e responda quais questões abaixo são verdadeiras. Justifique sua resposta. ü Todos os objetos são visíveis. Regina Célia Coelho Computação Gráfica – Visualização 3D Exercício Ø Observe os 3 objetos na cena e responda quais questões abaixo são verdadeiras. Justifique sua resposta. ü Todos os objetos são visíveis. ! Não, o objeto 1 não está no volume de visualização. ü É suficiente, para a determinação das faces visíveis, realizar o recorte contra o volume de visualização. Regina Célia Coelho Computação Gráfica – Visualização 3D Exercício Ø Observe os 3 objetos na cena e responda quais questões abaixo são verdadeiras. Justifique sua resposta. ü Todos os objetos são visíveis. ! Não, o objeto 1 não está no volume de visualização. ü É suficiente, para a determinação das faces visíveis, realizar o recorte contra o volume de visualização. ! Não, é necessário também utilizar algoritmos de remoção de superfícies não visíveis Regina Célia Coelho Computação Gráfica – Visualização 3D Exercício Ø Observe os 3 objetos na cena e responda quais questões abaixo são verdadeiras. Justifique sua resposta. ü Todos os objetos são visíveis. ! Não, o objeto 1 não está no volume de visualização. ü É suficiente, para a determinação das faces visíveis, realizar o recorte contra o volume de visualização. ! Não, é necessário também utilizar algoritmos de remoção de superfícies não visíveis. ü A remoção de faces traseiras utiliza informação de posição e orientação do observador. Regina Célia Coelho Computação Gráfica – Visualização 3D Exercício Ø Observe os 3 objetos na cena e responda quais questões abaixo são verdadeiras. Justifique sua resposta. ü Todos os objetos são visíveis. ! Não, o objeto 1 não está no volume de visualização. ü É suficiente, para a determinação das faces visíveis, realizar o recorte contra o volume de visualização. ! Não, é necessário também utilizar algoritmos de remoção de superfícies não visíveis ü A remoção de faces traseiras utiliza informação de posição e orientação do observador. ! Correto!! ü O processo de visualização garante que os objetos (2) e (3) seja totalmente visíveis na imagem final. Regina Célia Coelho Computação Gráfica – Visualização 3D Exercício Ø Observe os 3 objetos na cena e responda quais questões abaixo são verdadeiras. Justifique sua resposta. ü Todos os objetos são visíveis. ! Não, o objeto 1 não está no volume de visualização. ü É suficiente, para a determinação das faces visíveis, realizar o recorte contra o volume de visualização. ! Não, é necessário também utilizar algoritmos de remoção de superfícies não visíveis ü A remoção de faces traseiras utiliza informação de posição e orientação do observador. ! Correto!! ü O processo de visualização garante que os objetos (2) e (3) seja totalmente visíveis na imagem final. ! O objeto (3) está cortado, portanto não será totalmente visível. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Ø Transformam pontos em um sistema de coordenadas de n dimensões em um sistema de coordenadas de dimensão menor que n. Ø É o último passo na visualização. Ø Dois métodos básicos: ü Projeção paralela: mapeamento paralelo ü todos os raios de luz são paralelos ao vetor de projeção. ü Projeção perspectiva: todos os raios convergem para um ponto comum (ponto de observação ou centro da projeção). Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Ø A visualização projetada de um objeto é determinada calculando a interseção das linhas de projeção com o plano de visão. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Paralela Ø Preserva as proporções do objeto. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Paralela Ø Preserva as proporções do objeto. Ø Usado para produzir escalas de desenhos de objetos 3D, uma vez que são obtidas visões precisas de todos os lados do objeto. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Paralela Ø Preserva as proporções do objeto. Ø Usado para produzir escalas de desenhos de objetos 3D, uma vez que são obtidas visões precisas de todos os lados do objeto. Ø Não é uma representação realista. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Paralela Ø Preserva as proporçõesdo objeto. Ø Usado para produzir escalas de desenhos de objetos 3D, uma vez que são obtidas visões precisas de todos os lados do objeto. Ø Não é uma representação realista. Ø Pode ser especificada com um vetor de projeção Vp que define a direção das linhas de projeção e o plano de projeção. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Paralela Ø Preserva as proporções do objeto. Ø Usado para produzir escalas de desenhos de objetos 3D, uma vez que são obtidas visões precisas de todos os lados do objeto. Ø Não é uma representação realista Ø Pode ser especificada com um vetor de projeção Vp que define a direção das linhas de projeção e o plano de projeção. Ø Plano de projeção é definido pelo seu ponto de referência R0 e pela normal ao plano de projeção N. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Paralela Ø Vp perpendicular ao plano de visualização (paralelo a N): projeção paralela ortogonal (ou simplesmente ortogonal). Ø Caso contrário: projeção paralela oblíqua (ou simplesmente oblíqua). Vp Projeção ortogonal Vp Projeção oblíqua Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Paralela Ø Quando a direção de projeção é paralela a algum dos eixos principais, podemos observar as vistas frontal, posterior, superior, inferior, lateral direita e lateral esquerda. São importantes em desenhos de mecânica, engenharia e arquitetura (como, por exemplo, partes de máquinas e prédios) em que as distâncias e os ângulos podem ser medidos a partir deles. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Paralela Ø As equações de transformação para uma projeção ortogonal quando a direção de projeção é paralela a algum dos eixos principais são simples e diretas. Dado P = (x, y, z): ü o ponto projetado em XY é (x, y, 0); ü o ponto projetado em XZ é (x, 0, z); ü o ponto projetado em ZY é (0, y, z). Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Paralela Ø Se o plano de projeção é paralelo ao plano xy, basta desprezarmos o valor de z (z é usado para informações de profundidade). Ø Em coordenadas homogêneas teremos: ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 0000 0010 0001 paralelaM Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Paralela Ø Duas grandes vantagens de se utilizar este tipo de projeção são: ü não há alteração nas medidas do objeto; ü simplicidade de construção (basta omitir uma das componentes de cada ponto). Ø Sua maior desvantagem é que a reconstrução mental de um objeto a partir da visualização das três visões ortogonais é muito difícil. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Axonométrica Ø Se a direção de projeção não é paralela a nenhum dos três eixos principais, a projeção é chamada axonométrica. Nesse caso, o plano de projeção não é ortogonal a algum eixo principal do sistema de coordenadas. Ø Retas paralelas são projetadas em retas paralelas, mas os ângulos não são preservados. Ø São usadas para dar a sensação 3D a partir da projeção paralela. Ø Mostra mais de uma face do objeto. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Axonométrica Ø É preservado o paralelismo entre as linhas de projeção. Ø Há 3 tipos de projeções axonométricas: ü Isométrica: os 3 eixos apresentarão a mesma mudança de escala de forma que, para a projeção do cubo, os lados continuarão a apresentar a mesma medida quando projetado. ü Dimétrica: dois eixos sofrem as mesmas mudanças de escala, portanto, dois eixos são proporcionais em relação às medidas originais. ü Trimétrica: cada eixo terá uma transformação de escala própria; gera uma distorção para cada face. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Axonométrica Isométrica: Os 3 eixos apresentam o mesmo ângulo entre si (o mais comum é 1200) Dimétrica: Os ângulos entre yz e yx são iguais, mas entre xz é diferente (os mais comuns são 1000, 1000 e 1600,) Trimétrica Regina Célia Coelho Computação Gráfica – Visualização 3D Falha de Projeção Isométrica Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Oblíqua Ø Oblíqua: direção de projeção não é a mesma direção da normal ao plano de projeção. Ø Permite a vista de mais de um lado do objeto. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Oblíqua Ø Na projeção oblíqua, o plano de projeção paralelo a uma das faces do objeto é conservado, porém, as linhas de projeção tornam-se oblíquas em relação ao mesmo. Ø Aqui, a face paralela ao plano de projeção é idêntica à de uma projeção ortogonal, ou seja, cada unidade em X ou Y sobre o objeto também será uma unidade na projeção. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Oblíqua Ø Nas demais faces visíveis, a cada unidade que é deslocada em Z sobre a projeção, desloca-se ℓ*cos(θ) na horizontal e ℓ*sen(θ) na vertical, sendo ℓ um fator que indica se a sensação de profundidade será ou não acentuada e θ é a inclinação das linhas de projeção em relação ao plano de projeção: xp = x + z* ℓ*cos(θ) yp = y + z* ℓ*sen(θ) sendo ℓ = cotg(α) Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Oblíqua Ø Seja (x,y) as coordenadas da projeção ortogonal, (x,y,z) as coordenadas do ponto a ser projetado e (xp,yp) as coordenadas projetadas em projeção oblíqua. A linha de projeção oblíqua (x,y,z) para (xp,yp) faz um ângulo a com a linha no plano de projeção que (xp,yp) une a (x,y) . Esta linha de tamanho L forma um ângulo θ com a direção horizontal no plano de projeção. )cos(*Lxx L xx )cos( p p θθ +=⇒ − = )sen(*Lyy L yy )sen( p p θθ +=⇒ − = θ Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Oblíqua Ø Seja (x,y) as coordenadas da projeção ortogonal, (x,y,z) as coordenadas do ponto a ser projetado e (xp,yp) as coordenadas projetadas em projeção oblíqua. A linha de projeção oblíqua (x,y,z) para (xp,yp) faz um ângulo a com a linha no plano de projeção que (xp,yp) une a (x,y) . Esta linha de tamanho L forma um ângulo θ com a direção horizontal no plano de projeção. )cos(*Lxx L xx )cos( p p θθ +=⇒ − = )sen(*Lyy L yy )sen( p p θθ +=⇒ − = )( )( α α tg zL L ztg =⇒= O tamanho L pode ser calculado como: θ Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Oblíqua sendo cotg(α) ℓ*zL = == )( 1 αtg ℓ )( )( α α tg zL L ztg =⇒= Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Oblíqua )( )( α α tg zL L ztg =⇒= sendo cotg(α) ℓ*zL = == )( 1 αtg ℓ Equações da projeção oblíqua : xp = x + z*ℓ*cos(θ) yp = y + z*ℓ*sen(θ) Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Oblíqua Ø Matriz de transformação: ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1000 0000 010 001 )(sin )cos( M paralela θ θ ℓ ℓ Ø Uma projeção ortogonal é obtida com ℓ=0 (o que ocorre em uma projeção com ângulo α=0) . Ø Projeções oblíquas são geradas para valores de ℓ diferentes de zero. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeção Cavaleira Ø Escolhas comuns para θ são 300 e 450, que mostra uma combinação da visão frontal, lateral e superior (ou frontal, lateral e inferior) de um objeto. Regina Célia Coelho Computação Gráfica –Visualização 3D Projeção Cavaleira Ø Quando α = 45º (ℓ = 1), obtém-se a projeção cavaleira (cavalier). Este tipo de projeção cria uma sensação de profundidade exagerada, porém é bastante utilizada porque as medidas de todas as arestas são mantidas, facilitando as medições sobre o desenho. θ θ Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Cabinet Ø Quando ℓ = ¹/² (α ≅ 63,43º), obtém-se a projeção cabinet. Esta oferece uma redução na disposição causada pela projeção cavaleira na ordem de 50%, sendo, portanto, mais realista. θ θ Regina Célia Coelho Computação Gráfica – Visualização 3D Comparação entre projeção Ortogonal e Oblíqua Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Paralelas Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva Ø Produz visualizações realistas Ø Não preserva as proporções relativas: projeções de objetos distantes são menores que as projeções de objetos do mesmo tamanho que estejam mais próximos do plano de projeção. Este efeito habilita os seres humanos a perceber profundidade. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva Ø Perspectiva: ü O observador coloca-se no centro de projeção e o plano que deve conter o objeto projetado é o plano de projeção; Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva Ø Perspectiva: ü O observador coloca-se no centro de projeção e o plano que deve conter o objeto projetado é o plano de projeção; ü Dois segmento de reta que saem do centro de projeção e atingem o objeto no plano de projeção são chamados de projetantes ou projetores; Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva Ø Perspectiva: ü O observador coloca-se no centro de projeção e o plano que deve conter o objeto projetado é o plano de projeção; ü Dois segmento de reta que saem do centro de projeção e atingem o objeto no plano de projeção são chamados de projetantes ou projetores; ü Desenhos em perspectiva caracterizam-se pelo encurtamento perspectivo (ilusão de que os objetos são cada vez menores à medida que se distanciam do centro de projeção) e pelos pontos de fuga; Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva ü As projeções perspectivas de qualquer conjunto de linhas que não são paralelas ao plano de projeção convergem para um ponto de fuga; Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva ü As projeções perspectivas de qualquer conjunto de linhas que não são paralelas ao plano de projeção convergem para um ponto de fuga; ü Pontos de fugas: quando dá-se a aparência de haver uma interseção entre um conjunto de retas paralelas com um dos eixos principais X, Y ou Z; Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva ü O No de pontos de fuga é determinado pelo No de eixos principais intersectados pelo plano de projeção. Por exemplo, se o plano de projeção intercepta apenas os eixo z (então é perpendicular ao eixo z), somente o eixo z possui um ponto de fuga. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva ü 2 pontos de fuga (quando 2 eixos são interceptados pelo plano de projeção) são mais comuns em arquitetura, engenharia, desenho publicitário e projeto industrial. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva Exemplo de projeção perspectiva com 2 pontos de fuga. (fonte: http://www-usr.inf.ufsm.br/~pozzer/ disciplinas/cg_8_3d.pdf) Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva ü 3 pontos de fuga são bem menos utilizados, pois adicionam muito pouco realismo e o custo de implementação é bem maior. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva Ø Exemplo de projeção perspectiva com 1, 2 e 3 pontos de fuga. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva Ø Exemplos: ü Trinity with the Virgin, St. John and Donors) feita em perspectiva por Masaccio, em 1425. Traça com um ponto de fuga. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva Ø Exemplos: ü The Piazza fo St. Mark, Venice – feita em perspectiva por Canaletto, em 1735-45. Traça com um ponto de fuga. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva Ø Exemplos: ü The Mansard Roof – 1923 – por Edward Hopper com dois pontos de fuga. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Perspectiva Ø Exemplos: ü City Night– 1926 – por Georgia O`Keepe, com, aproximadamente, três pontos de fuga. Regina Célia Coelho Computação Gráfica – Visualização 3D Desenvolvimento matemático Suponha que o centro de projeção está no eixo Z (zprp) e que o plano de projeção seja normal ao eixo Z (posicionada em zvp). Precisamos determinar (xp,yp,zp). Regina Célia Coelho Computação Gráfica – Visualização 3D Desenvolvimento matemático Ø Equações que descrevem as coordenadas (xp,yp,zp) de qualquer ponto ao longo da linha de projeção perspectiva: xp = x - xu yp = y - yu zp = z - (z - zprp)u u recebe valores entre 0 e 1 (u=0, estamos em (x,y,z) e u=1 estamos em (0,0, zprp)). Regina Célia Coelho Computação Gráfica – Visualização 3D Desenvolvimento matemático Ø Equações que descrevem as coordenadas (xp,yp,zp) de qualquer ponto ao longo da linha de projeção perspectiva: xp = x - xu yp = y - yu zp = z - (z - zprp)u u recebe valores entre 0 e 1 (u=0, estamos em (x,y,z) e u=1 estamos em (0,0, zprp)). Ø No plano de visão temos zp= zvp Regina Célia Coelho Computação Gráfica – Visualização 3D u recebe valores entre 0 e 1 (u=0, estamos em (x,y,z) e u=1 estamos em (0,0, zprp)). Ø No plano de visão temos zp= zvp. Ø Assim: . Desenvolvimento matemático Ø Equações que descrevem as coordenadas (xp,yp,zp) de qualquer ponto ao longo da linha de projeção perspectiva: xp = x - xu yp = y - yu zp = z - (z - zprp)u zz zz prp vpu − − = Regina Célia Coelho Computação Gráfica – Visualização 3D Desenvolvimento matemático Ø Substituindo u para xp e yp teremos: com dp = zprp-zvp (distância do plano de visão ao ponto de referência da projeção) zz zz prp vpu − − = ( ) ( )zz dzz zzp prppprp vpprp xxx −−− == ( ) ( )zz dzz zzp prppprp vpprp yyy −−− == Regina Célia Coelho Computação Gráfica – Visualização 3D Desenvolvimento matemático Ø Em coordenadas homogêneas teremos: ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ∗ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − 100 )(00 0010 0001 1 z y x z h z y x p prp p p prp p vp d z d d z vpd z h h h sendo que o fator homogêneo h aqui é: p prp d zzh −= e as coordenadas do ponto projetado são obtidas dividindo- se por h as coordenadas homogêneas: h x p hx = hyp hy = Regina Célia Coelho Computação Gráfica – Visualização 3D Desenvolvimento matemático Ø Em alguns pacotes gráficos é assumido que o centro de projeção coincide com a origem do sistema de coordenadas de visualização, i.e., nesse caso zprp= 0. Ø Assim: pd zh −= Regina Célia Coelho Computação Gráfica – Visualização 3D Algumas Anomalias Ø Encurtamento Perspectivo: no ex., o objeto A é bem maior que o B, mas na projeção aparecerão do mesmo tamanho Ø Pontos de fuga: projeções de retas não paralelas ao plano de projeção, provocam a ilusão de que se interceptam num ponto do horizonte. Regina Célia Coelho Computação Gráfica – Visualização 3D Algumas Anomalias Ø Confusão visual: objetos situados atrás do centro de projeção serão projetados no plano de visualização de cima para baixo e de trás para frente. Regina Célia Coelho Computação Gráfica – Visualização 3D Projeções Regina Célia Coelho Computação Gráfica – Visualização 3D Ø Projeção perspectiva ü Tamanho varia inversamente com distância: aparência realística ü Distâncias e ângulos não são preservados ü Linhas paralelas não são preservadas Ø Projeção paralela ü Boa para medidas exatas ü Linhas paralelas são preservadas ü Ângulos são preservados ü Aparência menos realística Projeções Regina Célia Coelho Computação Gráfica – Visualização 3D Referências Ø Slides ü Profa. Maria Cristina – ICMC/USP Ø Livros ü Cap. 7 Hearn & Baker ü Cap. 2 Conci e Azevedo Regina Célia Coelho Computação Gráfica – Visualização 3D Exercício Ø As duas figuras abaixo são projeções do mesmo cubo no mesmo plano. Qual projeção é utilizada em cada figura? Explique.
Compartilhar