Visualização 3D: Projecções

24
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO COMPUTAÇÃO GRÁFICA E INTERFACES/ SISTEMAS GRÁFICOS JGB / AAS 1 Visualização 3D: Projecções Sistemas Gráficos/ Computação Gráfica e Interfaces

Transcript of Visualização 3D: Projecções

Page 1: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

1

Visualização 3D: Projecções

Sistemas Gráficos/

Computação Gráfica e Interfaces

Page 2: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

2

Pipeline de Visualização

Projecção: é uma transformação que mapeia de um espaço dimensional para um de menor dimensão (ex: 3D 2D).

Plano de Projecção: plano no qual é feita a projecção.

Centro de projecção (CoP): posição do observador ou câmara em relação ao plano de projecção.

Clipping no espaço 3D

(volume de visualização)

Coordenadas mundo (3D) Projectar para o

plano de projecçãoTransformação para Viewport

Coordenadas 2D do dispositivo de

visualização

Page 3: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

3

Definição de uma vista arbitrária 3DO plano de projecção é caracterizado por um ponto no plano designado de view reference point (VRP) e pela normal ao plano view plane normal (VPN).

O sistema de eixos v,n,u é definido no plano de projecção. É o eixo de referência para efectuar a projecção.

O vector VUP permite ao utilizador indicar a direcção da projecção. Os vectores v e u são obtidos a partir de n e VUP.

Janela de visualização definida no plano de projecção. Apenas os elementos projectados no interior desta janela são transformados para o viewport.

CW: centre of window

Page 4: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

4

Projecção

Perspectiva: a distância de CoP ao plano de projecção éfinita

Paralela: a distância de CoP ao plano de projecção é infinita

A projecção é definida por raios de projecção que saem do centro de projecção, passando por cada ponto do objecto e intersectando o plano de projecção.

Page 5: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

5

Volume de visualizaçãoCentro de projecção CoP é também designado de PRP (projection reference point). O ponto é definido em relação a VRP.

View Volume:limita a região do espaço que vai ser visível (operação de clipping). Para a projecção perspectiva tem a forma de uma pirâmide.

View Volume para a projecção paralela tem o formato de um paralelepípedo.

Page 6: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

6

ProjecçõesProjecção Perspectiva: Distância do Centro de Projecção ao plano de projecção é finito.

Projecção Paralela: Distância do Centro de Projecção ao plano de projecção é infinito.

Page 7: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

7

ProjecçõesPerspectiva

Semelhante ao sistema fotográfico/sistema de visão humano. Na projecção o tamanho dos objectos varia inversamente com a distância ao centro de projecção.

Vantagem: aspecto realista.Desvantagens:

- não é útil para registar a forma e as dimensões exactas dos objectos;- não se pode obter as distâncias reais;- os ângulos só são preservados apenas nas faces do objecto paralelas ao plano de projecção;- linhas paralelas normalmente não são projectadas como paralelas.

ParalelaVantagens:

- as projecções permitem a medição exacta das dimensões do objecto;- linhas paralelas mantém-se paralelas;

Desvantagens:- menos realista;- os ângulos só são preservados apenas nas faces do objecto paralelas ao plano de projecção.

Page 8: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

8

Projecção em PerspectivaAs projecções em perspectiva são caracterizadas pelo número de Pontos de Fuga

principais, ou seja em x, y e z.

Para ter um ponto de fuga principal o plano de projecção tem de intersectar o eixo correspondente. Para ter apenas um ponto de fuga, por exemplo em z, o plano de projecção tem de ser paralelo aos restantes eixos.

Verifica-se que as projecções têm apenas um ponto de fuga principal porque as rectas paralelas a x e y não convergem.

Page 9: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

9

Projecção em Perspectiva

Plano de projecção corta apenas o plano z

Plano de projecção corta o plano z e xApenas as linhas paralelas ao eixo y não convergem para um ponto.

Page 10: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

10

Projecção ParalelaCaracterizada pela normal ao plano de projecção e direcção dos raios de projecção.

Normal ao plano de projecção e direcção da projecção coincidem

Normal ao plano de projecção e direcção da projecção não coincidem

Três projecções ortográficas: topo, frontal e lateral.

Em cada uma das projecções o plano de projecção é perpendiculares a um dos eixos de coordenadas.

Utilização: desenho técnico. Permite medir distâncias e ângulos correctamente.

Page 11: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

11

Projecção Paralela OrtográficaProjecção Ortográfica Axonométrica

Os planos de projecção não são paralelos aos eixos de coordenadas, mostrando várias faces do objecto na mesma projecção.

• Têm alguma analogia com a projecção em perspectiva, mas diferem no facto de o tamanho do objecto não depender da sua distância ao centro de projecção.

• O paralelismo entre as arestas mantém-se.

Projecção Isométrica (Ortográfica Axonométrica): Nesta projecção a normal ao plano de projecção (bem como a direcção de projecção) faz um ângulo igual com todos os eixos de coordenadas.

Se a Normal ao plano de projecção for (dx,dy,dz) então |dx| = |dy| = |dz|. Existem apenas 8 direcções que satisfazem este requisito, uma em cada octante.

Projecção Isométrica com direcção de projecção (1,-1,-1)

Page 12: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

12

Projecção Paralela - ObliquaProjecção Paralela Obliqua

1. O plano de projecção é perpendicular a um dos eixos de coordenadas2. A direcção de projecção não coincide com nenhum dos eixos.

CavaleiraA direcção da projecção faz um ângulo de 45º com o plano de projecção. As linhas perpendiculares ao plano de projecção mantêm a sua dimensão.

Page 13: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

13

Projecção Paralela - ObliquaGabinete

