32
DIM102 1 Visualização e Projeções I 24T12 – Sala 3F5 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 327

Visualiza ção e Projeçõ es I

  • Upload
    keiki

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

24T12 – Sala 3F5 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 327. Visualiza ção e Projeçõ es I. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Visualiza ção e Projeçõ es I

DIM102 1

Visualização e Projeções I

24T12 – Sala 3F5

Bruno Motta de Carvalho

DIMAp – Sala 15 – Ramal 327

Page 2: Visualiza ção e Projeçõ es I

DIM1022

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

Page 3: Visualiza ção e Projeçõ es I

DIM1023

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)

Page 4: Visualiza ção e Projeçõ es I

DIM1024

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

nmf mn ,:

Page 5: Visualiza ção e Projeçõ es I

DIM1025

Sistemas de Coordenadas

Resultado de transformações Convenções em pipelines gráficos

objeto/modelagemmundocâmera/visãoJanela/screen/windowraster/dispositivo

Page 6: Visualiza ção e Projeçõ es I

DIM1026

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

Page 7: Visualiza ção e Projeçõ es I

DIM1027

Tipos de Projeção

projeprojeçõeçõessplanaresplanares

perspectivperspectivasas::1,2,3-p1,2,3-poontntosos

paralelparalelasas

obliquobliquasas ortogrortográfáficicasas

cabinetcabinet cavaliercavalier toptopoo,,frfreentntee,,ladolado

axonomaxonoméétrictricasas::isomisoméétrictricasasdimdiméétrictricasastrimtriméétrictricasas

Page 8: Visualiza ção e Projeçõ es I

DIM1028

Projeções

II

OrtográficaOrtográfica OblíquaOblíqua

Centro da projeção

II

II

ParalelasParalelas:: centro da projeção no centro da projeção no

PerspectivasPerspectivas

∞∞

Page 9: Visualiza ção e Projeçõ es I

DIM1029

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 recorteNDCS - sistema de coordenadas

normalizadas DCS - sistema de coordenadas do

dispositivo

OCSOCS WCSWCS VCSVCS

CCSCCS

NDCSNDCS

DCSDCS

modelingmodelingtransformationtransformation

viewingviewingtransformationtransformation

projectionprojectiontransformationtransformation

viewportviewporttransformationtransformation

alteralteraa w w

/ w/ w

objeto mundo visão

dispositivo

normalizado

recorte

Page 10: Visualiza ção e Projeçõ es I

DIM10210

Viewing Transformation

OCSOCS WCSWCS VCSVCSTransformação Transformação

do objetodo objetoTransformação Transformação de visãode visão//câmeracâmera

modM camMOpenGL ModelView matrix

objeto mundo visão

Page 11: Visualiza ção e Projeçõ es I

DIM10211

Projection Comparison

OblíquasCavalierCabinet

AxonométricasIsométricasOthers

Perspectivas

Page 12: Visualiza ção e Projeçõ es I

DIM10212

Oblique Projections

xx

yy

zz

cavaliercavalier

dd

dd

xx

yy

zz

cabinetcabinet

dd

d/2d/2

Ambas têm visão frontal verdadeira cavalier: distância realcabinet: metade da distância

Page 13: Visualiza ção e Projeçõ es I

DIM10213

Projeções Axonométricas

Page 14: Visualiza ção e Projeçõ es I

DIM10214

Projeções Perspectivas

one-pointone-pointperspectiveperspective

two-pointtwo-pointperspectiveperspective

three-pointthree-pointperspectiveperspective

Classificadas de acordo com o número de pontos principais de fuga

Page 15: Visualiza ção e Projeçõ es I

DIM10215

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

Page 16: Visualiza ção e Projeçõ es I

DIM10216

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)

Page 17: Visualiza ção e Projeçõ es I

DIM10217

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âmeravirtual

Page 18: Visualiza ção e Projeçõ es I

DIM10218

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

Page 19: Visualiza ção e Projeçõ es I

DIM10219

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

Page 20: Visualiza ção e Projeçõ es I

DIM10220

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

Page 21: Visualiza ção e Projeçõ es I

DIM10221

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

y

x

Vetor vertical

Vetor olhar-para

Ponto referência

(x’, y’, z’)

Posição da câmera

Page 22: Visualiza ção e Projeçõ es I

DIM10222

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

Page 23: Visualiza ção e Projeçõ es I

DIM10223

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

Page 24: Visualiza ção e Projeçõ es I

DIM10224

Â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

Page 25: Visualiza ção e Projeçõ es I

DIM10225

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

Page 26: Visualiza ção e Projeçõ es I

DIM10226

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

Page 27: Visualiza ção e Projeçõ es I

DIM10227

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

Page 28: Visualiza ção e Projeçõ es I

DIM10228

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

Page 29: Visualiza ção e Projeçõ es I

DIM10229

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

Page 30: Visualiza ção e Projeçõ es I

DIM10230

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 vectorNear

distance

Position

Far distance

Up vector

Page 31: Visualiza ção e Projeçõ es I

DIM10231

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

Page 32: Visualiza ção e Projeçõ es I

DIM10232

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