Projeções
Computação Gráfica
Projeções: conceitos
 Linhas Projetantes emanam do centro de projeção,
passam por cada ponto do objeto e intersectam o plano
de projeção, formando a projeção.
Projeções: conceitos
 Projeção em perspectiva (ou cônica): centro de
projeção é um ponto do espaço, a ser especificado. O
objeto é deformado de forma inversamente
proporcional à distância ao centro de projeção.
 Projeção paralela (ou cilíndrica): centro de projeção
no infinito (ponto ideal). Deve-se especificar um
vetor, que é a direção da projeção. Pode ser usada
para tomada de algumas medidas.
Projeções: conceitos
 A projeção em perspectiva não preserva retas
paralelas, com algumas exceções: retas
paralelas contidas num plano paralelo ao plano
de projeção. Ângulos são preservados também
nesta situação.
 A projeção paralela preserva retas paralelas;
ângulos são preservados apenas em plano
paralelos ao plano de projeção.
Projeções em perspectiva
 Retas paralelas que não são paralelas ao plano
de projeção convergem para um ponto de fuga.
Retas paralelas se intersectam em pontos
ideais. Assim, pontos de fuga podem ser vistos
como a transformação de pontos ideais em
pontos afins. A projeção propriamente dita,
vista no espaço euclidiano mergulhado, se
obtém com a normalização dos pontos afins.
Existem infinitos pontos de fuga, um para cada
possível direção de retas paralelas.
Projeções em perspectiva
 Se o feixe de retas paralelas é paralelo ao
algum dos três eixos principais, o ponto de
fuga é dito axial. Podem existir, portanto,
apenas três pontos de fuga axiais. Os pontos de
fuga axiais aparecem no plano de projeção
quando este corta um ou mais eixos principais.
Projeções em perspectiva
Projeções em perspectiva
Projeções em perspectiva
Projeções paralelas
 Existem dois tipos de projeções paralelas:
 Ortográfica
 Oblíqua
 Na projeção paralela ortográfica, as projetantes
são normais ao plano de projeção, o que não
acontece com a projeção paralela oblíqua.
Projeções paralelas
 Os tipos mais comuns de projeções
ortográficas são: vista frontal, lateral e
superior. São importantes para desenhos de
engenharia para representar partes de
máquinas e prédios, pois as distâncias e os
ângulos podem ser medidos a partir delas.
Projeções paralelas
Projeções paralelas
 Outro tipo de projeção ortográfica é a chamada
axonométrica, que ocorre quando o plano de
projeção não é ortogonal a algum eixo
principal do sistema. Retas paralelas são
projetadas em retas paralelas, mas os ângulos
não são preservados. As medidas podem ser
tomadas ao longo de cada eixo principal, em
geral com um fator de escala distinto.
Projeções paralelas
 Um tipo especial de projeção ortográfica
axonométrica é a projeção isométrica. Trata-se
de um caso especial em que o plano de
projeção forma o mesmo ângulo com os três
eixos principais. As projeções dos três vetores
unitários canônicos formam ângulos de 120o
entre si. Isto permite que as medições feitas na
projeção em cada eixo utilize a mesma escala.
Projeções paralelas
Projeções paralelas
 Outros tipos de projeções axonométricas:
dimétricas (ex: 100,100,160) e trimétricas.
 Projeções Oblíquas: as projetantes não são
paralelas à normal ao plano de projeção. O
plano de projeção é normal a algum eixo
principal. Isto significa que projeções de faces
paralelas a este plano preservam ângulos e
distâncias.
Projeções paralelas
Projeções paralelas
 Projeções oblíquas permitem visões das faces
superiores, frontais e laterais, e ainda
permitem que medidas de distância possam ser
tomadas em faces não paralelas ao plano de
projeção, mas não ângulos. Geralmente as
medidas de distância para estas faces têm um
fator de escala associado.
Projeções paralelas
 Os dois tipos de projeções oblíquas mais
utilizados são: cavaleira e gabinete (cabinet).
Na cavaleira as projetantes formam um ângulo
de 45o com o plano de projeção. Isto resulta no
fato de que segmentos de reta ortogonais ao
plano de projeção possuirão o mesmo
comprimento que sua projeção.
Projeções paralelas
Projeções paralelas
 Na projeção paralela oblíqua gabinete as
