A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DIM102 1 Visualização e Projeções 35M34 – Sala 3E1 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227.

Apresentações semelhantes


Apresentação em tema: "DIM102 1 Visualização e Projeções 35M34 – Sala 3E1 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227."— Transcrição da apresentação:

1 DIM102 1 Visualização e Projeções 35M34 – Sala 3E1 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227

2 DIM102 2 Introdução História Vasos gregos do século 6 já exibem perspectiva Em projeções perspectivas, linhas paralelas convergem (em 1, 2 ou 3 eixos) para um ponto de fuga Objetos mais distantes são mais reduzidos (foreshortening) que objetos mais próximos Linhas paralelas convergindo Arestas de mesmo tamanho tem tamanhos aparentes diferentes

3 DIM102 3 História Brunelleschi criou um método para criação de projeções perspectivas no início do século 15 Uma pintura [o plano de projeção] é a interseção de uma pirâmide visual [volume de visão] a uma determinada distância, com um centro fixo [centro de projeção] e uma posição definida de iluminação, representada na arte por linhas e cores em uma determinada superfície [a renderização]. (Leono Battista Alberti (1404- 1472), On Painting, pp. 32-33)

4 DIM102 4 Projeções Necessidade em se representar o mundo 3D em uma imagem 2D (plano de projeção) Projeção: abstração geométrica, um mapeamento Objetos no mundo 3D são recortados contra um volume de visão 3D, projetados em um plano de projeção e mapeados no viewport (coordenadas 2D do dispositivo) para desenho

5 DIM102 5 Sistemas de Coordenadas Resultado de transformações Convenções em pipelines gráficos objeto/modelagem mundo câmera/visão Janela/screen/window raster/dispositivo

6 DIM102 6 Tipos de Projeções Projeção 2D de um objeto 3D é definida por raios de projeção (projetores) que emanam de um centro de projeção, passam por cada ponto do objeto e intersectam o plano de projeção Projeções planares Projeções paralelas (centro de projeção no infinito) ou perspectivas Definindo projeções – especifica-se o centro de projeção (perspectiva) ou a direção de projeção

7 DIM102 7 Tipos de Projeção projeçõesplanares perspectivas:1,2,3-pontos paralelas obliquas ortográficas cabinet cavalier topo,frente,lado axonométricas:isométricasdimétricastrimétricas

8 DIM102 8 Projeções I Ortográfica Oblíqua Centro da projeção I I Paralelas: centro da projeção no Perspectivas

9 DIM102 9 Projective Rendering Pipeline OCS – sistema de coordenadas do objeto WCS - sistema de coordenadas do mundo VCS - sistema de coordenadas de visão CCS - sistema de coordenadas de recorte NDCS - sistema de coordenadas normalizadas DCS - sistema de coordenadas do dispositivo OCS WCS VCS CCS NDCS DCSmodelingtransformationviewingtransformation projectiontransformation viewporttransformation altera w / w objetomundo visão dispositivo normalizado recorte

10 DIM102 10 Viewing Transformation OCS WCS VCSTransformação do objeto Transformação de visão/câmera OpenGL ModelView matrix objetomundo visão

11 DIM102 11 Projection Comparison Oblíquas Cavalier Cabinet Axonométricas Isométricas Others Perspectivas

12 DIM102 12 Oblique Projections x y z cavalier d d x y z cabinet dd/2 Ambas têm visão frontal verdadeira cavalier: distância real cabinet: metade da distância

13 DIM102 13 Projeções Axonométricas

14 DIM102 14 Projeções Perspectivas one-pointperspective two-pointperspective three-pointperspective Classificadas de acordo com o número de pontos principais de fuga

15 DIM102 15 Transformations Perspectivas Propriedades Linhas paralelas não permanecem paralelas Exemplo – estrada desaparecendo no infinito Combinações afins não são preservadas. Exemplo – Centro de uma linha não mapeia para o centro da linha projetada

16 DIM102 16 Câmera Virtual Modelo de referência do programador para a especificação dos parâmetros da projeção para o computador Posição da câmera Orientação Campo de visão (ângulo aberto, normal…) Profundidade do campo de visão (plano frontal, plano traseiro) Distância focal Inclinação da plano do filme (projeções oblíquas) Projeção perspectiva ou paralela (câmera próxima dos dos objetos ou a uma distância infinita dos mesmos)

