Você está na página 1de 44

Visualização 3D

O que é visualização 3D?

y
x
z
Visualização 3D
O primeiro passo para visualização de um objeto 3D é a definição de um modelo de
visualização.
O modelo de visualização deve ser constituído de tal forma que a imagem
bidimensional do objeto, representada no dispositivo de saída, reproduza de forma fiel
suas verdadeiras formas.

De um modo geral, este modelo consiste, em primeiro lugar, no estabelecimento de


um sistema de coordenadas (coordenadas do mundo) para descrever o objeto
espacialmente.

Em seguida, deve-se especificar um ponto de observação, limitando o campo de visão


do observador a uma região finita do espaço, chamada de volume de visualização.

Esse volume de visualização é definido por um plano de projeção, pelos planos


anteriores e posteriores de recorte, e pelo tipo de projeção escolhido para visualizar o
objeto (perspectiva ou paralela).
Visualização 3D
As partes do objeto que se situam no interior do volume de visualização são
projetadas no plano de projeção e daí mapeadas para uma região do dispositivo de
saída.
A definição do modelo de visualização resulta, portanto, na caracterização de uma
série de transformações geométricas, necessárias para transformar um objeto
tridimensional em uma imagem bidimensional descrita pelo sistema de coordenadas
do dispositivo.
Pelo fato de envolver apenas transformações geométricas, o modelo de visualização é
aplicável a pontos, e independe de como o objeto é modelado geometricamente.

Em outras palavras, o modelo de visualização não depende dos elementos ou


primitivas, tais como segmentos de reta e faces planas, utilizadas para compor o
objeto.

As demais etapas do processo de visualização são as seguintes:


- Identificação das primitivas que se situam no interior do volume de visualização
- Determinação da visibilidade das primitivas, sob o ponto de vista do observador
- Conversão das primitivas
Efeitos como transparências e iluminação, também podem ser incorporadas ao
processo de visualização.
Visualização 3D
• A partir de uma cena, real ou virtual, modelada, gerar a
imagem que representa esta cena
• Processo de Visualização 3D

Objeto no Cercar Volume de Projetar no Plano Transformar para


espaço 3D Visualização de Projeção coord. normalizadas

Transformar para
coord. do disposit. Imagem
Projeções
Conversão de pontos de um sistema de coordenadas
de dimensão n para um sistema de coordenadas menor que n

Em CG nos interessamos por projeções 3D em 2D


A
Caracterizada por dois elementos:
- Plano e centro de projeção A’

B’ B

Centro de
projeção
Plano de
projeção Projetoras
A projeção fica definida pelo conjunto dos pontos do plano de projeção,
obtidos da sua intersecção com as linhas visuais que partem do objeto e
atingem o centro de projeção.
Tipos de projeções:
- Paralelas
- Ortográficas
- Plantas
- Elevações
- Axonométricas - Isométricas
- Oblíquas
- Cavaleiras
- Cabinet
- Perspectivas ou Cônicas
- 1 ponto de fuga
- 2 pontos do fuga
- 3 pontos de fuga
Projeções Paralelas

Ap

Bp

 pouco realista

☺ preserva paralelismo
☺ possui escala conhecida
Projeções Paralelas
Vetor Normal
Relação entre a direção de projeção e o vetor normal
Direção de Projeção

N N

Ortográficas Oblíquas

Nas projeções ortográficas a direção Nas projeções oblíquas a direção


de projeção é paralela a direção do de projeção é oblíqua a direção do
vetor normal ao plano de projeção vetor normal ao plano de projeção
Projeções Paralelas Ortográficas
Plantas e Elevações Vista superior (Planta)

x
z

Vista lateral
(Elevação)
Vista frontal
(Elevação) 1 0 0 0

0 0 0 0
1 0 0 0 0 0 0 0
Py= 0 0 1 0
Pz= Px=
0 1 0 0 0 1 0 0
0 0 0 1
0 0 0 0 0 0 1 0

0 0 0 1 0 0 0 1
Projeções Paralelas Ortográficas Axonométricas
Isométrica
Utiliza planos de projeção que não são perpendiculares
a um dos eixos principais, com isto, mostram várias faces de um objeto
y y
M
j jp
1

(1,1,1)