A direcção da projecção faz um ângulo de 63.4º com o plano de projecção. As linhas perpendiculares ao plano de projecção são projectadas com metade do seu tamanho. Resultam projecções mais realistas do que com a cavaleira.

Page 14: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

14

Volume de Visualização

Page 15: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

15

Volume de Visualização

Page 16: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

16

Volume de Visualização

Page 17: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

17

Cálculo da Projecção PerspectivaPerspectiva com um ponto de fuga:

– Plano de Projecção normal ao eixo z em z=d;– CoP em z=0

Podemos escrever:

zx

dxp =

zy

dyp =e

Resultando:

dzx

zxdxp /.==

dzy

zydyp /.==

A distância d é apenas um factor de escala aplicado a x e y. A matriz de transformação Mper:

=

0/100010000100001

d

M per

Page 18: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

18

Cálculo da Projecção PerspectivaMultiplicando o ponto P=[x y z 1]T por Mper obtém-se o ponto em coordenadas homogéneas:

==

1

.

0/100010000100001

.zyx

d

PM

WZYX

per ou

=

dzzyx

WZYX

.

Dividendo por W:

=

d

dzydzx

zyx

p

p

p

/

/

Page 19: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

19

Cálculo da Projecção PerspectivaPerspectiva (ainda com um ponto de fuga):

– Plano de Projecção normal ao eixo z em z=0;– CoP em z= - d

Podemos escrever:

dzx

dxp

+=

dzy

dyp

+=e

Resultando:

1)/(.

+=

+=

dzx

dzxdxp 1)/(

.+

=+

=dzy

dzydyp

A matriz de projecção M’per:

=

1/100000000100001

'

d

M per

Page 20: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

20

Cálculo da Projecção ParalelaParalela ortográfica (frontal):

– Plano de Projecção normal ao eixo z;– Direcção de projecção: paralela a z

Um ponto P=(x,y,z) projecta-se em: xp = x, yp = y, zp = 0

A matriz de projecção Mort:

=

1000000000100001

ortM

Projecção lateral:Um ponto P=(x,y,z) projecta-se em: xp = 0, yp = y, zp = z

Projecção topo:Um ponto P=(x,y,z) projecta-se em: xp = x, yp = 0, zp = z

Page 21: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

21

Cálculo da Projecção com CoP fora do eixo z e plano de projecção perpendicular a z

Podemos definir um ponto P’ no segmento de recta entre CoP e P, de forma paramétrica como:

P’ = CoP + (P-CoP).t 0<= t <= 1

Sendo CoP = (0,0,Zp) + Q(dx,dy,dz), P’=(x’,y’,z’) será:

x’ = Q.dx + (x – Q.dx).ty’ = Q.dy + (y – Q.dy).tz’ = (zp+Q.dz) + (z – (zp + Q.dz)).t

z

x ou y

CoPPp=(xp,yp,zp)

P=(x,y,z)

(0,0,zp)

Q

(dx,dy,dz)

Q: Distância do centro de projecção CoP ao ponto (0,0,zp)

Page 22: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

22

Cálculo da Projecção com CoP fora do eixo z e plano de projecção perpendicular a z

A projecção Pp do ponto P, na intercepção do segmento de recta entre CoP e P com o plano de projecção, é obtida fazendo z’ = zp e resolvendo em ordem a t:

).().(

dzQzzdzQzz

tp

pp

+−

+−=

Substituindo t nas equações de x’ e y’ obtemos xp e yp:

1.

+−

+−=

dzQzz

dzdxz

dzdxzx

xp

p

p

1.

+−

+−=

dzQzz

dzdyz

dzdyzy

yp

p

p

Fazendo zp = zp:

1.

...

.

1.

1.

2

+−

++−

=+

+−

=

dzQzz

dzQdzQzz

dzQz

z

dzQzzdzQzz

zzp

ppp

p

p

pp

=1

Page 23: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

23

Cálculo da Projecção com CoP fora do eixo z e plano de projecção perpendicular a z

As equações de xp, yp e zp podem ser escritas numa matriz 4x4, Mgeral de modo que do produto da última linha da matriz pelo vector [x y z 1]T resulte o divisor comum W:

+−

+−

=

1..

100

..00

10

01

2

dzQz

dzQ

zdzQz

dzQz

dzdyz

dzdy

dzdxz

dzdx

M

p

ppp

p

p

geral

=

1

.zyx

M

WZYX

geral

=

WWWZWYWX

zyx

p

p

p

////

.

1

A projecção de P é obtida por:

1.

+−

=dzQzz

W p

Sendo W: Notar que:Q: é um escalar; distância de CoPao ponto (0,0,zp) no plano de projecção.

(dx,dy,dz) vector que representa a direcção entre (0,0,zp) e CoP.

1222 =++ dzdydx

Page 24: Visualização 3D: Projecções

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

COMPUTAÇÃO GRÁFICA E INTERFACES/SISTEMAS GRÁFICOS JGB / AAS

24

ResumoA matriz Mgeral representa todas as projecções apresentadas anteriormente, representadas por Mper, M’per e Mort:

zp Q [dx dy dz]Mort 0 ∞ [0 0 -1]Mper d d [0 0 -1]M’per 0 d [0 0 -1]

A projecção Cavaleira e Gabinete pode ser obtida de Mgeral fazendo:

zp Q [dx dy dz]Cavaleira 0 ∞ [cosα sinα -1]Gabinete 0 ∞ [cosα/2 sinα/2 -1]

Todas as projecções estudadas consideram que o plano de projecção é perpendicular ao eixo z. Na projecção perspectiva corresponde a um ponto de fuga.