projetantes formam um ângulo de
arctg(2)=63,4o com o plano de projeção. A
idéia deste ângulo é projetar segmentos de reta
perpendiculares ao plano de projeção de forma
a reduzirem seu tamanho à metade. Reúne as
vantagens da cavaleira, mas um pouco mais
realista. Deve haver um fator de escala =1/2
para medidas sobre retas perpendiculares ao
plano de projeção.
Projeções paralelas
Projeções paralelas
 Uma forma de especificar a projeção oblíqua:
Projeções Planares
Modelos de Vista 3D
 O modelo de vista 3D é a forma de especificar
o volume de vista (paralelepípedo de vista ou
pirâmide de vista) com o objetivo tanto de
propiciar a projeção 2D adequada bem como
do corte e enquadramento adequados. Nesta
exposição daremos uma olhada nas abordagens
e terminologias do sistema PHIGS (ANSI-88).
Modelos de Vista 3D
 Plano de projeção = plano de vista
 Ponto que fixa o plano = VRP (View Reference
Point)
 Normal ao plano = VPN (View Plane Normal)
 O plano de vista pode ser colocado de forma
arbitrária com respeito ao sistema mundial.
 O sistema de vista é definido através de três
vetores: n, v e u.
Modelos de Vista 3D
O eixo n é dirigido pelo vetor VPN; o eixo v
é definido como a projeção de VUP sobre
o plano normal a este vetor. O eixo u é
definido de forma a se obter um sistema
de coordenadas da mão direita.
Modelos de Vista 3D
Modelos de Vista 3D
 Define-se então o retângulo de vista,
através da escolha das coordenadas
mínimas e máximas. O retângulo de vista
não precisa estar centralizado em relação
ao VRP (CW).
Modelos de Vista 3D
Modelos de Vista 3D
 PRP = Projection Reference Point
 DOP = Direction of Projection
Modelos de Vista 3D
 O parâmetro de câmera que define a projeção é o PRP
e uma indicação do tipo de projeção: se o tipo
pretendido é em perspectiva, então PRP é centro de
projeção. Senão, DOP é o vetor de direção dada por
CW e PRP.
 O PRP é dado em coordenadas de vista, não
mundiais. Vantagem: pode-se mover VUP ou VPN
sem se recalcular o PRP; se a projeção é cavaleira,
por exemplo, não há necessidade de se recalcular
PRP/DOP para se manter a inclinação.
Modelos de Vista 3D
 O volume de vista limita a parte do mundo que deve
ser enquadrado e projetado no plano de vista. Para a
projeção em perspectiva o volume de vista é uma
pirâmide semi-infinita com vértice no PRP e arestas
passando pelas extremidades do retângulo de vista.
 Pontos atrás de PRP não são mostrados.
 Na realidade, deveria ser um volume cônico, mas a
pirâmide é mais tratável matematicamente.
Modelos de Vista 3D
Modelos de Vista 3D
 Para a projeção paralela o volume de vista é um
paralelepípedo com lados paralelos à direção de
projeção. Ortográfica:
Modelos de Vista 3D
 oblíqua:
Modelos de Vista 3D
 Volumes:
Modelos de Vista 3D
Modelos de Vista 3D
Modelos de Vista 3D




Preparando para corte e projeção:
Projeção paralela(utilizando matrizes 4X4):
1.Transladar VRP p/ a origem.
2.Rotacionar VRC de tal forma a que o eixo n
coincida com z o eixo u coincida com x e o eixo v
coincida com o y.
 3. Cisalhar de tal forma que a direção de projeção
fique paralela ao eixo z.
 4. Transladar e escalar o volume no volume
normalizado.
Modelos de
Vista 3D
Modelos de
Vista 3D
Modelos de Vista 3D
 Projeção em perspectiva:
 1.Transladar VRP p/ a origem.
 2.Rotacionar VRC de tal forma a que o eixo n
coincida com z o eixo u coincida com x e o eixo v
coincida com o y.
 3. Transladar de forma a COP coincidir com origem.
 4. Cisalhar de tal forma que a linha central do volume
se transforme no eixo z.
 5. Escalar o volume de vista no volume piramidal reto
normalizado.
Modelos de
Vista 3D
Modelos de
Vista 3D
Modelos de Vista 3D
Modelos de Vista 3D
 Corte 3D: determinação das partes da cena que estão