i x
x ip
kp
k
z
R3 R2
T(1,0,0) = (cos 30 ,-sin 30) cos30 0 -cos30
T(0,1,0) = (0,1) M=
-sin30 1 -sin30
T(0,0,1) = (-cos 30, -sin 30)
Projeções Paralelas Oblíquas

Neste caso, a normal ao plano de projeção não é paralela à direção de projeção


Nas projeções cavaleiras, a direção de projeção forma um ângulo de 45º com a
normal ao plano de projeção, de modo que as projeções de segmentos de retas
perpendiculares ao plano de projeção mantenham seus comprimentos
verdadeiros.
Nas projeções cabinet, as projeções de segmentos de retas perpendiculares ao
plano de projeção apresentam um comprimento de igual a metade do
comprimento verdadeiro.
1
1
1/2 1
1
1

a a

Cabinet Cavaleira
(a=45 ou 90) (a=45 ou 90)
Projeções Paralelas Oblíquas

Matrizes de projeções Cavaleiras e Cabinet

y y
M
1

(1,1,1) k

a 1
x
x
z R3 R2
T(1,0,0) = (1,0) 1 0 -k cosa
T(0,1,0) = (0,1) M =
0 1 -k sina
T(0,0,1) = ( -k cos a, -k sin a )

k pode ser 1 ou ½ dependendo da matriz de projeção


Projeções Perspectivas ou Cônicas
Na projeção Perspectiva uma conjunto de linhas que não sejam paralelas ao
plano de projeção converge para um mesmo ponto.
Esse ponto é chamado de ponto de Fuga.
Os ângulos são preservados somente nas faces do objeto paralelas ao plano de
projeção.
A

Ap
B

Bp

☺ realista

 não preserva escala


 não preserva ângulos
Projeções Perspectivas ou Cônicas
Os efeitos da projeção perspectiva dependem do posicionamento
do centro de projeção em relação ao plano de projeção
Projeções Perspectivas ou Cônicas

1 ponto de fuga 2 pontos de fuga


Projeções Perspectivas ou Cônicas

3 pontos de fuga
Projeções Perspectiva ou Cônica

Projeções Perspectiva para um cubo:


1 ponto de fuga
3 pontos de fuga

2 pontos de fuga
Projeções Perspectiva ou Cônica Simples

ye
P
ze Pp
xe

zp = -d
xp d xe ye yp d
= -z ye = -z
xe e e

xp yp
d yp = d ye
xp = -z xe -ze -ze
e
d d=n

ye
ze xe ze
Projeções Perspectiva ou Cônica Simples

xp = d xe
-ze
ye
P
Pp yp = d ye
ze -ze
xe
zp = -d

xp d 0 0 0 xe d xe (d/-ze) xe
yp 0 d 0 0 ye d ye (d/-ze) ye
= = =
zp 0 0 d 0 ze d ze -d
1 0 0 -1 0 1 -ze 1

w
w
Projeções Perspectiva ou Cônica Simples

x
y
y
Projeções Perspectiva e Ortográfica

Projeção cônica

Projeção ortográfica

eye plano de projeção

direção de projeção

plano de projeção
Projeções de um cubo

• Paralelas
1
1
1/2 1

a a
1
planta ou
isométrica Cabinete Cavaleira
elevação
(a=45 ou 90) (a=45 ou 90)

• Cônicas

1 ponto de fuga

2 pontos de fuga 3 pontos de fuga


Determinação dos parâmetros de
Visualização 3d
Cálculo do Bounding Box envolvente:
dx, dy, dz (dimensões que envolvem o modelo nas direções globais x, y e z)
dx = xmax - xmin
dy = ymax - ymin
dz = zmax - zmin
dz
(coordenadas do modelo)

dy

dx
Determinação dos parâmetros de
Visualização 3d
Cubo envolvente: dimensões que envolvem o modelo quando este é rotacionado em
todas as direções (x,y e z) e tem lado igual ao comprimento da diagonal da bounding
box.

dz

dy

dx

Bounding Box envolvente Cubo envolvente


Determinação dos parâmetros de
Visualização 3d
Cálculo do Cubo envolvente: O cubo envolvente é do tamanho da diagonal da
bounding box envolvente (maior dimensão).

D – diagonal da bounding box


Dz

