Visualização e Projeções I
24T12 – Sala 3F5
Bruno Motta de Carvalho
DIMAp – Sala 15 – Ramal 327
1
DIM102
Introdução

História

Arestas de mesmo
tamanho tem tamanhos
aparentes diferentes

Linhas
paralelas
convergindo
2
DIM102

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
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 (14041472), On Painting, pp. 32-33)
3
DIM102
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
f :  , m  n
n

4
m
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
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

5
DIM102
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
6
DIM102
Tipos de Projeção
projeções
planares
paralelas
perspectivas:
1,2,3-pontos
ortográficas
obliquas
cabinet
7
cavalier
topo, axonométricas:
frente, isométricas
dimétricas
lado
trimétricas
DIM102
Projeções
Paralelas: centro da projeção no
Oblíqua
I
Ortográfica
I
Perspectivas
I
Centro da projeção
8
∞
DIM102
Projective Rendering
Pipeline
objeto
mundo
WCS
OCS
modeling
transformation
visão
VCS
viewing
transformation
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
altera w
projection
transformation
recorte
CCS
/w
normalizado
NDCS
viewport
transformation
dispositivo
DCS
9
DIM102
Viewing Transformation
objeto
mundo
visão
OCS
WCS
VCS
10
Transformação
do objeto
Transformação
de visão/câmera
M mod
M cam
OpenGL ModelView matrix
DIM102
Projection Comparison

Oblíquas
Cavalier
 Cabinet


Axonométricas
Isométricas
 Others


Perspectivas
11
DIM102
Oblique Projections

Ambas têm visão frontal verdadeira
cavalier: distância real
 cabinet: metade da distância

d/2
y
y
d
d
d

cabinet
cavalier
12
x
z
x
z
DIM102

Projeções
Axonométricas
13
DIM102
Projeções Perspectivas
 Classificadas de
one-point
perspective
acordo com o número
de pontos principais
de fuga
two-point
perspective
14
DIM102
three-point
perspective
Transformations
Perspectivas


Propriedades
Linhas paralelas não permanecem
paralelas
• Exemplo – estrada desaparecendo no infinito

15
Combinações afins não são
preservadas. Exemplo – Centro de uma
linha não mapeia para o centro da linha
projetada
DIM102
Câmera Virtual

16
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)
DIM102
Volumes de visão
Volume de
visualização
perspectivo
cônico
olho
câmera
virtual

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
Aproximação
do volume de
visualização
por um frustum
17
DIM102
Pipeline Visualização
3D
• Viewport é a área retangular
da tela onde a cena é
renderizada (que pode ou não
preencher toda a tela)
18
DIM102
• 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
Volumes de visão
Vetor
vertical

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
Ângulo de
largura
Posição
Ângulo de
altura
Plano de
recorte frontal
19
Plano de
recorte traseiro
DIM102
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
20
DIM102
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
y
x
z
Vetor
vertical
Ponto
referência
(x’, y’, z’)
Vetor olhar-para
Posição da
câmera
21
z


DIM102
Vetores Olhar-para e
Vertical
Projeção do
vetor vertical

Maneira mais natural de se
definir orientação

Vetor olhar-para
Vetor olhar-para


22
Vetor vertical

Posição
DIM102
Pode ser qualquer vetor
em 3D
Determina como a
câmera é rotacionada
ao redor do vetor olharpara
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
23
DIM102
Ângulo de Visão



24
DIM102
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
Planos de Recorte
Frontal e Traseiro
Front clipping
plane
25
Back clipping
plane
DIM102

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 olharpara

Objetos fora do volume de
visão não são
desenhados

Objetos que intersectam
estes planos são
recortados
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

26
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
DIM102
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
27
DIM102
Comprimento de Foco




28
DIM102
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
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
29
DIM102
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
Width
Far
distance
Height
Look
vector
Near
distance
Up
vector
Position
30
DIM102
Volume de Visão –
Projeção Perspectiva

Width angle =
Height angle •
Aspect ratio
Up
vector
Look vector
Height
angle
Position
Near distance
Far distance
31
DIM102
Volume de visão
truncado é uma
pirâmide truncada
(frustum)
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
32

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
DIM102
Download

Posição da câmera