Buscar

CG aula11 cena3D v2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Introdução: conceito abstrato usado para localizar objetos no espaço R2 ou R3.
Sistema de Coordenadas de eixos cartesianos
Objetivo: Localizar objetos em um espaço através de medidas de distâncias 
Descrição de um ponto: conjunto de três valores (coordenadas cartesianas):
 X (largura) – informa a localização esquerda (-X) ou direita (+X) em 
relação à origem de um eixo lateral
 Y (altura) – informa a localização acima (+Y) ou abaixo (-Y) em relação à 
origem de um eixo vertical
 Z (profundidade) – informa a localização perto (+Z) ou longe (-Z) 
em relação à origem de um eixo longitudinal
Origem – é o ponto no qual os três eixos se encontram. 
- Possui valores de X, Y e Z iguais a zero: (0, 0, 0). 
- É o centro do volume espacial.
Aplicação - Utilizado para localizar o centro 
de um objeto no espaço.
Comp Graf – Cena3D
Observador
+Z +X
+Y
Origem
Comp Graf – Espaço Vetorial dos Pontos 
 Ponto - especifica uma posição no espaço. Requer três coordenadas
cartesianas.
 Vetor – é especificado por dois pontos: um ponto de partida e outro ponto de
chegada. Portanto a representação de um vetor requer seis números: três para
fornecer as coordenadas do ponto de partida e três para as coordenadas do
ponto de chegada.
 Simplificação: Se o ponto de partida é a origem, pode-se representar um vetor
por apenas três números: as suas coordenadas em relação à origem.
- Um ponto P (x, y, z) pode ser visto como um vetor A indo da origem até ele.
- Um vetor pode ser deslocado, sem se alterar, desde que seu comprimento e
direção sejam mantidos.
- O espaço de coordenadas cartesianas é na verdade um espaço vetorial, e todo
vértice de um objeto define um vetor que vai da origem até ele.
Comp Graf – Sistema de Coordenadas Esférico 
Objetivo: Orientar objetos em um espaço através de medidas de ângulos
Descrição de um ponto: conjunto de três valores (coordenadas esféricas):
 Pitch (arfagem) – indica a inclinação para frente ou para trás, mede a
rotação em torno do eixo X (como um molinete, uma roda de automóvel
visto de frente, ou um rolo compressor)
Observador
+Z
+X
+Y
Pitch
 Yaw (Guinada) – direção, refere-se ao rumo 
(curso), mede a rotação em torno do eixo Y 
(como um carrossel, uma bússula, ou um 
liquidificador) Observador
+Z
+X
+Y
Yaw
 Roll (Rolamento) – indica a inclinação para esquerda ou para a direita, mede 
a rotação em torno do eixo Z (como um ventilador, ou guidão de automóvel)
Observador
+Z
+X
+Y
Roll
Origem – é o ângulo a partir do qual se faz as visadas.
Aplicação - Utilizado para fornecer uma orientação (ou atitude) a um objeto no 
espaço
Comp Graf – Sistema de Coordenadas Esférico 
Comp Graf – Cena3D 
Cena: É uma região do espaço 3D que pode
conter as seguintes entidades:
 Objetos 3D
 Luzes
 Câmera
Comp Graf – Objeto3D
Definição: É tudo que pode ser visto na cena (paredes, cadeiras, livros, etc.)
Propriedades:
 Formato – descreve a superfície de contorno do objeto. Pode ser
construída com diversos formatos básicos ou primitivos (por ex: esfera,
cone, cubo, cilindro, etc.)
 Tamanho – descreve as dimensões que caracterizam a grandeza e a
pequenez do objeto, por exemplo: largura, altura e profundidade
 Superfície – descreve a rugosidade, aspereza e suavidade da superfície
de contorno do objeto, que influencia a sua interação com a luz. Por
exemplo: metálica, plástica, espelhada, vítrea, emborrachada, etc.
 Textura – descreve como um padrão de cores é distribuído na superfície. É
uma grade bidimensional de valores de cor. Geralmente são fornecidas de
arquivos bitmap. Por exemplo: mármore, madeira, areia, pedra, creme,
água, etc.
 Posicionamento – informa a localização e atitude (orientação, direção para
onde está apontando) do objeto no espaço da cena
Comp Graf – Luzes
Definição: São objetos especiais que não apresentam as propriedades: formato,
tamanho e superfície. Portanto, não são visíveis na cena, embora seus efeitos
o sejam.
 Iluminam os objetos da cena, podendo alterar suas cores
 Uma única cena pode conter várias luzes.
 Projetam sombras e criam partes de destaque nos objetos através de
brilhos.
Propriedades:
 Posicionamento – informa a localização e atitude da luz no espaço da cena
 Textura – informa a cor que está sendo irradiada
 Tipo – categoriza a luz segundo uma das alternativas:
 Luz Ambiente – é a mais simples. Não possui localização. Ilumina todos