D
dy
Dy
d dz

dx

d = d x2 + d z2 Dx

D = d y2 + d x2 + d z2
D = d y2 + d 2 Dx = Dy = Dz
Determinação dos parâmetros de
Visualização 3d
Ajuste Cubo envolvente: Determinar um cubo proporcional a viewport para não
distorcer o modelo (transformação window-viewport)

Ajuste do Cubo envolvente:


Proporcional a Viewport: Sv = Wv/Hv onde Sv é a razão da viewport e Sw = 1
Se Sv > 1
Em relação ao centro do cubo (Cx, Cy, Cz):
Manter Dy
Xmin = Cx - Dx / 2 Xmax = Cx + Dx / 2
Dx = Dy * Sv
Senao Ymin = Cy - Dy / 2 Ymax = Cy + Dy / 2
Manter Dx Zmin = Cz - Dz / 2 Zmax = Cz + Dz / 2
Dy = Dx * 1 / Sv
Em relação ao ponto de referência(Px, Py,Pz):
Xmin = Px - Dx / 2 Xmax = Px + Dx / 2
Ymin = Py - Dy / 2 Ymax = Py + Dy / 2
Zmin = Pz - Dz / 2 Zmax = Pz + Dz / 2
Determinação dos parâmetros de
Visualização 3d
Parâmetros para a função glFrustum
glFrustum ( left, right, bottom, top, znear, zfar)
glFrustum – Define volume de visão para projeção cônica no sistemas de
coordenadas da câmera.
Não necessariamente gera um v.v. simétrico

Câmera (eye)
Determinação dos parâmetros de
Visualização 3d
Parâmetros para a função glFrustum
glFrustum ( left, right, bottom, top, znear, zfar)
Near e Far são distâncias a partir da câmera (> 0)
Determinação dos parâmetros de
Visualização 3d
glFrustum ( left, right, bottom, top, znear, zfar)

Ymax

Xmax

Xmin

Ymin

left = Xmin
right = Xmax Proporcional a viewport
bottom = Ymin
top = Ymax
Znear = abs(Ze – Zmax)
Zfar = abs(Ze – Zmin)
Determinação dos parâmetros de
Visualização 3d
void gluPerspective( GLdouble fovy, GLdouble aspect,
GLdouble near_, GLdouble far_ );

ye w aspect = w/h

ze h
xe

near

far

fovy

xe
ze
Determinação dos parâmetros de
Visualização 3d
top near far
ye
B = (right, top,− far)
bottom
ze
A
xe
left
right
A = (left, bottom,−near)

void glOrtho( GLdouble left, GLdouble right,


GLdouble bottom, GLdouble top,
GLdouble near_, GLdouble far_ );

void gluOrtho2D( GLdouble left, GLdouble right,


GLdouble bottom, GLdouble top );
Determinação dos parâmetros de
Visualização 3d
Tranformação de viewport


glViewport (x, y, width, height);
...

GLUT:
A função default de “resize” define a viewport
como sendo a área total do canvas.
Determinação dos parâmetros de
Visualização 3d
Parâmetros para a Função gluLookAt
gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz);

(centerx, centery, centerz)


Câmera (eye)

eyex, eyey, eyez : coordenadas do ponto da câmera (eye)


centerx, centery, centerz: coordenadas do centro do volume de visualização
upx, upy, upz: vetor que especifica a direção vertical da câmera
Iluminação
• Para a percepção visual de uma foto-realística
(2D), a função Luminância/brilhância deve
ser próxima a função Luminância/brilhância
que a superfície emite na realidade.
• O processo físico de propagação da luz
emitida por fontes de luz é essencial para
gerar imagens foto-realísticas.
• No caso de cenas 3D → é estabelecida uma
correspondência através do cálculo da
iluminação, para simular nossa percepção
visual.
• Univ. Físico (interação luz e matéria)
• Univ. Matemático (modelos de iluminação)
Superfície e Materiais
•Estudo da interação da luz com o material na fronteira entre dois
meios:
•dependem da geometria das superfícies.
•dependem do material dos objetos.
•Esses fatores determinam a trajetória e a energia radiante
propagada em cada interação, em vários materiais.
•Material dielétrico (translúcidos, isolantes de eletricidade)
•Ex: vidro.
•Material metálico (opacos, condutores de eletricidade)
•Ex: cobre, ouro, alumínio.
•Material composto (pigmentos opacos em suspensão num
substratos transparente)
•Ex: plásticos, tintas.
Superfície e Materiais

