Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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
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
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
a a
Cabinet Cavaleira
(a=45 ou 90) (a=45 ou 90)
Projeções Paralelas Oblíquas
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 )
Ap
B
Bp
☺ realista
3 pontos de fuga
Projeções Perspectiva ou Cônica
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
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
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
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)
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)
…
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);
(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
* 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..