os objetos com a mesma intensidade
 Luz Pontual (omni-direcional)– emite luz a partir de um ponto (sua
localização) em todas as direções (não possui uma atitude ou orientação
específica)
 Luz Direcional – possui orientação, mas não possui localização. Seus
raios são paralelos entre si.
 Luz Spot – possui orientação e localização. Produz luz na forma de um
cone (determinado pelos ângulos de iluminação máxima – umbra - e
periférica - penumbra)
Comp Graf – Câmera ou Observador
 Um sistema de aplicação 3D deverá ler o arquivo de cena e criar uma
imagem bidimensional da informação tridimensional fornecida.
 Esta imagem é como uma fotografia da cena, logo precisa do
posicionamento de uma câmera.
 A câmera é um tipo especial de objeto que só possui a propriedade
posicionamento (localização e atitude no espaço).
 É usada para visualizar a cena, mas não é visível na cena.
 É uma analogia prática com uma máquina fotográfica, substitui o observador.
 Só pode ser uma única.
Z
X
Y
xObj zObj
yObj
Câmera
Objeto
Comp Graf – Cena3D Conceitos
Conceitos
 Centro do Objeto - É o ponto eqüidistante dos extremos do objeto.
 Eixo do Objeto - É uma reta que parte do centro do objeto,
segundo a direção do maior comprimento do objeto.
 Pivot – Centro de coordenadas do objeto, em referência a algum
ponto do objeto
Comp Graf – Cena3D Conceitos
 Formatos Primitivos - Observa-se na natureza a repetição do
formato de certos tipos de objetos:
Bola de futebol
Sol
Lua
Bolha de sabão
Balão de aniversário
Coisa Comum:
Esfera
Caneta
Chaminé
Foguete
Poste
Cigarro
Coisa Comum:
Cilindro
Megafone
Funil
Chapéu chinês
Coisa Comum:
Cone
Pneu
Rosca
Argola
Anel
Coisa Comum:
Toróide
Edifício
Armário
Caixa de sapato
Microcomputador
Maço de cigarros
Coisa Comum:
Paralelepípedo
 Formatos Derivados - Quando aproximados por superfícies planas
os formatos primitivos geram objetos facetados como os prismas,
as pirâmides e os poliedros
Cone Pirâmide
Cilindro Prisma
Comp Graf – Cena3D Conceitos
Comp Graf – Posicionamento no Espaço 3D
 Para definir o posicionamento no espaço 3D de forma completa é
necessário definir os atributos de localização e atitude.
 Localização – informa a região do espaço onde está o objeto, através das
coordenadas cartesianas do seu centro.
 Atitude - informa qual é a disposição do objeto em uma dada localidade
através das coordenadas esféricas de um eixo do objeto.
Os dois objetos 
possuem a mesma 
localização, mas estão 
em atitudes diferentes
Comp Graf – Cena3D
Objetos Primitivos: São objetos 3D com formato primitivo, tamanho predefinido, 
posicionado em uma determinada localidade e com uma certa atitude
Definições:
 Tamanho do Objeto Primitivo = unitário  largura = altura = profundidade = 1
 Localidade do Objeto Primitivo = Origem
 Atitude do Objeto Primitivo = ortogonal (perpendicular) aos eixos cartesianos
 Formatos do Objeto Primitivo: cubo e formatos derivados de esfera, cilindro,
cone, etc.
Comp Graf – Cena3D
Regra de Posicionamento de Objetos 3D(operações elementares)
Pode-se posicionar um objeto 3D a partir de um objeto primitivo aplicando-se: Distorções - são transformações de escala para levar um objeto primitivo à
um tamanho igual ao do objeto 3D
Objeto primitivo (posição pré-
definida)
Aumento de escala
Comp Graf - Cena3D
 Deslocamentos - são transformações por movimento de translação que
levam um objeto primitivo a ocupar a mesma localidade do objeto 3D.
Deslocamento
 Orientações - são transformações por movimento de rotação que levam 
um objeto primitivo à mesma atitude do objeto 3D
Rotação 
Comp Graf - Cena3D
Observações:
Como o tamanho do objeto primitivo é unitário:
Distorção(objeto Primitivo) = Tamanho(objeto 3D)
Como o objeto primitivo está centrado na origem:
Deslocamento(objeto Primitivo) = Localização(objeto 3D)
Como a atitude do objeto primitivo é ortogonal aos eixos:
Orientação(objeto Primitivo) = Atitude(objeto 3D)
Conclusão:
Pode-se construir qualquer objeto 3D à partir dos objetos primitivos do sistema,
informando-se:
 Distorção por escala: kx, ky, kz
 Orientação: yaw, roll, pitch
 Deslocamento: x, y, z