17 DIM102 17 Volumes de visão Um volume de visão contém tudo visível do ponto de vista e direção escolhidos. O que a câmera vê? Volumes de visão cônicos aproximam o que nossos olhos veêm, mas encarecem a computação de recorte de objetos Aproximação por um pirâmide truncada (chamada de frustum), que funciona bem com uma janela de visualização retangular e permite um recorte mais fácil Volume de visualização perspectivo cônico Aproximação do volume de visualização por um frustum olho câmera virtual

18 DIM102 18 Pipeline Visualização 3D Viewport é a área retangular da tela onde a cena é renderizada (que pode ou não preencher toda a tela) Janela em CG geralmente significa um retângulo de recorte 2D em um sistema de coordenadas 2D do mundo. Já viewport é uma região da tela em um sistema de coordenadas inteiro 2D para o qual o resultado da regiáo recortada é mapeado Viewport e plano do filme podem ter aspect ratios diferentes

19 DIM102 19 Volumes de visão Seis informações determinam o modelo da câmera virtual (neste caso) A posição da câmera O vetor olhar-para (look) da câmera (para onde a câmera esá apontando) A orientação da câmera é determinada pelo vetor olhar- para e pelo ângulo de rotação da câmera ao redor deste vetor. O ângulo de rotação é dado pelo vetor vertical (up) Vetor olhar-para Vetor vertical Posição Ângulo de largura Ângulo de altura Plano de recorte frontal Plano de recorte traseiro

20 DIM102 20 Volumes de Visão Aspect ratio do filme: razão da largura para a altura O ângulo de altura determina quanto da cena caberá no volume de visão (ângulo de largura determinado pelo ângulo de altura e aspect ratio). Os planos de recorte frontal e traseiro limitam a extensão da visão da câmera, renderizando somente as partes dos objetos que estão entre eles

21 DIM102 21 Posição e Orientação Posição é definida pelas coordenadas x, y e z da câmera no espaço 3D Orientação é especificada por um ponto no espaço 3D ou uma direção para a qual se deve apontar a câmera e um ângulo de rotação ao redor desta direção Orientação canônica (default) é olhando na direção negativa do eixo z e o vetor vertical apontando para cima no eixo y Defaults variam de pacote para pacote, certifique-se dos valores iniciais de posição e orientação das câmeras -z-z z y x Vetor vertical Vetor olhar-para Ponto referência (x, y, z) Posição da câmera

22 DIM102 22 Vetores Olhar-para e Vertical Maneira mais natural de se definir orientação Vetor olhar-para Pode ser qualquer vetor em 3D Vetor vertical Determina como a câmera é rotacionada ao redor do vetor olhar- para Vetor olhar-para Posição Projeção do vetor vertical

23 DIM102 23 Aspect Ratio Similar ao tamanho do filme usado em uma câmera Define a proproção da largura para a altura da imagem desenhada na tela Janela quadrada tem um aspect ratio de 1:1 Telas de cinema tem um aspect ratio de 2:1 Televisôes PAL-M tem um aspect ratio de 4:3, enquanto que HDTVs tem um aspect ratio de 16:9

24 DIM102 24 Ângulo de Visão Determina a quantidade de distorção perspectiva na imagem, de nenhuma (projeção paralela) a muita (lentes de ângulos largos) Os ângulos de altura e largura definem o frustum, sendo que o ângulo de largura = ângulo de altura * aspect ratio Equivalente ao fotógrafo escolhendo o tipo específico de lente

25 DIM102 25 Planos de Recorte Frontal e Traseiro Volume do espaço entre os dois planos define o que a câmera pode ver Posição dos planos definidas pela distância na direção do vetor olhar- para Objetos fora do volume de visão não são desenhados Objetos que intersectam estes planos são recortados Front clipping plane Back clipping plane

26 DIM102 26 Plano de Recorte Frontal Porque se usa plano de recorte frontal? Desenhando objetos muito próximos da câmera Poderia bloquear a visão do resto da cena Objetos poderiam ser distorcidos Evitar singularidades (divisão por zero, números muito pequenos) Não se deve desenhar objetos atrás da câmera No caso de uma câmera perspectiva, objetos atrás da câmera seriam desenhados de cabeça para baixo e invertidos por causa da transformação perspectiva