•Geometria das superfícies


•Óticamente suave (é modelada localmente pelo seu plano
tangente, a luz é propagada na direção de reflexão ou
transmissão)
•Óticamente rugosa (modelo microfacetas orientadas em várias
direções, a luz é espalhada em várias direções)
Iluminação

• Estudo de como a luz


interage com objetos de uma
cena (Re)
• Emissão (I)
(I)
• Reflexão (Re)
• Transmissão (T)
• Absorção (A) (T) (A)
• Refração (Ra)

(Ra)
Modelos de Iluminação
•É o procedimento que nos permite determinar e ou aproximar a
luminância/brilhância de um ponto que devemos perceber na realidade sob o
efeito de uma ou mais fontes de luz.
•Modelo de Iluminação Local → considera a interação de um feixe de
luminoso com um ponto da superfície, despreza a iluminação indireta.
(OpenGL)
•Modelo de Iluminação Global → considera as interações deste feixe
com todas as superfícies existentes num ambiente, considera iluminação
indireta.(Ray tracing, complexos)

Iluminação direta

Iluminação direta

Iluminação indireta
Modelos de Iluminação Local

• É praticamente impossível simular milhões de raios de luz


atuando ao mesmo tempo em um objeto.
• Usa-se um modelo de representação simplificado, composto
apenas de três componentes.
Tipos de modelos:
Luz Luz Difusa Luz Especular
Ambiente
Modelo de Luz Ambiente
Luz Ambiente: é a luz que sofreu grande dispersão pelo
ambiente, de tal modo que sua direção é impossível de se
determinar (ela parece vir de todas as direções). Quando a
luz ambiente atinge uma superfície, ela se espalha por igual
em todas as direções na superfície.
Sa = I a K a
Sa é a intensidade de iluminação ambiente
Ia é a intensidade da luz ambiente
Ka é o coeficiente de reflexão ambiente
Modelo de Luz Difusa
Luz Difusa: é uma luz que ilumina de uma
direção particular o objeto. (ex.: O sol)
*
S d = I d K d cos
Sd é a intensidade de iluminação difusa
Id é a intensidade da luz difusa
Kd é o coeficiente de reflexão difusa
 é o ângulo de incidência N
N é vetor normal

I

* Lei de Lambert
Modelo de Luz Difusa
Obs: A componente difusa máxima ocorre quando cos  for
igual a 1.
S d = I d K d cos

Componente
máxima Diminuindo..

Para a equação, valem ângulos de 0 a 90 (cos no intervalo de 0 - 1).


Cossenos negativos, implica na fonte de luz atrás da superfície.
Modelo de Luz Especular
Luz Especular: responsável pela luz reflexiva vista em
superfícies altamente polidas como metais por exemplo.
* S = I K cosn 
S s S * Modelo de Phong
Ss é a intensidade de iluminação especular
Is é a intensidade da luz especular N
Ks é o coeficiente de reflexão especular SS
R é o ângulo de reflexão R I
 IS
I é o ângulo de incidência
Eye
 é o ângulo entre a componente
de reflexão e a direção do observador
Eye é a direção do observador
Superfícies perfeitamente lisas n é infinito
N é vetor normal Superfícies rugosas, valores menores que 1
Exemplo:
n parâmetro para determinar tipo de superfície entre 100 e 500 – superfícies metálicas
abaixo de 100 – superfícies mais opacas
Modelos de Iluminação Global
•Dois paradigmas são utilizados em CG para descrever as interações entre as
superfícies e fonte de luz num ambiente (global):
•Traçado de Raio (ray tracing)
•A partir da posição do observador, um raio é propagado até a fonte de luz ou
até um nível de propagação pré-estabelecido.
•Dependente do observador.
•Reflexão especular
•Radiosidade
•Montar um sistema de equações lineares, apartir da discretização das
superfícies da cena, determinando por média aritmética a radiosidade,
chegando na iluminação em cada vértice.
•Independente do observador.
•Reflexão Difusa.

Você também pode gostar