Visão Tridimensional
Márcio Sarroglia Pinho http://www.inf.pucrs.br
Faculdade de Informática da PUCRS Grupo de Realidade Virtual
http://grv.inf.pucrs.br
Realidade Virtual
Formação da Visão 3D
w Informações Visuais Mono-oculares w Informações Visuais Oculo-motoras w Informações Visuais Estereoscópicas w Parallax de Movimento
Formação da Visão 3D
w Informações Visuais Mono-oculares w Perspectiva Linear w Oclusão w Variação de Texturas w Atenuação Atmosférica w Variação da reflexão da luz w Tamanho e conhecimento prévio do objeto
Formação da Visão 3D
w Perspectiva Linear w Objetos distantes
aparecem menores w (X3, Y3, Z3)
w X2 = X3/Z3 w Y2 = Y3/Z3
Formação da Visão 3D
w Perspectiva Linear
Formação da Visão 3D
w Interposição ou oclusão w Produz os conceitos de
“atrás” e “na frente”
w Variação de texturas w Texturas próximas
aparecem melhor definidas
Formação da Visão 3D
Sombras w Facilitam a determinação das posições
relativas do objetos
Formação da Visão 3D
w Atenuação atmosférica w Tamanho e conhecimento prévio do objeto w Variação da reflexão da luz
Formação da Visão 3D
w Informações Visuais Oculo-motoras w Acomodação
w Mudança do formato das lentes - foco
w Vergência w Ângulo de giro dos olhos w Objetos distantes – ângulo grande w Objetos próximos – ângulo pequeno
Formação da Visão 3D
w Informações Visuais Estereoscópicas
Imagem Olho Esquerdo
Imagem Olho Direito
Imagem Olho Esquerdo
Imagem Olho Direito
Formação da Visão 3D
Tela
Tela
Imagem OE
Imagem OD
Imagem formada no cérebro
Imagem OE
Imagem OD
Imagem formada no cérebro
Formação da Visão 3D
w Parallax de Movimento w Objetos mais próximos movem-se mais rápido w Muito útil nos casos onde o observador move a
cabeça
Dispositivos de Geração de Imagens 3D
Polarização Passiva
Dispositivos de Geração de Imagens 3D
w Polarização Passiva - Dois Projetores w Precisa de alinhamento dos projetores w Óculos sem bateria
Dispositivos de Geração de Imagens 3D
w Stereo Glasses/Shutter Glasses w Usa um monitor convencional w Exibe a cada instante a imagem para um dos
olhos w Exibe imagem do olho ESQUERDO bloqueia o olho
DIREITO w Exibe imagem do olho DIREITO bloqueia o olho
ESQUERDO
Dispositivos de Geração de Imagens 3D
w Stereo Glasses / Shutter Glasses w Precisa de sincronismo w Óculos com bateria w 1 projetor
Dispositivos de Geração de Imagens 3D
w Stereo Glasses / Shutter Glasses w Várias pessoas podem observar a mesma imagem w O software gasta mais tempo pois tem que gerar 2
imagens diferentes a cada quadro w Óculos de Cristal Líquido w Necessita de hardware de sincronismo
Dispositivos de Geração de Imagens 3D
w Polarização Ativa – no projetor w 1 Projetor w Óculos sem bateria
Dispositivos de Geração de Imagens 3D
w Polarização Ativa w RealD – Cinemas – No projetor w Samsung – no óculos w LG – na tela
Dispositivos de Geração de Imagens 3D
w Surround-Screen Project-Based
w Cave, Rave
Dispositivos de Geração de Imagens 3D
Anáglifos Entrelaçado
Dispositivos de Geração de Imagens 3D
w Capacetes de RV w HMD - Head Mounted Display w Duas telas, uma para cada olho w Comuns em laboratórios de pesquisa e em
ambientes de jogos
Oculus Rift Iglasses Sony Morpheus
Dispositivos de Geração de Imagens 3D
Google Cardboard Durovis Dive
R$ 200,00
FOV2GO Viewer Google Daydream View
http://vr.google.com/
Dispositivos de Geração de Imagens 3D
Monitor Auto-Estéreo – Lenticular Sem Óculos
Requer o correto posicionamento do observador
Dispositivos de Geração de Imagens 3D
Permite mais de um observador
Monitor Auto-Estéreo – Lenticular Sem Óculos
3dfusion.com
FIM
Dispositivos de Geração de Imagens 3D
w Exibição em múltiplas telas
Geração da Imagem em Estéreo
Zelle, 2004
Geração da Imagem em Estéreo
Geração da Imagem em Estéreo
Cálculo do View Frustum
Cálculo do View Frustum
Divisão do View Frustum
Divisão do View Frustum
Near = 1; // definido na aplicação Far = 100; // definido na aplicação
// Calcula os limites horizontais do View Frustum Left = -Near * tan(ViewAngleRad/2); Right = Near * tan(ViewAngleRad/2);
// Calcula os limites verticais do View Frustum
Bottom = -Near * tan(ViewAngleRad/2); Top = Near * tan(ViewAngleRad/2);
// Calcula a largura e a altura de cada janela
TileWidth = (Right - Left)/3; TileHeight = (Top - Bottom)/2;
// Seta o Frustum de cada janela
if (glutGetWindow()==jan1)// Inferior Esquerda glFrustum(Left, Left+TileWidth,
Bottom, Bottom+TileHeight, Near, Far);
Top Related