27 DIM102 27 Plano de Recorte Traseiro Porque se usa plano de recorte traseiro? Desenhando objetos muito distantes da câmera Objetos muito distantes podem aparecer muito pequenos para serem visualmente significantes, mas ainda demoram muito para serem desenhados Em uma cena com muitos objetos, por questões de aparência pode-se renderizar somene os mais próximos descartando-se os mais distantes Problema - Objetos aparecendo repentinamente em jogos ? Objetos que acabam de entrar no plano de recorte traseiro. Utilizar névoa (fog) Hardware mais rápido e algoritmos de nível de detalhamento (LoD) permitem resolver este problema sem a utilização de névoa

28 DIM102 28 Comprimento de Foco Alguns modelos de câmera usam comprimento de foco É uma medida da faixa de foco ideal e aproxima o comportamento de uma lente de câmera real Objetos na distância de comprimento de foco são renderizadas em foco enquanto que objetos mais próximos ou distantes são borrados Usados com planos de recorte

29 DIM102 29 Especificação do Volume de Visão Posição, vetores olhar-para e vertical (orientação), aspect ratio, ângulo de altura e planos de recorte especificam um volume de visão truncado É a especificação do espaço delimitado que a câmera consegue ver Visão 2D da cena 3D é calculada do volume de visão truncado e projetada no plano de filme Volumes de visão truncados podem ser paralelos ou perspectivos

30 DIM102 30 Volume de Visão – Projeção Paralela Volume de visão truncado é um paralelepípedo Na projeção paralela os ângulos de altura e largura são zero Height Width Look vector Near distance Position Far distance Up vector

31 DIM102 31 Volume de Visão – Projeção Perspectiva Volume de visão truncado é uma pirâmide truncada (frustum) Position Near distance Far distance Height angle Width angle = Look vector Up vector Height angle Aspect ratio

32 DIM102 32 Plano do Filme? Filme da câmera virtual é um retângulo em um plano de filme infinito que contém a imagem da cena Posicionamento do plano do filme Volume de visão paralelo – desde que o plano do filme se localize na frente da cena, a distância do mesmo não importa Volume de visão perspectivo – O mesmo se aplica já que se transforma o volume de visão perspectivo em um volume de visão paralelo antes do mapeamento para as coordenadas do viewport

33 DIM102 33 Processo Geração da imagem 2D a partir de parâmetros 3D da câmera é um problema complicado É mais simples usar um volume de visão canônico (paralelepípedo) em uma posição de visão canônica (na origem, olhando para o eixo z negativo) Processo dividido em: 1. Pegar parâmetros da especificação de visão 2. Transformação do volume de visão especificado no volume de visão canônico 3. Recorte e projeção em 2D da cena

34 DIM102 34 Revisão Localização do volume de visão é especificada pela posição (posição) e orientação (vetores olhar-para e vertical) Forma do volume de visão especificada pelos ângulos de visão horizontal e vertical e pelos planos de recorte frontal e traseiro Na projeção perspectiva os projetores se intersectam no centro de projeção Na projeção paralela os projetores são paralelos ao vetor olhar- para, mas nunca se intersectam ou se intersectam no infinito Visão arbitrária especificada usando os parâmetros de visão. Mapeamento desta visão é difícil tanto para projeção como para recorte

35 DIM102 35 Plano de Projeção Também chamado de plano de visão Existem várias definições, aqui nós vamos usar os termos de Foley et al, onde é definido por um ponto de referência de visão (VRP) e uma normal chamada de normal do plano de visão (VPN)

36 DIM102 36 Coordenadas de Referência de Visão (VRC) Volume de visão intersecta plano de visão na janela de visão Janela de visão é descrita pelos valores máximos e mínimos de u e v Coordenadas de referência de visão (VRC) tem: –A origem no VRP –O eixo n ao longo do VPN (negação do vetor olhar-para) –O eixo v ao longo do VUP (vetor vertical) –O eixo u determinado pela regra da mão direita : u x v = n

37 DIM102 37 Volumes de Visão no Sistema VRC Volume de visão definido por: Janela no plano de visão Centro de projeção (COP) nas projeções perspectivas Direção de projeção (DOP) nas projeções paralelas Centro da janela (CW) Ponto de Referência da Projeção (PRP) e centro da janela (CW) são usados para se determinar Centro de Projeção (COP) ou Direção da Projeção (DOP) Perspectiva: COP = PRP Paralela: DOP = CW - PRP

38 DIM102 38 Projeções no VRC