dentro do volume de vista. Existem algoritmos de
corte 2D, para arestas, que podem ser generalizados
para faces contra paredes de um paralelepípedo
retangular. Um algoritmo eficiente é o de Cohen –
Sutherland: a cada vértice atribui-se uma palavra de 4
bits, onde cada bit carrega informação do vértice
pertencer a algum semi-plano determinado por cada
reta que suporta as arestas do retângulo de vista.
Modelos de Vista 3D
1001
1000
1010
0001
0000
0010
0101
0100
Bit 1: y > ymax
Bit 2: y < ymin
Bit 3: x > xmax
0110
Bit 4: x < xmin
Note que o bit 1 é o sinal de ymax – y ; o bit 2 é o sinal de y – ymin;
o bit 3 é o sinal de xmax – x e o bit 4 é o sinal de x – xmin .
Modelos de Vista 3D
 O algoritmo testa o código para saber se pode
rejeitar ou aceitar trivialmente o segmento.
Senão, ele escolhe uma aresta (o código
indica) e encontra a interseção com o
segmento. Então ele rejeita a parte exterior do
segmento ao substituir o vértice exterior pelo
ponto de interseção. O código também
diferencia o lado exterior do lado interior. O
algoritmo então calcula o código do novo
vértice e vai para a próxima iteração.
Modelos de Vista 3D
 Outros algoritmos, como o de Cyrus-Beck e o de
Liang-Barsky utilizam retas paramétricas e o produto
escalar para determinação de visibilidade de cada
segmento. Eles são algoritmos mais modernos e
geralmente mais eficientes que o de CohenSutherland. Todos estes algoritmos se estendem para
o paralelepípedo retangular. No caso o paralelepípedo
é normalizado:
[-1,1] X [-1,1] X [0,1]
Modelos de Vista 3D
 O código passa a ter 6 bits :
 Paralela:
Bit 1: y > 1
Bit 3: x > 1
Bit 5: z < -1
Bit 2: y < -1
Bit 4: x < -1
Bit 6: z > 0
Modelos de Vista 3D
 Perspectiva:
Bit 1: y > -z
Bit 3: x > -z
Bit 5: z < 0
Bit 2: y < z
Bit 4: x < z
Bit 6: z > zmax
Modelos de Vista 3D
 Fazendo o corte em coordenadas homogêneas:
 Razões: eficiência, já que os algoritmos para
paralelepípedo retangular são mais eficientes;
também são implementados (pelo menos a
parte central) em hardware; o corte pode não
ser feito corretamente para operações
homogêneas não usuais, como o que pode
ocorrer com nurbs.
Modelos de Vista 3D
 A transformação do volume piramidal no
paralelepípedo pode é projetiva, ou seja, pode
ser representada no bloco de perspectiva da
matriz 4x4, seguida de uma normalização para
pontos afins. Para simplificar o entendimento,
utilizaremos o modelo 3D do livro de A. Watt
/M. Watt.
Modelos de Vista 3D
Modelos de Vista 3D
 Para transformar este tronco de pirâmide no
paralelepípedo canônico, deve-se aplicar uma
transformação de coordenadas de vista para
coordenadas de tela, que apresenta uma divisão de x e
y por z. A transformação visa a facilitar as operações
de corte, interpolação linear e ordenação de
profundidade (z-buffer) para visibilidade. Newman
and Sproul ‘73 mostraram que a coordenada z deve
ser transformada através de uma expressão do tipo:
zs =A + B/ze
Modelos de Vista 3D
 Esta transformação de z leva retas em retas e
planos em planos. Ela também preservará a
orientação da profundidade, desde que B<0.
Forçando com que a transformação leve os
vértices extremos da pirâmide nos vértices do
paralelepípedo retangular [-1,1] X [-1,1] X
[0,1], encontramos o valor de A e B. A seguir
mostramos como ficam as transformações de
vista para tela (3D->3D):
Modelos de Vista 3D
xe
xs  D
hze
ye
ys  D
hze
D
1
ze
zs  F
F D
Modelos de Vista 3D
 Para a transformação ser incorporada na matriz
4x4, devemos separar a parte linear da não
linear, utilizando as coordenadas homogêneas,
em dois passos:
x =xe , y =ye , z=(hFze )/[D(F-D)] – hF/(F-D)
w=hze/D
E aí segue-se o passo da divisão de perspectiva:
xs =x/w, ys = y/w, zs= z/w.
Esta é uma normalização de ponto afim.
Modelos de Vista 3D
 A matriz da parte linear da transformação então fica assim:
1

0

M 0


0

0
0
1
0
hF
D( F  D)
h
D
0
0


0 
 hF 
F D

0 

0
Download

Projeções - Centro de Informática da UFPE