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

Slides:



Advertisements
Apresentações semelhantes
Figuras geométricas Se olhar ao seu redor, você verá que os objetos têm forma, tamanho e outras características próprias. As figuras geométricas foram.
Advertisements

IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Figura 5 - O plano mostrando detalhes da projeção em perspectiva.
SLIDE 1 – Transformações - Translação
Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro Conteúdo: - Transformações geométricas no plano.
DESENHO INDUSTRIAL ASSISTIDO POR COMPUTADOR
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
Inversor Trifásicos com Três Pernas
Material pedagógico Multiplicar x 5 Clica!
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Pesquisa Bibliográfica Disciplina de Metodologia da Pesquisa Profª Tereza Yoshiko Kakehashi 1.
Cálculo - Thomas Capítulo 5.
Perspetiva Isométrica
Sumário Bem ou serviço compósito = dinheiro Exercícios 2 Exercícios 3.
Cálculo - Thomas Capítulo 3.
Vetores Representação e características Operações I Decomposição
Análise de regressão linear simples: abordagem matricial
The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Departamento de Informática e Estatística - INE/CTC/UFSC Computação Gráfica:
Relações Adriano Joaquim de O Cruz ©2002 NCE/UFRJ
COMPUTAÇÃO GRÁFICA.
EXPRESSÕES ARITMÉTICAS
EXPRESSÕES ARITMÉTICAS
Claudio Esperança Paulo Roma Cavalcanti
Visualização e Projeções I
Iluminação e Sombreamento
DIM102 1 Curvas e Superfícies 35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227.
24T12 – Sala 3F5 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
FUNÇÃO MODULAR.
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
Perspectivas Prof. Cristiano Arbex 2012.
Classes e objetos P. O. O. Prof. Grace.
Provas de Concursos Anteriores
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
APRESENTAÇÃO Está prevista a utilização de 6 aulas (6 blocos de 90 minutos) para o ensino do Subtema das Funções Quadráticas. Todas as aulas servirão.
MECÂNICA - ESTÁTICA Cabos Cap. 7.
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap. 12.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Momentos de Inércia Cap. 10
RECONSTRUÇÃO 3D Equipe: Amora Cristina (acat) Anália Lima (alc5)
Dinâmica do Movimento Plano de um Corpo Rígido: Força e Aceleração
Cinemática Plana de um Corpo Rígido Cap. 16
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
Momentos de Inércia Cap. 10
Introdução à Computação Gráfica Projeções
Visão Computacional Formação da Imagem
Modelagem Estatística
É u m e l e m e n t o f u n d a m e n t a l
Projeções Computação Gráfica.
Visualização 3D: Projeções
Computação Gráfica Aula 3 Transformações Geométricas
Computação Gráfica – Visibilidade
TRANSFORMAÇÕES DE TENSÕES
Trigonometria 19/11/2009.
Visualização Tridimensional (Câmera Sintética)
Máquina de Turing Universal
Dinâmica do Movimento Plano de um Corpo Rígido: Força e Aceleração
Renderização em Tempo Real
Lentes esféricas Giovanni Ávila Física.
Computação Gráfica – Transformações Projetivas
Visualização Tridimensional
Introdução à Computação Gráfica
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Visualização Tridimensional. Quando se trabalha em três dimensões, o SRU (Sistema de Referência do Universo) passa a ser composto por três eixos ortogonais.
Figura 5 - O plano mostrando detalhes da projeção em perspectiva.
The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Departamento de Informática e Estatística - INE/CTC/UFSC Computação Gráfica:
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Prof. Me. Henrique dos Prazeres Marcelino
Princípios de Composição Plástica
Transcrição da apresentação:

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

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

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 ( ), On Painting, pp )

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

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

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

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

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

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

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

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

DIM 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

DIM Projeções Axonométricas

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

DIM 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

DIM 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)

DIM 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

DIM 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

DIM 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

DIM 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

DIM 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

DIM 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

DIM 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

DIM Â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

DIM 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

DIM 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

DIM 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

DIM 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

DIM 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

DIM 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

DIM 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

DIM 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

DIM 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

DIM 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

DIM 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)

DIM 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

DIM 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

DIM Projeções no VRC

DIM 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)

DIM Volume de Visão Perspectivo

DIM 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)

DIM 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

DIM 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

DIM 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 é

DIM 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

DIM 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 é

DIM 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

DIM 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

DIM 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

DIM 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