39 DIM102 39 Volumes de Visão Paralelo Volume truncado de visão é posteriormente mapeado em um volume de visão normalizado ou canônico Este volume, chamado de viewport 3D, é expresso em coordenadas de projeção normalizadas (NPC)

40 DIM102 40 Volume de Visão Perspectivo

41 DIM102 41 Implementando Projeções Recorte usando os volumes de visão é caro computacionalmente Normalização dos volumes torna o recorte mais fácil Idéia é de se calcular transformações de normalização N par e N per que transformem o volume de visão de projeções paralelas e perspectivas quaisquer em volumes de visão canônicos (normalizados)

42 DIM102 42 Projeções Paralelas A transformação normalizadora N par que mapeia coordenadas do mundo em coordenadas normalizadas é composta pela 1. Translação do VRP para a origem 2. Rotação do VRC tal que o eixo n se torne o eixo z, o eixo u se torne o eixo x, e o eixo v se torne o eixo y 3. Shear tal que a DOP seja paralela ao eixo z 4. Translação e scaling para o volume de visão canônico paralelo O Passo 1 é simplesmente T(-VRP) Para realizar o Passo 2 nós podemos usar as propriedades de matrizes ortonormais

43 DIM102 43 Projeções Paralelas Os vetores das linhas da matriz de rotação R do Passo 2 são os vetores unitários que são rotacionados por R nos eixos x, y e z Shear do Passo 3 é obtido calculando-se a quantidade shear necessária para que a DOP seja paralela ao eixo z

44 DIM102 44 Projeções Paralelas Matriz de shear do Passo 3 é O Passo 4 transforma o volume no volume canônico e consiste em uma translação do centro fromtal para a origem e um scaling para o tamanho 2 X 2 X 1 do volume canônico Transformação final é

45 DIM102 45 Projeções Perspectivas A transformação normalizadora N par que mapeia coordenadas do mundo em coordenadas normalizadas é composta pela 1. Translação do VRP para a origem 2. Rotação do VRC tal que o eixo n se torne o eixo z, o eixo u se torne o eixo x, e o eixo v se torne o eixo y 3. Translação do COP para a origem 4. Shear tal que a linha central do volume de visão seja paralela ao eixo z 5. Scaling para o volume de visão canônico perspectivo Os Passos 1 e 2 são idênticos aos da projeções paralelas

46 DIM102 46 Projeções Perspectivas O Passo 3 é simplesmente T(-PRP) A matriz do Passo 4 é idêntica a matriz de shear das projeções paralelas O matriz de scaling do Passo 5 é obtida primeiro aplicando-se scaling em x e y para que os planos que definem a pirâmide tenham inclinação unitária, e depois aplicando-se um scaling nos três eixos fazendo com que o plano traseiro de recorte seja o plano z=-1 Transformação final é

47 DIM102 47 Recorte no Volume de Visão Canônico Algoritmo de recorte 2D de Cohen- Sutherland pode ser estendido para 3D onde são usados 6 bits no outcode. No caso do volume de visão canônico paralelo nós temos

48 DIM102 48 Recorte no Volume de Visão Canônico No máximo seis interseções tem de ser calculadas, uma para cada plano do volume de visão Cálculo das interseções é efetuado usando-se a representação paramétrica da linha O cálculo da interseção da linha com o plano y=1 por exemplo é feito substituindo-se y por 1 na equação abaixo, achando o valor de t e substituindo-o nas outras equações para se achar os valores de x e z

49 DIM102 49 Projeção Figura pode ser desenhada simplesmente ignorando-se a coordenada z e projetando os pontos no plano xy Um ponto (x,y,z) onde –1 x,y 1, 0 z 1, é desenhado no ponto (x´, y´) no espaço da tela (assumindo que o viewport é a tela inteira 1024 x 1024, com 0 x´, y´ 1024) onde Obs: como é uma projeção paralela, nós poderiamos ter projetado a imagem no plano frontal, traseiro ou qualquer plano intermediário que o resultado final seria o mesmo

50 DIM102 50 Resumo Resumindo, o problema da projeção da cena 3D em 2D pode ser reduzido a uma multiplicação composta de matrizes, que são aplicadas aos vértices, seguida do recorte dos objetos, e uma transformação final para produzir os pontos em coordenadas da tela


Carregar ppt "DIM102 1 Visualização e Projeções 35M34 – Sala 3E1 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227."

Apresentações semelhantes


Anúncios Google