Posicionamento(objeto 3D) = Orientação (Deslocamento(Distorção(Objeto Primitivo))) 
Mudança de Escala
Movimento de Translação
Movimento de Rotação
 Este capítulo descreve como trabalhar em 3D usando OpenGL. As 
bibliotecas GLU e GLUT possuem uma série de funções para desenhar 
primitivas 3D, tais como esferas, cones, cilindros e “teapot”. 
 Em 3D se assume que o processo utilizado para visualizar uma 
determinada cena é análogo a tirar uma fotografia com uma máquina 
fotográfica, o que inclui, segundo [Woo 1999], os seguintes passos: 
Arrumar o tripé e posicionar a câmera para fotografar a cena - equivalente a 
especificar as transformações de visualização (veja a função gluLookAt); 
Arrumar a cena para ser fotografada, incluindo ou excluindo objetos/pessoas 
- equivalente à etapa de modelagem (inclui as tranformações geométricas, 
glTranslatef, glScalef, glRotatef, e o desenho dos objetos); 
Escolher a lente da câmera ou ajustar o zoom - equivalente a especificar as 
transformações de projeção (veja a função gluPerspective); 
Determinar o tamanho final da foto (maior ou menor) - equivalente a 
especificar a viewport (funções glViewport e ChangeSize). 
OpenGL – Ambiente 3D
Exemplo: gluLookAt (0, 80, 200, 0, 0, 0, 0, 1, 0);
 Função que define a transformação de visualização. Através dos seus 
argumentos é possível indicar a posição da câmera e para onde ela 
está direcionada. 
 Protótipo: void gluLookAt( GLdouble eyex, GLdouble eyey, GLdouble 
eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, 
GLdouble upx, GLdouble upy, GLdouble upz );
 Descrição dos parâmetros: eyex, eyey e eyez são usados para definir 
as coordenadas x, y e z, respectivamente, da posição da câmera (ou 
observador); centerx, centery e centerz são usados para definir as 
coordenadas x, y e z, respectivamente, da posição do alvo, isto é, para 
onde o observador está olhando (normalmente, o centro da cena); upx, 
upy e upz são as coordenadas x, y e z, que estabelecem o vetor up
(indica o "lado de cima" de uma cena 3D). 
OpenGL – Ambiente 3D
Exemplo: gluPerspective (angle, aspect, 0.1, 500);
 Função que estabelece os parâmetros da Projeção Perspectiva, 
atualizando a matriz de projeção perspectiva. 
 Protótipo: void gluPerspective( GLdouble angle, GLdouble aspect, 
GLdouble zNear, GLdouble zFar );
 Descrição dos parâmetros: “angle” é o ângulo, em graus, na direção y 
(usada para determinar a altura do volume de visualização); “aspect” é 
a razão de aspecto que determina a área de visualização na direção x, 
e seu valor é a razão em x (largura) e y (altura); “zNear”, que sempre 
deve ter um valor positivo maior do que zero, é a distância do 
observador até o plano de corte mais próximo (em z); “zFar”, que 
também sempre tem um valor positivo maior do que zero, é a distância 
do observador até o plano de corte mais afastado (em z). Esta função 
sempre deve ser definida ANTES da função gluLookAt, e no modo 
GL_PROJECTION. 
OpenGL – Ambiente 3D
• Funções para desenhar objetos 3D (GLUT): 
- void glutWireCube(GLdouble size);
- void glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
- void glutWireCone(GLdouble radius, GLdouble height, GLint slices, 
GLint stacks);
- void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, 
GLint nsides, GLint rings);
- void glutWireIcosahedron(void);
- void glutWireOctahedron(void);
- void glutWireTetrahedron(void);
- void glutWireDodecahedron(GLdouble radius);
- void glutWireTeapot(GLdoouble size);
OpenGL – Ambiente 3D
OpenGL – Ambiente 3D
Exemplo: glutWireTeapot (50.0f);
• Função usada para desenhar o wire-frame de um “teapot” ( bule de chá). 
• Protótipo: glutWireTeapot(GLdoouble size);
• Descrição: o parâmetro size indica um raio aproximado do teapot. Uma 
esfera com este raio irá "envolver" totalmente o modelo. 
 Os parâmetros slices e stacks que aparecem no protótipo de algumas 
funções, significam, respectivamente, o número de subdivisões em 
torno do eixo z (como se fossem linhas longitudinais) e o número de 
subdivisões ao longo do eixo z (como se fossem linhas latitudinais). 
 Já rings e nsides correspondem, respectivamente, ao número de 
seções que serão usadas para formar o torus, e ao número de 
subdivisões para cada seção. 
void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings);
OpenGL – Ambiente 3D
Torus (rings=20, nsides=20)Torus (rings=6, nsides=20)

Continue navegando