visualizador 3d baseado em head tracking e estereoscopia ... · figura 22 - sistemas de coordenadas...

124
UNIVERSIDADE DE SÃO PAULO ESCOLA POLITÉCNICA LUIZ ANTONIO CUSTÓDIO MANGANELLI JUNQUEIRA Visualizador 3D baseado em head tracking e estereoscopia para aplicações com o método dos elementos finitos São Paulo 2014

Upload: buihuong

Post on 15-Dec-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

UNIVERSIDADE DE SÃO PAULO

ESCOLA POLITÉCNICA

LUIZ ANTONIO CUSTÓDIO MANGANELLI JUNQUEIRA

Visualizador 3D baseado em head tracking e estereoscopia para

aplicações com o método dos elementos finitos

São Paulo 2014

Page 2: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

LUIZ ANTONIO CUSTÓDIO MANGANELLI JUNQUEIRA

Visualizador 3D baseado em head tracking e estereoscopia para

aplicações com o método dos elementos finitos

São Paulo 2014

Tese de Doutorado apresentada à Escola Politécnica da Universidade de São Paulo para a obtenção do título de Doutor em Ciências.

Page 3: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

LUIZ ANTONIO CUSTÓDIO MANGANELLI JUNQUEIRA

Visualizador 3D baseado em head tracking e estereoscopia para

aplicações com o método dos elementos finitos

São Paulo 2014

Tese de Doutorado apresentada à Escola Politécnica da Universidade de São Paulo para a obtenção do título de Doutor em Ciências. Área de concentração: Engenharia Elétrica - Sistemas de Potência Orientador: Prof. Dr. Silvio Ikuyo Nabeta

Page 4: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

À minha filha Sophia, com muito amor.

Page 5: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

AGRADECIMENTOS Ao Prof. Dr. Silvio Ikuyo Nabeta, pela oportunidade da realização deste trabalho. Ao Mestre Marcelo Grinberg, pela sua colaboração na edição dos textos em inglês. Ao Dr. César Alberto Bravo Pariente, pelo intercâmbio de conhecimentos de computação. Ao José Roberto Pascon Junior, pelo seu auxílio no uso do Maxwell 3D.

Page 6: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

Resumo

A visualização 3D de simulações pelo Método dos Elementos Finitos (MEF) ainda é

uma experiência limitada em função da falta de realismo 3D nos monitores

disponíveis. Além do monitor 3D realista, a melhor visualização destas simulações

depende de uma apresentação MEF desenvolvida adequadamente, de forma a tirar

maior proveito deste realismo 3D.

Neste trabalho, é realizado o desenvolvimento de um visualizador MEF 3D, que

reproduz os efeitos estereoscópicos e de rastreamento de cabeça (head-tracking),

explorando melhor as percepções de profundidade com hardware acessível e

bibliotecas gráficas utilizadas em aplicações convencionais.

Palavras-chave: Visualização 3D, Método dos Elementos Finitos, Estereoscopia,

Rastreamento de Cabeça.

Page 7: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

Abstract

The 3D visualization of Finite Element Method (FEM) simulations is still a limited

experience due to the lack of realism of 3D monitors available. In addition to the

realistic 3D monitor, better visualization of these simulations depends on a MEF

presentation properly developed in order to get the most out of 3D realism.

In this work, a 3D MEF viewer is develop, including stereoscopy and head tracking 3D

effects, that better explores human depth cues using hardware from cost and benefit

perspective and graphics libraries used in conventional applications.

Key-Words: 3D Visualization, Finite Element Method, Stereoscopy, Head-Tracking.

Page 8: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

LISTA DE FIGURAS

Figura 1 - Resposta Relativa dos cones tipos R , G e B em função do comprimento de

onda da luz visível ......................................................................................

5

Figura 2 - Sensibilidade dos receptores decodificados de cores r , g e b ................... 5

Figura 3 - Combinação aditiva de cores.......................................................................... 6

Figura 4 - Combinação subtrativa de cores .................................................................... 7

Figura 5 - Modelo simplificado do olho ........................................................................... 7

Figura 6 - Equivalência entre a visualização de um objeto e a visualização da

perspectiva deste objeto .................................................................................

8

Figura 7 - Princípio da Perspectiva Cônica....................................................................... 9

Figura 8 - Ponto imagem obtido com uma lente convergente ........................................ 10

Figura 9 - Determinação do ponto imagem a partir do centro e do foco da lente ............ 10

Figura 10 - Obtenção da imagem de objeto em uma lente convergente............................ 11

Figura 11 - Imagem nítida na projeção com lente convergente.......................................... 11

Figura 12 - Imagem desfocada na projeção com lente convergente.................................. 12

Figura 13 - Posição do ponto de vista do olho presumida.................................................. 12

Figura 14 - Diferentes cenários que produzem a mesma projeção no fundo do olho........ 17

Figura 15 - Determinação das dimensões e do posicionamento de uma imagem a partir

de duas perspectivas cônicas .........................................................................

17

Figura 16 - Reprodução do efeito Head-Tracking, em monitor 2D..................................... 19

Figura 17 - Princípio da computação gráfica 3D................................................................. 21

Figura 18 - Campos de Visão horizontal e vertical ........................................................... 22

Figura 19 - Dimensões do porto de visualização................................................................ 22

Figura 20 - Planos de corte Frontal e Traseiro................................................................... 23

Figura 21 - Volume de Visualização (Viewing Frustum) ................................................... 23

Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita

...............................................................................................................

24

Figura 23 - Sistema Referencial Vista ............................................................................... 25

Figura 24 - Padronização das coordenadas dos vértices do volume de visualização no

sistema referencial de projeção........................................................................

26

Figura 25 - Sistema referencial to obtido pela translação da origem do sistema referencial

from para as coordenadas toofromx ,

toofrom y e toofrom y ..............

29

Figura 26 - Vistas superior e lateral de uma projeção no plano......................................... 30

Figura 27 - Exemplo de óculos Anaglifo............................................................................. 37

Figura 28 - Estereoscopia com filtro de polarização linear usando dois projetores........... 37

Figura 29 - Princípio do INFITEC....................................................................................... 38

Figura 30 - Exemplo de óculos INFITEC............................................................................ 38

Page 9: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

Figura 31 - Princípio de funcionamento do LCD Shutter.................................................... 39

Figura 32 - Exemplo de óculos com visores embutidos..................................................... 39

Figura 33 - Barreira de paralaxe e cadeia de lentes........................................................... 40

Figura 34 - Janela de visualização fixa............................................................................... 41

Figura 35 - Rastreamento de Cabeça................................................................................. 41

Figura 36 - Auto estereoscopia com Múltiplas Vistas......................................................... 42

Figura 37 - Monitor 3D Volumétrico com espelho e projetor.............................................. 43

Figura 38 - Monitor 3D Volumétrico com multicamadas de LCD........................................ 43

Figura 39 - Monitor 3D Volumétrico com bolhas de plasma produzida com pulso de

laser..................................................................................................................

44

Figura 40 - Captura e reprodução de imagem Holográfica................................................. 44

Figura 41 - Correlação entre o espaço Real e o espaço virtual.......................................... 47

Figura 42 - Dimensões do Monitor...................................................................................... 47

Figura 43 - Volume de Visualização na abordagem proposta............................................ 48

Figura 44 - Sistema Referencial Vista`............................................................................... 49

Figura 45 - Sistema Referencial Real................................................................................. 49

Figura 46 - Posição dos planos de projeção Proj e de corte Frontal e Traseiro na

abordagem proposta........................................................................................

50

Figura 47 - Reprodução Básica.......................................................................................... 59

Figura 48 - Reprodução com o Efeito 3D .......................................................................... 59

Figura 49 - Camadas Lógicas da Computação Gráfica da plataforma Windows............... 60

Figura 50 - Componentes do Rastreador de Cabeça ........................................................ 61

Figura 51 - Sistemas Referenciais de Projeção da Câmera; da Câmera; da Cabeça e

Real..................................................................................................................

62

Figura 52 - Sistema Referencial Vista` .............................................................................. 63

Figura 53 - Condição simplificadora que limita o posicionamento da cabeça em quatro

graus de liberdade............................................................................................

64

Figura 54 - Condição simplificadora que restringe o posicionamento da câmera.............. 65

Figura 55 - Captura de dois pontos dos óculos a partir de uma câmera............................ 65

Figura 56 - Condição simplificadora que define a posição dos pontos referência nos

óculos...............................................................................................................

66

Figura 57 - Posição da Cabeça.......................................................................................... 66

Figura 58 - Sistema Referencial de Projeção da Câmera.................................................. 67

Figura 59 - Vetor Direita Dirvr

............................................................................................. 68

Figura 60 - Variável Separação ......................................................................................... 73

Figura 61 - Coordenadas vertical e de profundidade da que passa pelo ponto de vista dos

dois olhos no sistema referencial da Cabeça...........................................

73

Figura 62 - Configuração Ideal para o Efeito 3D................................................................ 82

Figura 63 - Câmera IR com LEDs IR e conexão USB........................................................ 87

Page 10: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

Figura 64 - TrackClip (haste com refletores infravermelhos).............................................. 87

Figura 65 - TrackClip fixado no boné.................................................................................. 87

Figura 66 - Configuração de hardware utilizada como rastreador de cabeça.................... 88

Figura 67 - LED infravermelho 850 nm 3W........................................................................ 88

Figura 68 - Refletor infravermelho retirado da haste do TrackIR 5 .................................... 88

Figura 69 - Cenário do StateManager................................................................................ 90

Figura 70 - Kit NVIDIA 3D Vision ....................................................................................... 91

Figura 71 - Requisitos de Hardware na computação gráfica 3D com padrão HDMI ......... 92

Figura 72 - Cubo visualizado no StereoSimpleDirect3D ..................................................... 93

Figura 73 - Imagem em mapa de bits usada para definir a textura da face do cubo ......... 93

Figura 74 - Foto da reprodução do efeito 3D composto com o par de óculos inclinado.... 94

Figura 75 - Visualização do arquivo no formato VRML exportado pelo Maxwell 3D.......... 95

Figura 76 - Cubo colorido, com a coloração representando intensidade de campo na

superfície do cubo............................................................................................

96

Figura 77 - Listagem do CUBE.MEF3D no formato MEF 3D com a definição do cubo

colorido............................................................................................................

97

Figura 78 - Listagem com a definição de uma linha de campo fechada no formato

MEF3D.............................................................................................................

98

Figura 79 - Reprodução da linha de campo em perspectiva e em estereoscopia............. 99

Figura 80 - Linha de campo definida com mais segmentos, reproduzida em diferentes

perspectivas ....................................................................................................

99

Figura 81 - Vistas frontal, lateral e superior em perspectiva do eletroímã simulado no

Maxwell 3D......................................................................................................

100

Figura 82 - Imagem em perspectiva de campo superficial apresentada pelo Visualizador

MEF 3D a partir de uma simulação magnetostática do eletroímã....................

101

Page 11: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

LISTA DE ABREVIATURAS E SIGLAS

3D Tridimensional

ACIS Alan, Charles and Ian`s System

API Advanced programming interface

CATIA Computer Aided Three-Dimensional Interative Application

CG Computação Gráfica

CIE Commission Internationale de l`Éclairage

DVI Digital Video Interface

FEM Finite Element Method

HAL Hardware Abstract Layer

HDMI High-Definition Multimedia Interface

HEL Hardware Emulation Layer

IGES Initial Graphics Exchange Specification

IR Infrared

ISO International Standards Organization

LCD Liquid crystal display

LED Light emitter diode

MEF Método dos Elementos Finitos

MSDN Microsoft Developer Network

MUTED Multi-user Television Display

nm Nano metro

RA Realidade Aumentada

RV Realidade Virtual

SDK Software Development Kit

SLM Spatial light modulators

STEP STandart for the Exchange of Product

VRML Virtual Reality Modeling Language

WDDM Windows Display Driver Model

Page 12: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

LISTA DE SÍMBOLOS

Vw Largura do Porto de Visualização

Vh Altura do Porto de Visualização

Aspecto Aspecto do Porto de Visualização

Dw Largura do Monitor

Dh Altura do Monitor

`Aspecto Aspecto do Monitor

n Distância do Plano de Corte Near ao ponto de vista da perspectiva

f Distância do Plano de Corte Far ao ponto de vista da perspectiva

ojdPr Distância do Plano de projeção ao ponto de vista da perspectiva

hφ Campo de visão horizontal da câmera

vφ Campo de visão vertical da câmera

ObjSR p Posição do objeto Obj , no sistema referencial SR

ObjOrSRc Coordenada c ( x , y ou z ) do objeto Obj , no sistema referencial SR com

orientação de mão Or

ObjBGSRc Coordenada c ( x , y ou z ) do objeto Obj , no sistema referencial SR para

a biblioteca gráfica BG

VetorSRvr

Vetor Vetor, no sistema referencial SR

vVetorOrSRc Componente c ( x , y ou z ) do vetor Vetor no sistema referencial SR com

orientação de mão Or

VersorSRnr

Versor Versor, no sistema referencial SR

nVersorOrSRc Componente c ( x , y ou z ) do versor Versor no sistema referencial SR

com orientação de mão Or

SROrM Matriz que transforma as coordenadas para o sistema referencial SR com

orientação de mão Or

SRBGM Matriz que transforma as coordenadas para o sistema referencial SR com

para a biblioteca gráfica BG

v̀ Variável substituta: calculada para reproduzir o efeito 3D e substituir a variável

original v , calculada para reproduzir uma perspectiva 2D

`SR Sistema Referencial no contexto do efeito 3D correspondente ao sistema

referencial SR no contexto sem o efeito 3D

s Relação de escala entre o espaço virtual e o espaço real.

Page 13: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

Índice de Sistema Referencial SR

Sistema Referencial Índice Sistema Referencial do qual é feita uma transformação de Sistema Referencial para o qual é feita uma transformação para Local Local Global World De Visualização Vista De Projeção Simples P De Projeção Genérica PG De Projeção Proj Real Real Projeção da câmera do Rastreador de Cabeça Prj 3D Da Câmera do Rastreador de Cabeça Cam Da Cabeça Cabeça

Índice de Objetos Obj

Objeto Abreviação Câmera cam Olho do Observador Olho Linha dos olhos do observador Olhos Olho do Observador Direito od Olho do Observador Esquerdo oe Plano de Projeção Proj Porto de Visualização V Monitor D Cabeça do Observador Cabeça Ponto Referência Direito Dir Ponto Referência Esquerdo Esq

Índice de Vetores Vetor

Vetor Abreviação Vetor que aponta para o lado direito da cabeça Dir

Índice de Versores Versor

Versor Abreviação Versor que aponta para a direção superior da cabeça Sup Versor que aponta para a direção frontal da cabeça Frente Versor que aponta para o lado direito da cabeça Dir

Page 14: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

Índice de Orientação de Sistema Referencial Or

Orientação de Sistema Referencial Índice Orientação de mão direita md Orientação de Mão esquerda me

Índice de Biblioteca Gráfica BG

Biblioteca Gráfica Índice DirectX DirectX DirectX 11 DirectX11 OpenGL OpenGL

Page 15: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

SUMÁRIO

1 INTRODUÇÃO …………………………………………………………. 1 1.1 OBJETIVO ....................................................................................... 1 1.2 MOTIVAÇÃO .................................................................................... 2 1.3 METODOLOGIA .............................................................................. 2 1.4 CONTRIBUIÇÃO .............................................................................. 2 1.5 ORGANIZAÇÃO DO TEXTO .......................................................... 3 2 CONCEITOS BÁSICOS ………………………………………………. 4 2.1 FUNCIONAMENTO DO OLHO ……………....……....………………. 4 2.2 PERCEPÇÃO DE COR .................................................................... 5 2.3 PERSPECTIVA ................................................................................ 7 2.4 PONTO DE VISTA DO OLHO ......................................................... 9 2.5 PERCEPÇÕES DE PROFUNDIDADE ............................................ 13 2.6 EFEITOS INDESEJÁVEIS NA REPRODUÇÃO 3D ......................... 15 2.7 EFEITO ESTEREOSCÓPICO ......................................................... 17 2.8 EFEITO HEAD-TRACKING ............................................................. 18 2.9 COMPUTAÇÃO GRÁFICA 3D ......................................................... 19 3 Estado da Arte dos Monitores 3D ................................................. 36 3.1 MONITORES ESTEREOSCÓPICOS .............................................. 36 3.2 MONITORES AUTO ESTEREOSCÓPICOS ................................... 40 3.3 MONITORES VOLUMÉTRICOS ...................................................... 42 4 MODELAGEM DO EFEITO 3D COMPOSTO .................................. 46 4.1 ABORDAGEM PROPOSTA PARA A COMPUTAÇÃO GRÁFICA ... 46 4.2 SISTEMAS REFERENCIAIS DA CG 3D NA ABORDAGEM

PROPOSTA .....................................................................................

48 4.3 POSICIONAMENTO DOS PLANOS DE CORTE ............................ 50 4.4 MATRIZES TRANSFORMAÇÃO DA CG 3D NA ABORDAGEM

PROPOSTA .....................................................................................

51 4.5 VARIÁVEIS EXTRAÍDAS DA MATRIZ PROJEÇÃO ORIGINAL ..... 56 5 PROJETO ........................................................................................ 58 5.1 EFEITO 3D COMPOSTO ................................................................. 58 5.2 APRESENTAÇÃO MEF VOLTADA PARA O EFEITO 3D ............... 83 6 PARTE PRÁTICA – IMPLEMENTAÇÃO ......................................... 86 6.1 HARDWARE DO RASTREADOR DE CABEÇA .............................. 87 6.2 IMPLEMENTAÇÃO DO EFEITO HEAD-TRACKING ....................... 89 6.3 COMBINANDO A ESTEREOSCOPIA AO EFEITO HEAD-

TRACKING .......................................................................................

91 6.4 FORMATOS GRÁFICOS 3D DE ARQUIVOS .................................. 94 6.5 OBTENÇÃO DE ARQUIVO MEF3D DE UMA SIMULAÇÃO MEF .. 100 CONCLUSÃO ................................................................................ 102 PERSPECTIVAS FUTURAS ........................................................... 104 REFERÊNCIAS ............................................................................... 105

Page 16: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema
Page 17: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

1

Capítulo 1

INTRODUÇÃO

As apresentações de simulações pelo método dos elementos finitos ainda

deixam a desejar. Este trabalho propõe explorar a Realidade Virtual (RV) na melhora

destas apresentações.

A Realidade Virtual é ainda uma promessa, que depende do avanço

tecnológico. O maior realismo nas interfaces RV vem aparecendo com o

aperfeiçoamento dos monitores 3D, sensores e atuadores. Os monitores 3D oferecem

um grau de liberdade a mais na representação de informações gráficas e os sensores

de movimento oferecem interação amigável e flexível do homem com o cenário virtual.

Provavelmente, quando os monitores 3D mais realista se tornarem acessíveis, as

aplicações terão sua apresentação aperfeiçoada para tirar maior proveito deste grau

de liberdade a mais em representação gráfica.

Este trabalho inicia o desenvolvimento de um visualizador MEF 3D, que explora as

representações gráficas de campos mais adequadas à visualização 3D realista e

oferece uma interação de usuário mais amigável e flexível.

Para emular um monitor 3D realista, é implementado no visualizador MEF um efeito

3D, que explora melhor as percepções humanas de profundidade, combinando o

efeito estereoscópico ao efeito Head-Tracking (rastreamento de cabeça). Na

reprodução deste efeito 3D são utilizados hardware de melhor custo benefício e

bibliotecas gráficas mais difundidas. Este efeito é devidamente modelado, é proposta

uma solução ideal factível e um protótipo com tecnologia disponível é implementado

para a prova de conceito.

1.1. OBJETIVO

O objetivo deste trabalho consiste no aperfeiçoamento da apresentação em

aplicações MEF, com a exploração de técnicas de imersão, oferecendo visualização

mais intuitiva de fenômenos físicos e interação de usuário mais amigável e flexível.

Page 18: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

2

1.2. MOTIVAÇÃO

As interfaces de usuários das aplicações MEF existentes ainda deixam a

desejar.

Presencia-se um momento histórico de revolução tecnológica como: o advento

do padrão digital de imagens; uma grande disponibilização no mercado de monitores

3D estereoscópicos de alta definição; o aparecimento de placas aceleradoras de

vídeo com poder de processamento extraordinário e o surgimento de todo um aparato

tecnológico que permite a interação 3D do usuário com o computador. Esta revolução

tecnológica abre um grande campo a ser explorado e aplicado às interfaces com o

usuário.

Em sumo, a necessidade de uma melhor interface de usuário para aplicações

MEF e a viabilização de seu aprimoramento com a disponibilização dos novos

recursos tecnológicos, motivaram o desenvolvimento deste trabalho.

1.3. METODOLOGIA

Este trabalho consiste no projeto de um visualizador MEF 3D, utilizando

hardware de melhor custo benefício e bibliotecas gráficas padrão de indústria.

No visualizador MEF 3D, a apresentação MEF 3D e o efeito 3D são tratados

isoladamente. Para a apresentação MEF 3D são propostas representações gráficas

de campos e especificada a interface de interação com usuário. A modelagem do

efeito 3D exige um bom embasamento, demandando pesquisa e trabalho dedutivo.

Para a prova de conceito, é implementado um protótipo.

1.4. CONTRIBUIÇÃO

Este projeto de visualizador MEF 3D é o ponto de partida para o

desenvolvimento de uma interface de Realidade Virtual para aplicações MEF, em que

o usuário poderá interagir com espaço virtual de forma amigável e flexível.

Page 19: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

3

Com base em uma abordagem proposta dos conceitos da computação gráfica

3D, é apresentado um equacionamento do efeito 3D.

Uma arquitetura idealizada para a reprodução do efeito 3D é proposta. Essa

disponibiliza o efeito 3D a qualquer aplicação gráfica 3D em que o processo de

renderização é delegado ao hardware.

1.5. ORGANIZAÇÃO DO TEXTO

O Capítulo 2 apresenta os conceitos básicos envolvidos no desenvolvimento do

trabalho.

O Capítulo 3 apresenta o estado da arte dos monitores 3D.

O Capítulo 4 apresenta uma modelagem do efeito 3D, com o equacionamento

embasado em uma abordagem proposta para a computação gráfica 3D.

O Capítulo 5 apresenta o projeto do visualizador MEF 3D, composto pelo efeito

3D e pela apresentação MEF 3D. Para o efeito 3D, o rastreador de cabeça é

caracterizado como componente de hardware e a reprodução do efeito 3D como uma

camada de software. São apresentadas uma arquitetura idealizada factível e outra

viável no protótipo. Para a apresentação MEF 3D, são propostas as possibilidades de

representação gráfica, identificadas as necessidades de interação com o usuário e

delimitada sua implementação no protótipo.

O Capítulo 6 relata o desenvolvimento do protótipo.

Grande parte dos conceitos envolvidos neste trabalho tem terminologia padrão

em inglês, encontrando-se nenhuma ou diferentes versões em português para o

mesmo conceito. Para cada conceito, é apresentada a termologia em inglês e uma

versão em português livre.

Page 20: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

4

Capítulo 2

CONCEITOS BÁSICOS

A reprodução do efeito 3D projetado está embasada nos conceitos

apresentados neste capítulo: o funcionamento do olho é a parte introdutória exigida na

apresentação dos demais conceitos; a percepção de cores tem sua importância nas

percepções de profundidade; as percepções de profundidade servem como critérios

de avaliação de efeitos 3D; a perspectiva cônica define toda a geometria envolvida; a

compreensão dos efeitos 3D estereoscópicos e Head-Tracking isoladamente permite

compreender o efeito 3D combinado; a teoria das lentes convergentes é fundamental

no entendimento da percepção de profundidade por acomodação e na identificação

do ponto de vista do olho e a Computação Gráfica 3D fornece o meio para se

reproduzir o efeito 3D.

2.1. VISÃO HUMANA

A luz, que entra no olho, passa pela córnea, pelo humor aquoso, atravessa a

pupila, passa pelo cristalino, pelo humor vítreo e se projeta na retina, formando uma

imagem invertida, que sensibiliza os cones e bastonetes, os quais emitem sinais

elétricos, que são transmitidos ao cérebro pelo nervo óptico. A íris controla a abertura

da pupila, regulando a entrada de luz de acordo com a luminosidade ambiente. O

cristalino é a lente responsável pelo foco da visão, cuja distância focal é controlada

pelos músculos ciliares, que ficam relaxados na focalização de objetos remotos e

contraídos na focalização de objetos próximos. O processo de ajuste da distância

focal é denominado acomodação visual. Os bastonetes são responsáveis pela visão

noturna e os cones pela distinção das cores.

Os músculos orbitais movimentam o globo ocular dentro da cavidade ocular,

portanto, o centro de rotação do olho se localiza no centro do globo ocular.

Page 21: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

5

2.2. PERCEPÇAO DE COR

Existem três tipos de cones na retina do olho humano: R , G e B , existindo

outras denominações. O cone tipo R é sensível à luz visível de comprimento de onda

longo, o cone tipo G é sensível à luz de comprimento de onda médio e o cone tipo B

é sensível à luz de comprimento de onda mais curto, conforme ilustrado na Figura 1.

O máximo da sensibilidade de cada tipo de cone corresponde às cores primárias

vermelha (R), verde (G) e azul (B).

Figura 1 – Resposta Relativa dos cones tipos R , G e B em função do comprimento de onda da luz

visível

Fonte: (AZEVEDO, 2003)

Existem diferentes modelos que explicam a sensação de cor, em que os sinais

visuais tri cromáticos enviados pelos cones são decodificados em outros sinais. A

Figura 2 ilustra um modelo de decodificação em receptores r , g e b .

Figura 2 – Sensibilidade dos receptores decodificados de cores r , g e b

Fonte: (JORKE, 2008)

Page 22: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

6

Neste modelo, a sensação de cor é reproduzida de acordo com a proporção

em que estes três receptores decodificados são estimulados. A luz com comprimento

de onda superior a 650 nm sensibiliza significativamente apenas o receptor r ,

proporcionando a sensação de cor vermelha (R); a luz com comprimento de onda

próximo a 530 nm sensibiliza significativamente apenas o receptor g , proporcionando

a sensação de cor verde (G) e; a luz com comprimento de onda próximo a 460 nm

sensibiliza significativamente apenas o receptor b , proporcionando a sensação de cor

azul (B); a sensibilização na mesma proporção dos receptores r e g proporciona a

sensação de cor amarela (Y); a sensibilização na mesma proporção dos receptores g

e b proporciona a sensação de cor ciano (C); a sensibilização na mesma proporção

dos receptores r e b proporciona a sensação de cor magenta (M) e a sensibilização

na mesma proporção dos três receptores proporciona a sensação da cor cinza,

variando do preto (K) ao branco (W) de acordo com a intensidade luminosa.

É possível reproduzir todas as cores sentidas pelo homem pela combinação

das luzes vermelha (R), verde (G) e azul (B), conhecida como combinação aditiva de

cores, ilustrada na Figura 3.

Figura 3 – Combinação aditiva de cores

Fonte: (AZEVEDO, 2008)

A tinta de cor ciano absorve luz que sensibiliza o receptor r , a tinta de cor

magenta absorve luz que sensibiliza o receptor g e a tinta de cor amarela absorve luz

que sensibiliza o receptor b . É possível reproduzir tintas de todas as cores sentidas

pelo homem com a mistura de tintas de cor ciano (C), magenta (M), amarela (Y) e

branca (W), conhecida como combinação subtrativa de cores, ilustrada na Figura 4.

Page 23: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

7

Nas impressoras coloridas, pelo fato da impressão ser feita em papel branco, não se

utiliza tinta de cor branca e, o uso da tinta de cor preta é destinado à redução do

consumo das tintas coloridas.

Figura 4 – Combinação subtrativa de cores

Fonte: (AZEVEDO, 2008)

2.3. PERSPECTIVA

A Figura 5 ilustra um modelo simplificado do olho, no qual, a luz emitida ou

refletida pelo cenário entra no olho por um orifício infinitesimal e projeta na retina,

formando uma imagem invertida, que corresponde a uma perspectiva cônica do

cenário sobre o ponto de vista deste orifício infinitesimal. O ponto de vista da

perspectiva da imagem formada na retina está sendo denominado por ponto de vista

do olho, que para este modelo simplificado, corresponde ao centro da pupila.

Figura 5 – Modelo simplificado do olho, em que a luz entra por um orifício infinitesimal e se projeta na

retina, formando uma imagem do objeto visualizado em perspectiva cônica

Fonte: Autor

Page 24: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

8

Conforme ilustrado na Figura 6, é possível reproduzir esta mesma imagem

projetada no fundo do olho a partir de uma imagem projetada em uma superfície,

independendo da sua inclinação ou curvatura.

Figura 6 – Equivalência entre a visualização de um objeto e a visualização da perspectiva deste objeto

Fonte: Autor

Esta imagem projetada que reproduz a visualização do cenário 3D

corresponde a uma perspectiva cônica do cenário sobre o ponto de vista do olho. O

efeito 3D proposto consiste em apresentar para cada olho, em um monitor

estereoscópico, uma imagem projetada de um cenário virtual em perspectiva cônica,

cujo ponto de vista coincide com o ponto de vista do respectivo olho.

Neste trabalho, a imagem projetada em uma superfície em perspectiva cônica

é denominada simplesmente de perspectiva.

A Figura 7 ilustra o ponto Projp , que corresponde à projeção em uma superfície

de um ponto imagem do cenário Imp , em que o ponto Projp corresponde à interseção

entre o plano de projeção e a linha reta que passa pelo ponto de vista da perspectiva

pvp e pelo ponto do cenário Imp .

Page 25: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

9

Figura 7 – Princípio da Perspectiva Cônica, no qual Imp representa um ponto imagem de um cenário

3D e ojpPr representa a posição em que este ponto é projetado em uma superfície de

projeção em perspectiva cônica, sobre o ponto de vista do ponto pvp

Fonte: Autor

2.4. PONTO DE VISTA DO OLHO

No efeito 3D proposto, o ponto de vista do olho define a perspectiva a ser

apresentada a este olho, sendo uma característica de grande importância na

reprodução do efeito. A maior precisão da medida da posição deste ponto para cada

olho implica na melhor qualidade da reprodução do efeito 3D.

No modelo simplificado do olho, o ponto de vista corresponde ao centro da

pupila, que é um orifício cuja abertura não é infinitesimal e varia com a luminosidade.

O cristalino é uma lente que tem a função de focalizar a imagem no fundo do olho,

que junto com os outros meios refringentes do olho compõe uma lente equivalente,

que por sua vez, define o ponto de vista do olho.

Existe uma analogia entre esta lente equivalente que projeta a imagem de um

cenário na superfície curva da retina e a lente convergente de curvatura esférica que

projeta a imagem em uma superfície plana. As propriedades desta lente ocular

equivalente podem ser entendidas tratando esta como lente convergente de curvatura

esférica.

Toda luz, emitida ou refletida por um ponto de um cenário, ao passar por uma

lente convergente de superfície esférica, converge para um ponto singular, chamado

de ponto da imagem, conforme ilustrado na Figura 8.

Page 26: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

10

Figura 8 – Ponto imagem obtido com uma lente convergente

Fonte: Autor

A lente convergente possui dois pontos característicos que permitem

determinar a posição da imagem: o centro da lente e o foco da lente. No centro da

lente, toda luz passa sem sofrer desvio e toda luz que incide perpendicularmente ao

plano da lente é desviada para a direção do foco da lente. A Figura 9 ilustra a

determinação da posição do ponto imagem a partir do centro e do foco da lente.

Figura 9 – Determinação do ponto imagem a partir do centro e do foco da lente

Fonte: Autor

Da mesma forma, é possível determinar a imagem de um objeto, conforme

ilustrado na Figura 10.

Page 27: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

11

Figura 10 – Obtenção da imagem de objeto em uma lente convergente

Fonte: Autor

Conforme ilustrado na Figura 11, quando inserida uma superfície de projeção

na posição da imagem do objeto, esta será projetada nesta superfície formando uma

imagem nítida do objeto em perspectiva sobre o ponto de vista localizado no centro da

lente, ou seja, o centro da lente caracteriza o ponto de vista da perspectiva nesta

projeção. Por analogia, o ponto de vista do olho corresponde ao centro da lente ocular

equivalente.

Figura 11 – Imagem nítida na projeção com lente convergente. Quando a superfície de projeção contém

a imagem do objeto, a imagem projetada fica nítida.

Fonte: Autor

Se a superfície de projeção for inserida distante da imagem do objeto, a

imagem projetada aparecerá desfocada, conforme ilustrado na Figura 12.

Page 28: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

12

Figura 12 – Imagem desfocada na projeção com lente convergente. Quando a superfície de projeção

estiver afastada da imagem do objeto, a imagem projetada fica desfocada

Fonte: Autor

No olho, o ajuste do foco da imagem projetada na retina se dá com a variação

da curvatura do cristalino pela contração dos músculos ciliares. A imagem nítida

corresponde à imagem projetada na retina de máximo contraste, que é uma

característica sensibilizada. Praticamente, não é possível fazer o ajuste instantâneo do

foco, sendo necessário variar a curvatura da lente para determinar a curvatura de

máximo contraste.

Esta análise não permite determinar a posição exata do ponto de vista do olho,

que é uma característica de sua lente equivalente, mas permite presumir que o ponto

de vista do olho fica em alguma posição próxima do centro do cristalino e do centro da

pupila, conforme ilustrado na Figura 13.

Figura 13 – Posição do ponto de vista do olho presumida, próxima ao centro do cristalino e ao centro da

pupila

Fonte: (AZEVEDO, 2008)

Page 29: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

13

Devido ao fato da posição do ponto de vista do olho ser diferente da posição do

seu centro de rotação, a posição do ponto de vista ocular se move com o movimento

do olho no referencial da cabeça, não permitindo uma estimativa exata desta posição

unicamente a partir do posicionamento da cabeça.

2.5. PERCEPÇÕES DE PROFUNDIDADE

O sistema da visão humana é muito complexo. É possível afirmar que a

sensação de profundidade é reproduzida a partir de uma redundância de informações

de profundidade, que a acuidade de uma informação de profundidade depende da

configuração do cenário, que a redundância destas informações promove uma melhor

sensação de profundidade, mas que o conflito entre diferentes informações prejudica

esta sensação de profundidade. Quase que instantaneamente, perspectivas com

pontos de vista diferentes são comparadas, objetos são reconhecidos, pontos são

identificados nas diferentes perspectivas, sobreposições e efeitos luminosos são

reconhecidos e as profundidades são estimadas, sendo que a melhor sensação de

profundidade depende da melhor estimativa destas profundidades.

Neste tópico, são apresentadas as percepções de profundidade e sua

classificação conforme Hill (HILL, 2006), em que estas percepções são classificadas

em percepções monoculares e binoculares. As percepções de profundidade

monoculares permitem a sensação de profundidade com apenas um olho aberto e

são subclassificadas em percepções de imagem singular e temporal.

2.5.1. Informações Monoculares de Imagem Singular ( Single Image )

As informações de profundidade monoculares de imagem singular são aquelas

que permitem perceber a profundidade a partir de uma única imagem em perspectiva:

• Sombreamento ( Shading ): Em uma imagem projetada na retina, o

cérebro reconhece sombras, fontes de luz, os objetos que fazem sombra e os

objetos sombreados, estimando posições relativas destes objetos e a curvatura de

parte da superfície destes objetos.

Page 30: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

14

• Oclusões ( Occlusions ): Quando a imagem de um objeto sobrepõe

parcialmente à imagem de outro, o cérebro deduz que o primeiro objeto está mais

próximo.

• Tamanho Relativo ( Relative Size ): Quando a imagem de um objeto for

relativamente grande, o cérebro deduz que o objeto está próximo e, caso contrário,

deduz estar afastado. Portanto, o cérebro consegue deduzir a distância de um objeto

pelo tamanho relativo de sua imagem, podendo ter como referência de tamanho

outro objeto similar na imagem visualizada ou em lembranças deste objeto.

• Nebulosidade ( Fogging ): O cérebro é capaz de reconhecer uma

nebulosidade e, por intermédio de um tratamento especial, reconhecer a

profundidade dos objetos nela mergulhados.

• Foco ou Acomodação ( Focus ): No olho, o cristalino é ajustado para que

o centro da imagem projetada na retina fique nítida. A contração dos músculos

ciliares, que ajustam o cristalino, tem uma correspondência com a distância do

objeto em foco, portanto o cérebro deduz a profundidade do objeto focalizado a

partir da contração destes músculos.

• Distorção da Perspectiva ( Perspective Distortion ): Todas as linhas

paralelas no espaço 3D se encontram em um ponto de fuga na perspectiva. O

cérebro reconhece pontos de fuga e pontos associados a estes pontos de fuga,

estimando a profundidade de pontos a partir de sua proximidade com seus pontos

de fuga associados.

• Gradiente de Textura ( Texture gradient ): O contraste de cores na

imagem de um objeto é menor, quanto maior for sua distância.

2.5.2. Informação Monocular Temporal ( Temporal Monocular )

A informação de profundidade por paralaxe de movimento (Paralax Motion) é a

única classificada como percepção monocular temporal.

O cérebro compara perspectivas em pontos de vista diferentes, obtidas com o

movimento da cabeça do observador no referencial do cenário. Quando se movimenta

a cabeça para o lado, a imagem visualizada de um objeto mais distante tende a ficar

estática, enquanto a imagem de um objeto mais próximo tende a se mover mais em

Page 31: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

15

sentido contrário ao movimento da cabeça. Quando se movimenta a cabeça para

frente, a imagem visualizada de um objeto mais próximo aumenta em uma proporção

maior em comparação com a imagem visualizada de um objeto mais distante.

2.5.3. Informações de Profundidade Binoculares ( Binocular Depth Cues )

As percepções de profundidade binoculares são aquelas que dependem dos

dois olhos:

• Convergência ( Vergence ): Também conhecida por disparidade angular,

corresponde ao ângulo formado entre as direções dos olhos ao objeto focado.

Quanto mais paralelas forem estas direções, maior será a distância deste objeto.

• Disparidade Horizontal ( Horizontal Disparity ): Também conhecida

como paralaxe binocular. A percepção de profundidade é extraída da comparação

entre as duas imagens visualizadas, cada uma sobre o ponto de vista de um olho.

No cérebro, estas imagens se fundem, dando a impressão de visualizar uma única

imagem em profundidade.

2.6. EFEITOS INDESEJÁVEIS NA REPRODUÇÃO 3D

A reprodução imperfeita de efeito 3D proporciona resultados indesejáveis. Este

tópico apresenta causas e efeitos relacionados com estes resultados indesejáveis.

Blonde (BLONDE, 2010) e Hill (HILL, 2006) relatam efeitos indesejáveis

observados na reprodução 3D como:

• Conflito Acomodação-Convergência ( Accommodation–Vergence

Conflict ): A divergência entre a profundidade percebida pela percepção de

profundidade por acomodação e a profundidade percebida pela percepção de

profundidade por convergência é conhecida por conflito Acomodação-Convergência,

que prejudica a percepção de profundidade.

• Diplopia: Em alguns casos, pode ocorrer do cérebro não conseguir fundir

as imagens, fazendo com que a imagem visualizada seja duplicada.

• Cancelamento de Quadro ( Frame cancellation ): Quando um objeto

pode ser visualizado apenas por um olho, pelo fato de sua imagem estar

Page 32: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

16

endereçada na frente e na borda do monitor, isto causa um efeito visual indesejável.

Por oclusão, nosso cérebro interpreta que a imagem está atrás da borda do monitor,

conflitando com as percepções binoculares que endereçam a imagem na frente do

monitor.

• Efeito Cardboard: Neste efeito, visualiza-se uma imagem plana, mesmo

existindo disparidade horizontal. Este efeito ainda não é bem explicado.

• Efeito Teatro de Marionetes ( Puppet Theater ): Consiste nos seres vivos

parecerem bonecos. Este efeito também não é bem explicado.

• Mudanças Abruptas na Aproximação da Cena: A reprodução 3D de

uma imagem obtida com a aproximação abrupta da câmera ao cenário provoca

demora na readaptação da visão.

• Objetos que mudam de profundidade rapidamente: A mudança rápida

da profundidade de objetos também provoca demora na readaptação da visão.

• Disparidade Vertical ( Vertical Disparity ): Em um monitor 3D, se as

imagens capturadas pelos olhos tiverem disparidade vertical, estes se moverão para

corrigir o problema, forçando músculos pouco usados. Olhar um monitor

estereoscópico com a cabeça inclinada é causa de disparidade vertical.

• Distorção da Perspectiva: Imagens com distorções diferentes em cada

olho dificultam a fusão de imagens.

• Conflito Binocular: Além da distorção, outras variações nas imagens

podem dificultar a fusão destas. A compressão separada de dados das imagens

estereoscópicas pode descartar detalhes da imagem dirigida a um olho e não

descartá-los da imagem dirigida ao outro olho.

Page 33: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

17

2.7. EFEITO ESTEREOSCÓPICO

Conforme ilustrado na Figura 14, com base no modelo simplificado do olho,

uma infinidade de tamanhos e distâncias de um objeto produz a mesma imagem

projetada no fundo do olho, não sendo possível determinar as dimensões e a distância

do objeto a partir de uma única perspectiva deste objeto.

Figura 14 – Diferentes cenários que produzem a mesma projeção no fundo do olho

Fonte: Autor

A partir de duas perspectivas do mesmo cenário sobre pontos de vista

diferentes, é possível determinar o posicionamento único de pontos do cenário em

destaques, conforme ilustrado na Figura 15.

Figura 15 – Determinação das dimensões e do posicionamento de uma imagem a partir de duas

perspectivas

Fontes: Autor

Page 34: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

18

As percepções de profundidade binoculares utilizam desta propriedade para

estimar a distância dos objetos visualizados. Os pontos do cenário que se destacam

correspondem aos pontos da imagem projetados na retina de maior contraste de cor.

O menor contraste de cor nas imagens projetadas no fundo de cada olho implica em

uma menor acuidade da percepção de profundidade.

Quando se olha para um ponto do cenário, os dois olhos se direcionam para

este ponto, de forma que a imagem deste ponto fique no centro da imagem projetada

na retina nos dois olhos. A partir da direção dos dois olhos, o cérebro estima a posição

deste ponto no espaço 3D pela percepção por convergência. A estimativa da posição

dos demais pontos se dá pela percepção de disparidade horizontal.

A movimentação dos olhos e da cabeça do observador faz com que o

endereçamento absoluto dos objetos virtuais se altere, provocando efeitos

indesejáveis, chegando a parecer que os objetos fogem do olhar. A rotação da cabeça

em torno do eixo ortogonal ao monitor proporciona disparidade vertical. A rotação da

cabeça em torno do eixo vertical olhando um objeto endereçado ao longe pode

provocar estrabismo divergente. Entre os conflitos de percepções de profundidade,

cabe citar o conflito convergência-acomodação e o cancelamento de quadro. Por

conta destas características, entre os usuários de monitores estereoscópicos, é

comum o relato de mal estar como dor nos olhos e de cabeça. Os próprios fabricantes

destes produtos recomendam o uso moderado do efeito estereoscópico.

2.8. EFEITO HEAD-TRACKING

O efeito Head-Tracking diz respeito à percepção da profundidade com o movimento

da cabeça, ou seja, está associado com a percepção de profundidade por paralaxe de

movimento.

Conforme ilustrado na Figura 16, é possível reproduzir o efeito Head-Tracking

apresentando a perspectiva do cenário sobre o ponto de vista da cabeça do

observador em um monitor 2D.

Page 35: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

19

Figura 16 – Reprodução do efeito Head-Tracking em monitor 2D, apresentando a perspectiva do

cenário virtual sobre o ponto de vista do olho

Fonte: Autor

O efeito Head-Tracking em monitor 2D foi proposto por Johnny Lee (LEE,

2007), utilizando como rastreador de cabeça a câmera infravermelha de um controle

WII Remote da Nintendo, que captura a imagem de dois LEDs infravermelhos

inseridos em um par de óculos.

2.9. COMPUTAÇÃO GRÁFICA 3D

Antes do surgimento dos monitores 3D, já existia suporte 3D na computação

gráfica, em que cenários são representados no espaço 3D e perspectivas mais

realistas destes cenários são obtidas por um processo denominado renderização

(rendering). Um cenário é composto por objetos e fontes de luz. Os objetos são

definidos como poliedros com as coordenadas tridimensionais de seus vértices. Além

de sólidos, é possível também definir objetos como fluidos, névoas, fogo e outros.

O processo de renderização requer muito processamento e a grande

independência de dados favorece o uso de processamento paralelo.

Impulsionada pelo mercado de jogos, que hoje é maior que o mercado

cinematográfico, surgiu a placa aceleradora de vídeo dotada de grande poder de

processamento. Hoje, encontram-se no mercado placas de vídeo como a NVIDIA

Page 36: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

20

GeForce GTX 690, com 3072 núcleos e ATI Radeon HD 5970 Graphics, com 3200

unidades de processamento.

Entre as bibliotecas gráficas 3D, merecem destaques a OpenGL (Open

Graphics Library) e a Direct3D, por serem soluções bem difundidas.

O padrão OpenGL foi criado em 1992 para oferecer as facilidades do IRIS GL

da Silicon Graphics e favorecer sua adoção pelos fabricantes de hardware (História do

OpenGL). Oferece código aberto e permite extensões a serem desenvolvidas pelos

próprios fabricantes de hardware. As extensões podem ser implementadas em

hardware ou em software para oferecer flexidade de implementação para hardware

limitado. Estas extensões podem ser incorporadas ao padrão, o que favoreceu seu

avanço.

A RenderMorphics, empresa iniciada em 1992, desenvolveu uma API

(Application Programming Interface) para gráficos 3D. Em 1995, a Microsoft comprou

a RenderMorphics para inserir recursos 3D no Windows 95, surgindo o Direct3D, que

compõe a API DirectX juntamente com as APIs DirectDraw, DirectInput, DirectPlay,

DirectSound, DirectSound3D, DirectMusic, DirectX Media, DirectX Media Objects e

DirectX Setup, voltadas para jogos, visando máxima performace e oferecendo

abstração de hardware.

Com o advento dos monitores estereoscópicos, os aplicativos gráficos

estereoscópicos passaram a manipular dois pontos de vista de perspectiva, em vez de

um só.

Praticamente, a primeira solução de baixo custo de monitor estereoscópico

para computação gráfica 3D foi a NVIDIA 3D Vision, que oferece a auto

estereoscopia, em que aplicativos com gráficos 3D que utilizam OpenGl ou Direct3D

se transformam em aplicações estereoscópicas sem a necessidade de adaptações

nestas aplicações. Esta solução é composta por um par de óculos LCD-Shutter de

fabricação exclusiva da NVIDIA, placa de vídeo NVIDIA compatível com NVIDIA 3D-

Vision e monitores de terceiros homologados pela NVIDIA.

As TVs e monitores estereoscópicos vêm se tornando cada vez mais

acessíveis. O padrão de mercado HDMI, que oferece total compatibilidade entre

Page 37: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

21

diferentes dispositivos de diferentes fornecedores, oferece também suporte a

estereoscopia na sua versão 1.4.

Para o Windows 8, a Microsoft definiu a versão 1.2 do WDDM (Windows

Display Driver Model) e o DirectX 11.1 que oferecem suporte à estereoscopia com

abstração de hardware, dispensando o uso de APIs específicas de fabricante de placa

de vídeo.

2.9.1. Conceitos da Computação Gráfica 3D

Na computação gráfica 3D, são definidos conceitos abstratos que auxiliam no

equacionamento das matrizes transformação utilizadas no processo de renderização e

são encontrados tanto no Direct3D, quanto no OpenGL.

O monitor 2D apresenta uma perspectiva do cenário virtual definido no espaço

3D filmada por uma câmera abstrata , que captura a imagem projetada em um porto

de visualização (Viewport), conforme ilustrado na Figura 17.

Figura 17 – Princípio da computação gráfica 3D, em que a imagem projetada em um porto de

visualização sobre o ponto de vista da câmera abstrata é reproduzida no monitor

Fonte: Autor

A posição da câmera abstrata representa o ponto de vista da perspectiva a ser

reproduzida. Conforme ilustrado na Figura 18, esta câmera visualiza o porto de

visualização a uma distância Projd com os campos de visão vertical e horizontal

representados pelos ângulos Vφ e Hφ , respectivamente.

Page 38: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

22

Figura 18 – Campos de Visão horizontal e vertical

Fonte: Autor

O porto de visualização é uma superfície plana retangular de largura Vw e

altura Vh , conforme ilustrado na Figura 21. O aspecto do porto de visualização

Aspecto é uma variável que estabelece a relação entre estas dimensões, que pode

ser equacionada a partir dos campos de visão por

2

2V

h

V

V

tg

tg

h

wAspect φ

φ

== (1),

na qual Proj22 d

wtg Vh =φ

e Proj22 d

htg VV =φ

.

Figura 19 – Dimensões do porto de visualização

Fonte: Autor

Quando o aspecto do porto de visualização for diferente do aspecto do monitor,

a imagem apresentada fica deformada.

Os objetos virtuais, a serem apresentados no monitor, são delimitados pelos

planos de corte Frontal e Traseiro (Near e Far ou Front e Back), paralelos ao plano de

projeção, conforme ilustrado na Figura 20. A distância destes planos de corte Frontal

Page 39: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

23

e Traseiro ao ponto de vista da perspectiva a ser reproduzida é representada com

valor absoluto pelas variáveis n e f , respectivamente.

Figura 20 - Planos de corte Frontal e Traseiro

Fonte: Autor

Conforme ilustrado na Figura 21, os planos de corte e os campos de visão

definem o volume de visualização (Viewing Frustum), onde estão contidos os

objetos virtuais que devem ser apresentadas no monitor.

Figura 21 - Volume de Visualização

Fonte: (Viewports and Clipping)

Adotou-se a notação Objp e Objc como representação do ponto p e da

coordenada c referente à posição de um objeto Obj , cujas siglas dos objetos

apresentados neste tópico estão definidas na Tabela 2.1, tendo como exemplos a

posição do plano de projeção representada pelo ponto Projp e a coordenada z do

plano de corte Frontal representada por nz .

Page 40: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

24

Tabela 2.1 - Abreviações dos nomes de objetos utilizadas em índices Objeto Abreviação Câmera Abstrata cam Plano de Corte Frontal n Plano de Corte Traseiro f Plano de Projeção Proj Porto de Visualização V

2.9.2. Orientações de Sistema de Coordenadas 3D

Por convenção, o vetor coluna representa as coordenadas no sistema de

coordenadas com orientação de mão direita e o vetor linha representa as

coordenadas no sistema de coordenadas com orientação de mão esquerda, conforme

ilustrado na Figura 22.

Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita

Fonte: (Coordinate Systems)

A transformação das coordenadas de uma orientação para outra, se dá pela

transposta do vetor de coordenadas e pela troca do sinal da coordenada z .

Para distinguir a orientação do sistema referencial em uma variável, adotou-se

a notação em que o índice abaixo da variável com md para orientação da mão direita

e me para orientação de mão esquerda, tendo como exemplo a variável mdM que

representa uma matriz transformação entre sistemas referenciais com orientação de

mão direita.

Page 41: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

25

No Direct3D, os sistemas referenciais utilizados são com orientação de mão

esquerda, passando para mão direita na versão 11.1, e no OpenGL, com orientação

de mão direita.

2.9.3. Sistemas Referenciais da Computação Gráfica 3D

Na computação gráfica 3D são conceituados quatro sistemas referenciais:

• Sistema Referencial Local ( Local Space ): Um objeto é definido

isoladamente em um sistema referencial próprio denominado sistema referencial

Local, ou espaço Local.

• Sistema Referencial Global (World Space) : O sistema referencial

Global, ou espaço Global, é utilizado para posicionar todos os objetos que compõem

um cenário. O posicionamento de cada objeto é definido por uma matriz

transformação que transforma todas as coordenadas do objeto no espaço local em

coordenadas no espaço global.

• Sistema Referencial Vista ( View Space ): Conforme ilustrado na Figura

23, o posicionamento da câmera abstrata define a origem, a direção e sentido dos

eixos do sistema referencial Vista. A origem deste sistema referencial corresponde

ao ponto de vista da perspectiva a ser projetada no plano de projeção. A parte

superior da câmera define o eixo y, seu lado direito define o eixo x e a direção de

sua lente define a direção do eixo z, tendo mesmo sentido na orientação de mão

esquerda e sentido contrário na orientação de mão direita.

Figura 23 - Sistema Referencial Vista

Fonte: Autor

Page 42: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

26

• Sistema Referencial de Projeção ( Projection Space ): No sistema

referencial de projeção, o volume de visualização fica transformado em um

paralelepípedo padronizado, em que o valor das coordenadas xProj e yProj dentro do

volume de visualização varia entre -1 e 1 e o valor da coordenada de profundidade

dentro deste volume de visualização varia entre 0 e 1 no Direct3D, entre 0 e -1 no

DirectX 11.1 e entre 1 e -1 no OpenGL, conforme ilustrado na Figura 24.

Figura 24 – Padronização das coordenadas dos vértices do volume de visualização no sistema

referencial de projeção

Fonte: Autor

Para auxiliar na conceituação do sistema referencial de Projeção, são utilizados

os sistemas referenciais de Projeção Simples e de Projeção Genérica.

Adotou-se a notação cSR e SRM como representação da coordenada c no

sistema referencial SR e da matriz que transforma as coordenadas para o sistema

referencial SR, respectivamente. As siglas que representam os sistemas referenciais

apresentados neste tópico estão definidas na Tabela 2.2, tendo como exemplos a

coordenada z do plano de corte Frontal no sistema referencial de Projeção

representada por nzProj e a matriz que transforma as coordenadas para o sistema

referencial de Projeção ProjM .

Page 43: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

27

Tabela 2.2 - Abreviações dos sistemas referenciais usadas em índices

Sistema Referencial Abreviação Local Local Global Global De Visualização Vista De Projeção Simples P De Projeção Genérica PG De Projeção Proj

2.9.4. Coordenadas Homogêneas

Para se transformar as coordenadas 3D de um sistema referencial de para

outro para, utilizando coordenadas euclidianas, são necessários uma matriz 3x3 e um

vetor de três dimensões, conforme equacionamento feito para sistemas de

coordenadas com orientação de mão esquerda

[ ] [ ] [ ]000

333231

232221

131211

zyx

TTT

TTT

TTT

zyxzyx paraparaparadededeparaparapara +

= (2),

na qual o vetor [ ]000 zyx paraparapara contém as coordenadas da origem do sistema

referencial de no sistema referencial para.

É possível equacionar a mesma transformação de sistemas de coordenadas

euclidianas utilizando um espaço de quatro dimensões, em que é necessária uma

única matriz 4x4, na qual a quarta coordenada dos vetores tenha o valor unitário,

resultando em

[ ] [ ]

=

1

0

0

0

11

000

333231

232221

131211

zyx

TTT

TTT

TTT

zyxzyx

tototo

dededeparaparapara (3),

ou simplesmente

pMp depara = (4).

Além de necessitar de apenas uma única matriz para representar a

transformação entre sistemas referenciais, esta representação permite a

transformação inversa a partir da inversa da matriz transformação 1−= pMp parade (5).

Page 44: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

28

Outra vantagem desta representação 4D do espaço 3D, é que a matriz

transformação resultante de uma dupla-transformação corresponde ao produto das

matrizes transformação parciais.

Esta quarta coordenada pode ser utilizada como um fator de escala que divide

as demais coordenadas para se obter as coordenadas 3D representadas, ou seja, o

vetor [ ]hzyx é representante do vetor de coordenadas euclidianas

hz

hy

hx .

Estas coordenadas 4D que representam o espaço 3D são conhecidas por

coordenadas homogêneas, que são utilizadas na computação gráfica 3D nas

transformações de coordenadas de um sistema referencial para outro.

Se o valor de h for nulo, as coordenadas representam uma coordenada que se

encontra no infinito na direção [ ]zyx , que é usual na computação gráfica 3D.

Além de permitir transformações lineares de coordenadas entre sistemas

referenciais diferentes, esta matriz 4x4 pode reproduzir projeções, que serão

apresentadas nos tópicos 2.9.4.3 e 2.9.4.4.

2.9.4.1. Correspondência entre as matrizes transfor mação para sistema de mão

esquerda e mão direita

A transformação de uma matriz transformação de coordenadas homogêneas

na mudança de orientação é dada por

−=

1000

0100

0010

0001

1000

0100

0010

0001

T

mdmeTT (6)

e

−=

1000

0100

0010

0001

1000

0100

0010

0001

T

memdTT (7),

na qual mdT é a matriz transformação entre sistemas referenciais com orientação de

Page 45: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

29

mão direita e meT é a matriz transformação entre sistemas referenciais com orientação

de mão esquerda.

2.9.4.2. Translação de Sistema Referencial

A figura 30 ilustra um sistema referencial para que corresponde ao sistema

referencial de com sua origem deslocada para as coordenadas paraodex ,

paraode y e paraode y .

Figura 25 - Sistema referencial to obtido pela translação da origem do sistema referencial de para as

coordenadas paraodex ,

paraode y e paraode y

As matrizes meT e

mdT que efetuam esta transformação por translação de

referencial, respectivamente entre sistemas com orientação de mão esquerda e mão

direita, correspondem a

−−−

=

1

0100

0010

0001

paraparapara omede

odeode

me

zyx

T

(8) e

−−−

=

1000

100

010

001

para

para

para

omdde

ode

ode

md z

y

x

T (9).

Page 46: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

30

2.9.4.3. Projeção no Plano

A projeção no plano, ou projeção cônica, corresponde a uma transformação de

coordenadas para um sistema referencial de projeção P , em que todas as

coordenadas projetadas ficam contidas no plano de projeção. A projeção no plano é

utilizada para se obter uma imagem em perspectiva cônica do cenário 3D.

Conforme Figura 26, se o sistema referencial original tiver como origem o

próprio ponto de vista e a direção z ortogonal ao plano de projeção, as coordenadas

do ponto projetado podem ser obtidas por semelhança de triângulos.

Figura 26 - Vistas superior e lateral de uma projeção no plano

Fonte: Autor

Pode-se observar que o valor das coordenadas euclidianas de projeção de uma

imagem endereçada nas coordenadas imPx , imPy e imPz corresponde ao valor das

coordenadas euclidianas da imagem imx , imy e imz multiplicadas pela profundidade do

plano de projeção Projd e divididas pela profundidade da imagem imPz , portanto,

projetar no plano corresponde a atribuir a profundidade da imagem imz no valor da

quarta coordenada homogênea e o produto da respectiva coordenada euclidiana pela

profundidade do plano de projeção Projd nas demais coordenadas homogêneas, ou

seja, [ ]immdimmd

imimimmeP

zzdydxdp ... ProjProjProj= .

Como [ ] [ ]Pmeimmd

imimimmdimmd

imim Mzyxzzdydxd 1... ProjProjProj = , a matriz que

efetua esta transformação corresponde a

Page 47: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

31

=

0000

100

000

000

Proj

Proj

Proj

d

d

d

MPme

(10).

A matriz projeção para sistema referencial com orientação de mão direita PmdM

é

obtida aplicando a transformação da equação 7 em

−=

1000

0100

0010

0001

1000

0100

0010

0001

T

PmePmdMM

, resultando em

=

0100

000

000

000

Pr

Pr

Pr

oj

oj

oj

Pmd d

d

d

M (11).

Nesta projeção, que corresponde à transformação para o sistema referencial

de Projeção Simples, a coordenada representada de profundidade de um ponto

projetado é sempre igual à coordenada de profundidade euclidiana do plano de

projeção. No sistema referencial de Projeção Genérica, a coordenada de profundidade

euclidiana tem correspondência biunívoca com a respectiva profundidade no espaço

original, com o elemento da matriz 43me

m não nulo para orientação de mão esquerda e

34mdm não nulo para orientação de mão direita. Com base nas equações 10 e 11, a

matriz transformação para o espaço de Projeção Genérica fica representada por

=

000

100

000

000

43

33

22

11

PG

m

m

m

m

Mme

(12)

para orientação de mão esquerda e

=

0100

00

000

000

3433

22

11

PG mm

m

m

Mmd

(13)

para orientação de mão direita.

Page 48: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

32

2.9.4.4. Projeção Normalizada

A projeção normalizada visa transformar o volume de visualização em um

paralelepípedo, com os valores das coordenadas euclidianas de seus vértices

padronizados, possibilitando que a biblioteca gráfica determine quais vértices de

objetos estão dentro deste volume de visualização.

Na projeção normalizada, as coordenadas euclidianas x e y das arestas do

porto de visualização

−−2

,2

VV hw,

−2

,2

VV hw,

2,

2VV hw

e

−2

,2

VV hw passam a valer

[ ]1,1−− , [ ]1,1− , [ ]1,1 e [ ]1,1− no sistema referencial de Projeção, a coordenada

homogênea de profundidade do plano de corte Frontal assume o valor de

normalização nzProj e a coordenada homogênea de profundidade do plano de corte

Traseiro assume o valor de normalização fzProj . Os pontos com suas coordenadas

homogêneas

1

22 Projdhw vv , [ ]100 n e [ ]100 f têm suas projeções nas

coordenadas euclidianas [ ]ProjProj11 z , [ ]nzProj00 e [ ]fzProj00 , que são

representadas respectivamente pelas coordenadas homogêneas

[ ]ProjProjProjProjProjProj ddzdd , [ ]nnzn.00 Proj e [ ]ffzf .00 Proj . Os valores não

nulos da matriz Projme

M são obtidos a partir do sistema de equações

[ ][ ] [ ][ ] [ ]

=

=

=

ProjProj

ProjProj

ProjProjProjProjProjProjProjProj

100.00

100.00

122

mef

men

me

vv

Mfffz

Mnnnz

Mdhw

ddzdd

.

Como a matriz de projeção normalizada para orientação de mão esquerda tem

a mesma configuração que a respectiva matriz de projeção genérica da equação 12, a

solução do sistema de equações resulta em

Page 49: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

33

−−

−−=

0.).(

00

1..

00

002

0

0002

ProjProj

ProjProj

Proj

Proj

Proj

nf

fnzznf

nzfzh

dw

d

M

fn

nf

v

v

me

(14).

A matriz projeção normalizada para sistema referencial com orientação de mão

direita ojmdM

Pr é obtida pela transformação da equação 7 em

−=

1000

0100

0010

0001

1000

0100

0010

0001

ProjPr

T

meojmdMM

, que resulta em

−−

−−

−−

=

0100

.).(..00

002

0

0002

ProjProjProjProj

Proj

Proj

Pr

nf

fnzz

nf

nzfzh

dw

d

M

fnnf

v

v

ojmd

(15).

Como V

V

h

wAspecto= conforme equação 1, para as equações 12 e 13

correspondem a

−−

−−=

0.).(

00

1..

00

002

0

0002

ProjProj

ProjProj

Proj

Proj

Proj

nf

fnzznf

nzfz

Aspectow

dw

d

M

fn

nf

v

v

me (16)

e

−−

−−

−−

=

0100

.).(..00

002

0

0002

ProjProjProjProj

Proj

Proj

Proj

nf

fnzz

nf

nzfz

Aspectow

dw

d

M

fnnf

v

v

md (17).

Page 50: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

34

2.9.5. Matrizes Transformação da Computação Gráfica 3D

As matrizes transformação utilizadas na computação gráfica 3D são:

• Matriz Global GlobalM (World Matrix ): A matriz Global tem a função de

inserir um objeto em um cenário, atribuindo posição, direção e tamanho. A matriz

global é utilizada para converter as coordenadas homogêneas que definem o objeto

no seu sistema referencial local para o sistema referencial global.

• Matriz Vista VistaM (View Matrix ): A matriz Vista transforma as

coordenadas homogêneas do sistema referencial global em coordenadas do sistema

referencial Vista, posicionando a câmera abstrata no cenário.

• Matriz Projeção ProjM (Projection Matrix ): Esta matriz efetua a

normalização do volume de visualização, transformando as coordenadas

homogêneas do cenário em coordenadas de perspectiva, configurando o aspecto do

porto de visualização, o campo de visão horizontal e a posição dos planos de corte.

A matriz projeção é obtida substituindo os valores padrões nas equações 16 e

17, com 0Proj =nz e 1Proj =fz na equação 16 para o Direct3D, 0Proj =nz e 1Proj −=fz na

equação 17 para o Direct3D 11 e, 1Proj =nz e 1Proj −=fz na equação 18 para o

OpenGL, resultando respectivamente em

−−

=

0.

00

100

002

0

0002

Proj

Proj

Proj3

nf

fnnf

f

Aspectow

dw

d

M v

v

DlDirect (18),

−−

−−

=

0100

.00

002

0

0002

Proj

Proj

Proj113

nf

fn

nf

f

Aspectow

dw

d

Mv

v

DDirect (19)

Page 51: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

35

e

−−

−−

=

0100

.00

002

0

0002

Proj

Proj

Proj113

nf

fn

nf

f

Aspectow

dw

d

Mv

v

DDirect (20).

Page 52: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

36

Capítulo 3

ESTADO DA ARTE DOS MONITORES 3D

Os monitores 2D, que reproduzem uma única perspectiva de um cenário 3D, já

proporcionam sensação de profundidade por conta de algumas informações de

profundidade monoculares como as de sombreamento, de oclusões, de tamanho

relativo, de nebulosidade, de distorção da perspectiva e de gradiente de textura. O

monitor 3D visa explorar as demais percepções como as percepções binoculares, de

acomodação e de paralaxe de movimento.

Atualmente, existem muitos desenvolvimentos de monitor 3D, que podem ser

classificados em monitor estereoscópico, monitor auto estereoscópico e monitor

volumétrico.

3.1. MONITORES ESTEREOSCÓPICOS

O monitor estereoscópico explora as percepções de profundidade paralaxe

binocular, fazendo com que cada olho do observador visualize uma perspectiva em

um ponto de vista diferente.

Para que cada olho do observador visualize uma imagem diferente, estas

duas imagens são apresentadas misturadas no monitor e separadas por filtros em

lentes de óculos. Conforme Blonde (BLONDE, 2010), Fliegel (FLIEGEL, 2010),

Fujikawa (FUJIKAWA, 2010), Hill (HILL, 2010), Shi (SHI, 2010) e Shuhong

(SHUHONG, 2010), os principais sistemas estereoscópicos monitor-óculos são

anaglifo, polarização da luz, INFITEC e LDC Shutter, existindo ainda no contexto da

estereoscopia pares de óculos ou capacetes contendo um visor para cada olho.

O Anaglifo é destinado à reprodução estereoscópica de imagens

monocromáticas, em que a imagem de cada olho é reproduzida em uma cor diferente.

Cada lente de um par de óculos filtra a cor a ser vista pelo respectivo olho, conforme

ilustrado na Figura 27. A fusão das imagens pelo cérebro não é tão confortável, pois

cada olho recebe a imagem em uma cor diferente.

Page 53: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

37

Figura 27 – Exemplo de óculos Anaglifo (NVIDIA 3D Vision)

Fonte: Autor

Segundo Shuhong (SHUHONG, 2010), para o monitor estereoscópico baseado

em filtros de luz polarizada, existem dois tipos de polarização que permitem a mistura

e a separação das imagens: a polarização linear e a polarização circular. Existem

implementações deste sistema tanto em projetores, quanto em monitores LCD. Uma

desvantagem desta solução é que a polarização da luz pode sofrer mudanças no

ambiente.

Figura 28 – Estereoscopia com filtro de polarização linear usando dois projetores

Fonte: (SHUHONG, 2010)

No INFITEC, a separação das imagens se dá por comprimento de onda.

Conforme ilustrado na Figura 29, são reproduzidas duas tonalidades para cada cor

primária RGB, sendo que uma tonalidade é vista por um olho e não é vista pelo outro.

São utilizados dois filtros de cores, cada um passa apenas uma tonalidade de cada

cor primária. Esta solução é encontrada apenas em projetores. São utilizados dois

projetores, cada um com um filtro de cores. Cada lente dos óculos possui um filtro

diferente, fazendo com que a imagem projetada por um projetor só seja vista pelo olho

correspondente. A Figura 30 ilustra um par de óculos INFITEC.

Page 54: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

38

Figura 29 – Princípio do INFITEC, em que cada filtro deixa passar apenas um conjunto de cores

primárias

Fonte: (FLIEGEL, 2010)

Figura 30 – Exemplo de óculos INFITEC

Fonte: (INFITEC)

No LCD Shutter, as imagens são separadas no tempo, em que os quadros

ímpares são vistos por um olho e os pares pelo outro. Um sinal de sincronismo é

enviado para o par de óculos, fazendo com que as lentes dos óculos fiquem opacas

ou translúcidas no momento correto, conforme ilustrado na Figura 31. Por ser ativo, o

par de óculos LCD Shutter costuma ter maior preço de aquisição. Esta tecnologia é

utilizada em monitores e em projetores.

Page 55: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

39

Figura 31 – Princípio de funcionamento do LCD Shutter. Enquanto uma lente fica opaca a outra fica

translúcida

Fonte: (SHUHONG, 2010)

É possível reproduzir também o efeito estereoscópico em pares de visores, um

visor para cada olho, embutidos em óculos ou capacetes.

Figura 32 – Exemplo de óculos com visores embutidos

Fonte: (Sony Insider)

Page 56: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

40

3.2. MONITORES AUTO ESTEREOSCÓPICOS

A Auto Estereoscopia surgiu com a ideia de se reproduzir efeitos

estereoscópicos sem a necessidade de óculos, que pode ser possível utilizando

barreiras de paralaxes (Parallax Barrier) ou cadeia de lentes (Lens Array), conforme

ilustrado na Figura 33.

Figura 33 – Barreira de paralaxe e cadeia de lentes

Fonte: (HILL, 2010)

Geralmente, o grande problema dos monitores auto estereoscópicos é que o

observador precisa ficar posicionado em uma janela de visualização. Quanto à janela

de visualização, um monitor auto estereoscópico pode ser classificado em janela de

visualização fixa, com rastreamento de cabeça e com múltiplas vistas (Multiview).

Na janela de visualização fixa, conforme ilustrado na Figura 34, a cabeça do

espectador precisa ficar localizada em uma posição correta para visualizar a imagem

tridimensional.

Page 57: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

41

Figura 34 – Janela de visualização fixa

Fonte: (HILL, 2010)

No monitor auto estereoscópico com rastreamento de cabeça, um rastreador

de cabeça determina a posição dos olhos do usuário ou de vários usuários (MUTED –

Multi-user Television Display) e o monitor apresenta imagens diferentes para direções

diferentes, de forma que cada olho visualize uma perspectiva do cenário coerente com

sua posição. Existem diferentes implementações de rastreadores de cabeça, sendo

tendência o reconhecimento da posição dos olhos em imagem capturada por câmera.

A Figura 35 ilustra o reconhecimento do ponto de vista dos olhos de vários

espectadores em uma imagem capturada por uma câmera para a reprodução auto

estereoscópica.

Figura 35 – Rastreamento de Cabeça

Fonte: (BRAR, 2010)

Page 58: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

42

No monitor com múltiplas vistas, são apresentadas várias perspectivas do

cenário 3D, cada uma visualizada por um ângulo diferente, disponibilizando várias

janelas de visualização.

Figura 36 – Auto estereoscopia com Múltiplas Vistas

Fonte: (HILL, 2010)

3.3. MONITORES VOLUMÉTRICOS

O monitor volumétrico explora todas as percepções de profundidade.

Favalora (FAVALORA, 2005) classifica os monitores 3D volumétricos em Volume de

Varredura (Swept Volume), Volume Estático (Static Volume),

Hologramas/Estereogramas Holográficos e com várias múltiplas vistas (Highly

Multiview).

De acordo com Favalora (FAVALORA, 2005), o monitor volumétrico foi

proposto em 1912.

A Figura 37 ilustra um exemplo de monitor volumétrico com volume de

varredura, em que uma tela de projeção solidária a um projetor gira, fazendo com que

a luz emitida pelo projetor seja refletida no espaço 3D, como se um objeto no espaço

tivesse emitindo luz.

Page 59: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

43

Figura 37 - Monitor 3D Volumétrico com espelho e projetor

Fonte: (FAVALORA, 2005)

No monitor volumétrico de volume estático, a imagem produzida no espaço é

obtida com a luz refletida ou transmitida em meio estático.

Como exemplos de monitor 3D volumétrico com volume estático, cabe citar o

monitor baseado em múltiplas camadas de LCD ilustrado na Figura 38 e o monitor

que cria bolhas de plasma no ar a partir de pulsos de laser, ilustrado na Figura 39.

Figura 38 - Monitor 3D Volumétrico com multicamadas de LCD. Cada camada de LCD é controlada

para ficar transparente ou dispersar a luz

Fonte: (SHI, 2010)

Page 60: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

44

Figura 39 - Monitor 3D Volumétrico com bolhas de plasma produzida com pulso de laser

Fonte: (SHUHONG, 2010)

De acordo com Yaras (YARAS, 2010), a holografia foi concebida em 1947 por

Dennis Gabor (1900-1973). Foi implementada pela primeira vez nos anos 60, graças

ao advento do laser.

Shi (SHI, 2010) descreve que o princípio essencial da holografia consiste em

capturar imagem de objetos, registrando suas informações de ondas de luz através da

interferência, exibindo esta imagem com a reprodução destas ondas de luz através da

difração.

De acordo com Kreis (KREIS, 2007), a imagem 3D é reproduzida por SLM

(spatial light modulators). O SLM é iluminado com luz coerente, que por difração de

campo de onda, reconstitui a imagem virtual do cenário original.

Figura 40 - Captura e reprodução de imagem Holográfica. Na holografia, a imagem é capturada pela

interferência de luz e reproduzida por difração

Fonte: (STERN, 2006)

Page 61: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

45

Favalora (FAVALORA, 2005) qualifica como monitor com várias múltiplas vistas

(Highly Multiview) o monitor com uma quantidade entre 30 e 200 vistas, quantidade

considerada suficiente para explorar a percepção de profundidade por acomodação.

Esta classe de monitores é considerada emergente.

Tecnologicamente, o monitor com várias múltiplas vistas depende da alta

densidade de pixels e do poder de processamento na obtenção de várias

perspectivas.

Uma desvantagem deste monitor 3D está na falta de percepção de

profundidade de paralaxe de movimento para movimento vertical da cabeça do

espectador. Outra desvantagem é que a inclinação da cabeça do espectador em

relação ao eixo ortogonal ao monitor proporciona disparidade vertical. Estas

desvantagens podem ser superadas utilizando matrizes de lentes em vez de cadeia

de lentes, exigindo uma densidade ainda maior de pixels e um maior poder de

processamento para renderizar a maior quantidade de perspectivas.

Page 62: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

46

Capítulo 4

MODELAGEM DO EFEITO 3D COMPOSTO

No efeito 3D que combina os efeitos Head-Tracking e estereoscópico, cada

olho visualiza uma perspectiva do cenário virtual sobre o seu ponto de vista. Além de

explorar as percepções de paralaxe de movimento e binoculares, pretende-se reduzir

distorções e evitar a disparidade vertical.

A reprodução do efeito 3D composto consiste em substituir o par original de

matrizes transformação, gerado para reproduzir uma perspectiva do cenário virtual,

por dois pares substitutos de matrizes transformação, cada par definindo a

perspectiva a ser vista pelo respectivo olho. Cada par substituto de matrizes

transformação é determinado a partir do par original de matrizes transformação e das

coordenadas reais 3D do ponto de vista do respectivo olho.

Na reprodução do efeito 3D composto, é dado o mesmo tratamento

individualmente para cada olho.

4.1. ABORDAGEM PROPOSTA PARA A COMPUTAÇÃO GRÁFICA 3 D

Os sistemas referenciais e as variáveis da computação gráfica 3D, existentes

na abordagem original, existem também nesta abordagem proposta, mas com suas

particularidades, com uma composição para cada olho. Cada olho é tratado

separadamente e da mesma forma. Nos equacionamentos, as variáveis das duas

abordagens são correlacionadas, existindo a necessidade de distinguir os sistemas

referenciais e as variáveis das duas abordagens. Esta distinção é feita com uma

apóstrofe adicionada ao nome dos sistemas referenciais e das variáveis na

abordagem proposta.

Conforme ilustrado na Figura 41, o monitor no espaço real corresponde ao

porto de visualização no espaço virtual. Ambos funcionam como uma janela de

visualização, através da qual, o observador visualiza o cenário virtual. Esta

correspondência define a transformação entre os espaços Real e Virtual, permitindo

transformar para o espaço Virtual as coordenadas dos olhos medidas no espaço Real.

Page 63: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

47

Figura 41 – Correlação entre o espaço Real e o espaço virtual, em que o monitor no espaço Real

corresponde ao porto de visualização no espaço Virtual, que ambos funcionam como uma janela de

visualização, através da qual se visualiza o cenário virtual

Fonte: Autor

Para garantir a correspondência entre o monitor e o porto de visualização, o

aspecto do porto de visualização é igualado ao aspecto do monitor `Aspecto, que

corresponde à relação entre sua largura Dw e altura Dh , conforme ilustrado na Figura

42. Para tanto, um dos campos de visão da câmera também precisa ser ajustado,

optando-se em manter igual o campo de visão horizontal da câmera Hφ . O aspecto do

monitor é dado por

)2`(

)2(`

v

h

D

D

tg

tg

h

wAspecto φ

φ== (21).

Figura 42 – Dimensões do Monitor

Fonte: Autor

Page 64: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

48

A câmera abstrata é solidária à janela de visualização, tendo a função de

posicioná-la no espaço virtual.

O volume de visualização, que contém os objetos a serem visualizados no

monitor, fica delimitado pelos planos de corte e pelos campos de visão do olho sobre

a janela de visualização, conforme ilustrado na Figura 43.

Figura 43 – Volume de Visualização na abordagem proposta

Fonte: Autor

4.2. SISTEMAS REFERENCIAIS DA CG 3D NA ABORDAGEM PR OPOSTA

No sistema referencial Vista, sua origem corresponde ao ponto de vista da

perspectiva a ser reproduzida e a direção e o sentido dos seus eixos são definidos

pela inclinação do porto de visualização, que equivale à inclinação da câmera

abstrata. Nesta abordagem, em que o sistema referencial Vista é representado pelo

espaço Vista`, como o posicionamento do porto de visualização se mantém e o ponto

de vista da perspectiva passa a ser o ponto de vista do olho, a inclinação da câmera

continua definindo a direção e o sentido de seus eixos e a sua origem passa a ser o

ponto de vista do olho.

Page 65: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

49

Figura 44 - Sistema Referencial Vista`

Fonte: Autor

No novo sistema referencial de projeção, representado pelo espaço Proj`, o

novo volume de visualização continua sendo um paralelepípedo com a mesma

normalização das coordenadas dos vértices.

Para medir a posição real dos olhos do observador, é definido o sistema

referencial Real. Optou-se em utilizar apenas a orientação de mão esquerda, com a

origem no centro do monitor, o eixo x sendo o eixo horizontal, o eixo y sendo o eixo

vertical e o eixo z sendo ortogonal ao plano do monitor com sentido positivo para trás

do monitor.

Figura 45 - Sistema Referencial Real Fonte: Autor

A Tabela 4.1 define as siglas dos objetos apresentados neste tópico e a Tabela

4.2 a sigla do novo sistema referencial utilizado.

Page 66: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

50

Tabela 4.1 - Abreviações dos nomes de objetos utilizadas em índices Objeto Abreviação Olho do Observador Olho Monitor D

Tabela 4.2 - Abreviações dos sistemas referenciais usadas em índices

Sistema Referencial Abreviação Real Real

4.3. POSICIONAMENTO DOS PLANOS DE CORTE

Nesta abordagem, as distâncias dos planos de corte e de projeção ao ponto de

vista da perspectiva, passam a serem medidas em relação ao ponto de vista do olho,

sendo representadas pelas variáveis `n , `f e Proj`z , conforme ilustrado na Figura 46.

Figura 46 – Posição dos planos de projeção Proj e de corte Frontal e Traseiro na abordagem proposta

Fonte: Autor

As distâncias dos planos de corte Frontal, de corte Traseiro e de Projeção ao

olho são dadas por

Page 67: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

51

−=

−=−=

OlhomeVista

OlhomeVistame

OlhomeVistame

zdd

zff

znn

ProjProj`

`

`

(22)

para orientação de mão esquerda e

+=

+=+=

OlhomdVista

OlhomdVistamd

OlhomdVistamd

zdd

zff

znn

ProjProj`

`

`

(23)

para orientação de mão direita.

4.4. MATRIZES TRANSFORMAÇÃO DA CG 3D NA ABORDAGEM P ROPOSTA

Na abordagem proposta, a nova matriz vista, ou matriz vista substituta VistaM `

é obtida com a translação da origem do sistema referencial Vista para a posição do

ponto de vista do olho, sendo

−−−

=

1

0100

0010

0001

`

OlhoVistaOlhoVistaOlhoVista

VistameVista

me

zyx

MM (24)

para orientação da mão esquerda e

VistamdOlhoVista

OlhoVista

OlhoVista

Vistamd

Mz

y

x

M

−−−

=

1000

100

010

001

` (25)

para orientação de mão direita.

Se na matriz de projeção, formulada na equação 16, as variáveis n, f , Projd e

Aspecto forem substituídas respectivamente pelas variáveis `n , `f , Proj`d e `Aspecto ,

o volume de visualização no espaço de projeção Proj` fica deslocado nas direções x

e y . Portanto a nova matriz projeção, ou matriz projeção substituta Proj`M , que

normaliza as dimensões do novo volume de visualização e compatibiliza o aspecto do

porto de visualização com o aspecto do monitor, corresponde a

Page 68: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

52

∆∆

−−

−=

10

0100

0010

0001

.

0``

``.).(00

1``

`.`.00

00``2

0

000`2

`

ProjProj

ProjProj

Proj

Proj

Pr

yx

nf

fnzznf

nzfz

Aspectow

dw

d

M

fmenme

nmefme

v

v

ojme

,

ou ainda

−−

−∆∆

=

0``

``.).(00

1``

`.`.

00``2

0

000`2

`

ProjProj

ProjProj

Proj

Proj

Proj

nf

fnzznf

nzfzyx

Aspectow

dw

d

M

fmenme

nmefme

v

v

me

(26),

na qual x∆ e y∆ correspondem ao deslocamento do volume de visualização

normalizado no espaço de projeção.

O centro da janela de visualização tem coordenadas homogêneas

[ ]1P̀rojdyx OlhoVistaOlhoVista −− no espaço Vista` e coordenadas homogêneas

[ ]ProjProjProjProj ``.`00 dnd no espaço Proj`. As incógnitas x∆ e y∆ podem ser

determinadas pelo equacionamento

[ ] [ ]ProjProjProjProjProj

ProjProjista ``.`00`1` dndMdyxme

OlhoOlhoVista =−− ,

correspondente ao sistema de equações

=∆+−

=∆+−

0.```2

.

0.``2

.

ProjProj

Projista

PrProj

ydAspectow

dy

xdw

dx

vOlho

ojv

OlhoVista

,

que tem como solução

v

OlhoVista

w

xx

2=∆ e `2

Aspectow

yy

v

OlhoVista=∆ .

Substituindo estas variáveis na equação 26, obtém-se

Page 69: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

53

−−

−−=

0``

``.).(00

1``

`.`.`

22

00``2

0

000`2

`

ProjProj

ProjProj

Proj

Proj

Proj

nf

fnzznf

nzfzAspecto

w

y

w

x

Aspectow

dw

d

M

fn

nf

v

OlhoVista

v

OlhoVista

v

v

me

(27).

Transformando esta matriz para sistema de orientação de mão direita com a equação

7, obtém-se

−−

−−

−−

=

0100``

``.).(

``

`.`.00

0`2

``2

0

02

0`2

`

ProjProjProjProj

Proj

Proj

Proj

nf

fnzz

nf

nzfz

Aspectow

yAspecto

w

dw

x

w

d

M

fnnf

v

OlhoVista

v

v

OlhoVista

v

md

(28).

Ao Substituir 0Proj =nz e 1Proj =fz na equação 27 para o Direct3D; 0Pr =noj z e

1Proj −=fz na equação 28 para o Direct3D 11 e 1Proj =nz e 1Proj −=fz na equação 28

para o OpenGL, estas matrizes resultam respectivamente em

−−

=

0``

``.00

1``

``

22

00``2

0

000`2

`

Proj

Proj

Proj3

nf

fnnf

fAspecto

w

y

w

x

Aspectow

dw

d

M

v

OlhoVista

v

OlhoVista

v

v

DDirect (29),

−−

−−

=

0100``

``.

``

`00

0`2

``2

0

02

0`2

`Proj

Proj

Proj113

nf

fn

nf

f

Aspectow

yAspecto

w

dw

x

w

d

Mv

OlhoVista

v

v

OlhoVista

v

DDirect (30)

Page 70: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

54

e

−−−

+−

=

0100``

``..2

``

``00

0`2

``2

0

02

0`2

`Proj

Proj

Proj

nf

fn

nf

nf

Aspectow

yAspecto

w

dw

x

w

d

Mv

OlhoVista

v

v

OlhoVista

v

OpenGL (31).

O rastreador de cabeça determina a posição do ponto de vista dos olhos do

observador no sistema referencial Real OlhopReal , cujas coordenadas precisam ser

transformadas para o sistema referencial Vista da reprodução básica OlhoVista p . Para

isto, é definida a matriz alMRe , que transforma as coordenadas do sistema referencial

Real para o sistema referencial Vista da reprodução básica, a partir do

equacionamento para orientação de mão esquerda

almeOlhomealOlhomeVista

MppReRe

= (32)

e para orientação de mão direita

Olhome

T

alalmeOlhomdVista

pMpReRe

= (33).

Como a inclinação da câmera abstrata corresponde à inclinação do porto de

visualização, que por sua vez, corresponde à inclinação do monitor, a direção e o

sentido dos eixos x, y e z são os mesmos nos sistemas referenciais Vista e Real,

portanto a transformação de coordenadas do sistema referencial Real para o sistema

referencial Vista se resume na translação da origem do centro da janela de

visualização para a posição da câmera abstrata e na mudança de escala, por

intermédio de um fator de escala s, resultando em

=

1

000

000

000

Re

VVistaVVistaVVista

alme

zyx

s

s

s

M .

Como o centro do monitor se encontra sobre o eixo z no sistema referencial

Vista da reprodução básica e a janela de visualização fica no plano de projeção, vale

0=VVista x , 0=VVista y e ProjdzVlhVista

= , resultando em

Page 71: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

55

=

100

000

000

000

Proj

Re

d

s

s

s

Malme

(34).

Por conveniência, a orientação do sistema referencial Real será sempre de mão

esquerda. A matriz Real almd

MRe

, que transforma as coordenadas do sistema referencial

Real com orientação de mão esquerda para coordenadas do sistema referencial Vista

com orientação de mão direita corresponde a

−=

1000

00

000

000

.

1000

0100

0010

0001

ProjRe ds

s

s

Malmd

,

resultando em

−−=

1000

00

000

000

ProjRe ds

s

s

Malmd

(35).

O fator de escala s pode ser obtido pela relação entre a largura da janela de

visualização no sistema referencial Visa VVista w e a largura real do monitor Dal wRe ,

resultando em

Dal

vVista

w

ws

Re

= (36).

Substituindo as equações 34 e 35 na equação 32, obtêm-se as coordenadas

do ponto de vista do olho para orientação de mão esquerda

[ ] [ ]

=

100

000

000

000

.11

Proj

RealRealReal

d

s

s

s

zyxzyxOlhome

OlhoOlhoOlhomeVista

OlhoVistaOlhoVista

e orientação de mão direita

−−=

1

.

1000

00

000

000

1Real

Real

Real

ProjOlhome

Olho

Olho

OlhomdVista

OlhoVista

OlhoVista

z

y

x

ds

s

s

z

y

x

,

Page 72: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

56

ou ainda,

sxx OlhoOlhoVista .Real= (37),

syy OlhoOlhoVista .Real= (38) e

ProjReal

. dszzOlhomeOlhomeVista

+= (39)

para orientação de mão esquerda e

).( ProjReal

dszzOlhomdOlhomdVista

+−= (40)

para orientação de mão direita.

4.5. VARIÁVEIS EXTRAIDAS DA NATRIZ PROJEÇÃO ORIGINA L

Com base nas equações 18, 19 e 20, as variáveis n e f são obtidas para

cada caso particular:

• Para o Direct3D:

33Proj3

43Proj3

DDirect

DDirect

m

mn −= (41)

e

33Proj3

11

DDirectm

nf

−= (42).

• Para o Direct3D 11:

33Proj113

34Proj113

DDirect

DDirect

m

mn = (43)

e

33Proj113

11

DDirectm

nf

+= (44).

• Para o OpenGL:

Page 73: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

57

33Proj

34Proj

1OpenGL

OpenGL

m

mn

+−= (45)

e

1

1

33Proj

33Proj

+

−=

OpenGL

OpenGL

m

mnf (46).

Para as três bibliotecas gráficas, das equações 18, 19 e 20, obtém-se

11Proj

Proj2

m

dwv = (47).

Page 74: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

58

Capítulo 5

PROJETO

No projeto, a reprodução do efeito 3D e a apresentação MEF voltada para o

efeito 3D são tratadas de forma independente.

A reprodução do efeito 3D é abstraída como uma camada de software, na qual,

o par de matrizes originais, que define a perspectiva a ser apresentada em um monitor

2D sobre o ponto de vista da câmera abstrata, é substituído por pares de matrizes

substitutas, que definem a perspectiva a ser apresentada a cada olho do observador

por um monitor estereoscópico. As matrizes transformação originais são geradas pela

aplicação gráfica, que as parametrizam ao sistema de renderização. Na camada do

efeito 3D, as matrizes transformação substitutas são determinadas a partir das

matrizes originais e da posição do ponto de vista de cada olho do observador, medida

pelo rastreador de cabeça.

A apresentação MEF é dividida em representação gráfica e na interface de

interação com usuário. São apresentadas possibilidades de representação 3D de

campos escalares e vetoriais e as necessidades de interação que favorecem a

acuidade visual. Para prova de conceito, são selecionadas as reproduções gráficas

que menos causam latência no processo de renderização, visando obter um efeito 3D

de melhor qualidade.

5.1. EFEITO 3D COMPOSTO

Neste tópico, são apresentados: o princípio de funcionamento; a inserção da

camada do efeito 3D; o projeto do rastreador de cabeça; as variáveis de configuração

do ambiente; a obtenção das matrizes transformação substitutas, a ordem em que as

variáveis são determinadas e a configuração ideal na reprodução do efeito 3D.

Page 75: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

59

5.1.1. Princípio de Funcionamento

A Figura 47 ilustra a situação denominada de Reprodução Básica , em que

uma aplicação gráfica 3D parametriza o sistema de renderização com o par de

matrizes que define a perspectiva sobre o ponto de vista da câmera abstrata.

Figura 47 - Reprodução Básica, em que a aplicação gráfica envia para o sistema de renderização as

matrizes que definem a perspectiva sobre o ponto de vista da câmera abstrata

Fonte: Autor

A Figura 48 ilustra a situação denominada de Reprodução com o Efeito 3D ,

em que a camada de software, inserida entre a aplicação gráfica 3D e o sistema de

renderização, substitui o par de matrizes da reprodução básica VistaM e ProjM por um

par de matrizes substitutas Vista`M e Proj`M para cada olho, Vista`Moe e Proj`Moe para o

olho esquerdo e Vista`Mod e Proj`Mod para o olho direito.

Figura 48 - Reprodução com o Efeito 3D, em que uma camada de software envia para o sistema de

renderização os pares de matrizes que definem as perspectivas sobre o ponto de vista de

cada olho

Fonte: Autor

Page 76: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

60

5.1.2. Inserção da Camada de Efeito 3D

Conforme ilustrado na Figura 57, quanto ao uso da CPU, a plataforma

Windows é dividida em duas macro camadas: a camada de Software está associada

ao processamento realizado pela CPU e a camada de Hardware está associada às

tarefas realizadas pelos periféricos.

Figura 49 – Camadas Lógicas da Computação Gráfica da plataforma Windows

Fonte: (DirectDraw Architecture)

A aplicação gráfica acessa a biblioteca gráfica, que verifica quais recursos

estão disponíveis no hardware abstrato, delegando todo processamento possível. O

processamento que não pode ser efetuado pelo hadware abstrato é emulado no HEL

(Hardware Emulation Layer).

A biblioteca gráfica se comunica com o driver do adaptador de vídeo através de

uma interface padrão, que independe do fabricante ou modelo do adaptador de vídeo,

por isso a denominação de hardware abstrato. Cabe ao fornecedor da placa

adaptadora de vídeo fornecer o driver com a interface padrão que compatibiliza o

adaptador de vídeo com o hardware abstrato.

O driver do adaptador de video delega a renderização ao respectivo hardware

(adaptador de vídeo), podendo até emular parte da renderização na própria camada

de software. A placa com maior suporte de funcionalidades é conhecido por placa

aceleradora de vídeo.

Page 77: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

61

A camada de software que reproduz o efeito 3D, que substitui as matrizes que

parametrizam o sistema de renderização, pode ser inserida na camada de aplicação,

na camada de biblioteca gráfica, na camada de abstração de hardware ou na camada

de hardware.

No protótipo implementado para a prova de conceito, a camada do efeito 3D é

inserida na camada de aplicação, por ser a camada de mais fácil acesso, mas a

inserção desta camada abaixo da camada de aplicação pode disponibilizar este efeito

de forma automática, em que qualquer aplicação gráfica reproduz o efeito sem a

necessidade de ser especialmente desenvolvida com este recurso.

5.1.3. Rastreador de Cabeça

Para que a imagem apresentada no monitor e vista por um olho seja

exatamente uma perspectiva do cenário virtual no ponto de vista deste olho, é

necessário medir a posição de cada ponto de vista ocular, que se considera estar

próximo ao centro do cristalino e ao centro da pupila.

A necessidade do uso de óculos estereoscópicos, para filtrar a imagem vista

por cada olho, faz com que a medida da posição dos pontos de vista dos olhos seja

indireta, em que um rastreador de óculos meça o posicionamento do par de óculos

estereoscópico e que um rastreador de olhos, solidário a este par de óculos, meça a

posição do ponto de vista de cada olho no sistema referencial do par de óculos,

também denominado por sistema referencial da cabeça. A Figura 50 ilustra os

componentes do rastreador de cabeça.

Figura 50 – Componentes do Rastreador de Cabeça

Fonte: Autor

Page 78: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

62

Na determinação das coordenadas 3D no sistema referencial Real, é

necessário manipular coordenadas em diferentes sistemas referenciais. Além do

sistema referencial Real, são definidos o sistema referencial 2D de projeção da

câmera que rastreia os óculos; o sistema referencial 3D desta câmera e o sistema

referencial 3D da cabeça, ilustrados na Figura 51.

Figura 51 - Sistemas Referenciais de Projeção da Câmera; da Câmera; da Cabeça e Real

Fonte: Autor

O sentido dos eixos do espaço 3D da câmera não é pré-definido, ficando

definido após a escolha da transformação do espaço de projeção da câmera para este

espaço, em que serão dispensadas constantes de proporcionalidade.

Page 79: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

63

A Tabela 5.1 define as siglas dos sistemas referenciais apresentados neste

tópico.

Tabela 5.1 – Abreviações dos sistemas referenciais usadas em índices Sistema Referencial Abreviação Projeção da câmera Prj Da Câmera Cam Da Cabeça Cabeça

5.1.3.1. Protótipo do Rastreador de Óculos

A medida do posicionamento de um objeto no espaço 3D exige o mínimo de

seis grandezas escalares, uma para cada grau de liberdade do objeto no espaço 3D.

O 6DoF (six degree of freedom) é uma medida usual destes seis graus de liberdade,

sendo composta pelas três coordenadas 3D de posição e por três medidas de

inclinação, uma para cada eixo de rotação 3D, conhecidas por pitch, yaw e roll.

Para medir o posicionamento da cabeça, optou-se em utilizar as coordenadas

3D da posição da cabeça Cabeçapr

Real , o versor Frentenv

Real que aponta para frente da

cabeça, o versor Supnr

Real que aponta para a direção superior da cabeça e o versor

Dirnr

Real que aponta para o lado direito da cabeça no sistema referencial Real, conforme

ilustrado na Figura 60.

Figura 52 - Medida adotada de posicionamento da cabeça

Fonte: Autor

Page 80: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

64

Com a origem na posição da cabeça Cabeçap , os versores Frentenv

Real , Supal nr

Re e

Diral nr

Re definem o sistema referencial denominado por sistema referencial da Cabeça

ou sistema referencial dos Óculos.

Por ser mais simples de implementar, optou-se em utilizar uma câmera

infravermelha que identifica pontos emissores ou refletores de luz infravermelha fixos

no par de óculos.

Para simplificar o equacionamento, a implementação e o processo de

calibração do protótipo do rastreador de óculos destinado à prova de conceito, foram

adotadas condições simplificadoras que limitam os graus de liberdade de

movimentação da cabeça, estabelecem restrições no posicionamento da câmera em

relação ao monitor e definem a posição dos pontos referência nos óculos.

A condição simplificadora que restringe o posicionamento da cabeça do

observador, ilustrada na Figura 53, impõe que a cabeça do observador esteja sempre

na direção ortogonal ao monitor, o que limita seu posicionamento em quatro graus de

liberdade: três graus de seu translado e um grau de liberdade de sua rotação em torno

do eixo ortogonal ao monitor.

Figura 53 - Condição simplificadora que limita o posicionamento da cabeça em quatro graus de

liberdade, em que o observador deve olhar sempre na direção ortogonal ao monitor

Fonte: Autor

A condição simplificadora que restringe o posicionamento da câmera, ilustrada

na Figura 54, estabelece que o eixo horizontal seja paralelo ao eixo horizontal do

monitor (vista frontal) e permite uma pequena inclinação da câmera em relação a este

eixo (vista lateral).

Page 81: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

65

Figura 54 - Condição simplificadora que restringe o posicionamento da câmera

Fonte: Autor

A tolerância da inclinação da câmera é necessária para que esta possa

visualizar toda a região de posicionamento da cabeça do observador.

O posicionamento da cabeça do observador, com estas condições

simplificadoras, pode ser estimado localizando dois pontos referência dos óculos em

uma imagem capturada pela câmera: o ponto referência direito Dirp e o ponto

referência esquerdo Esqp , conforme ilustrado na Figura 55.

Figura 55 - Captura de dois pontos dos óculos a partir de uma câmera

Fonte: Autor

A condição simplificadora que define a posição dos pontos referência nos

óculos, ilustrado na Figura 56, impõe o paralelismo entre a linha que passa pelos

pontos de vista dos olhos e a linha que passa pelos pontos referência e a existência

de um plano de simetria ortogonal a estas linhas, equidistante dos olhos e dos pontos

referência.

Page 82: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

66

Figura 56 – Condição simplificadora que define a posição dos pontos referência nos óculos

Fonte: Autor

Quanto mais estas condições forem satisfeitas, mais precisa será a medida da

posição real dos pontos de vista dos olhos do observador. A calibração do rastreador

de cabeça e a tolerância à mudança da direção da cabeça minimizam as incertezas,

mas é conveniente que precauções sejam tomadas para maximizar a satisfação

destas condições.

Como ponto que representa a posição da cabeça Cabeçaal pRe , optou-se pelo

ponto médio dos pontos referência, conforme ilustrado na Figura 57.

Figura 57 – Posição da Cabeça

Fonte: Autor

No plano de projeção da câmera, a imagem é capturada e representada em

um mapa de bits, ou seja, uma matriz bidimensional em que cada elemento discreto

da imagem (pixel) representa uma cor. O mapa de bits corresponde a um sistema

referencial de duas dimensões, denominando de sistema referencial de projeção da

câmera, em que a origem se localiza na posição superior esquerda, o eixo de

coordenada horizontal tem sentido positivo da direita para a esquerda em relação ao

observador e o eixo de coordenada vertical tem sentido positivo para baixo.

Page 83: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

67

Na imagem capturada pela câmera, são reconhecidos os pontos referência e

determinadas as suas coordenadas neste sistema referencial [ ]DirDir yx PrjPrj e

[ ]EsqEsq yx PrjPrj . Considerando que a inclinação da câmera em relação ao monitor não

seja acentuada, é razoável aproximar a posição da cabeça no espaço 2D de projeção

da câmera Prj ao ponto médio dos pontos referência neste mesmo referencial,

conforme ilustrado na Figura 58, resultando no equacionamento

2PrjPrj

PrjEsqDir

Cabeça

xxx

+≅ (48)

e

2PrjPrj

PrjEsqDir

Cabeça

yyy

+≅ (49).

Figura 58 - Sistema Referencial de Projeção da Câmera

Fonte: Autor

Pelas propriedades de projeção, a coordenada de profundidade da posição da

cabeça no espaço da câmera CabeçazCam seria inversamente proporcional ao módulo do

vetor Direita Dirvr

Prj , que une os pontos referência no espaço de projeção da câmera

Prj conforme ilustrado na Figura 59, se a relação entre o componente vertical e o

horizontal deste segmento neste espaço fosse igual à mesma relação no espaço Real.

Estas relações não são iguais devido à inclinação da câmera e a uma possível

diferença de escala entre as coordenadas vertical e horizontal do espaço referencial

de projeção da câmera. Os componentes deste segmento no espaço de projeção da

câmera correspondem a

Page 84: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

68

−=−=

EsqDirvDir

EsqDirvDir

yyy

xxx

PrjPrjPrj

PrjPrjPrj (50).

Figura 59 – Vetor Direita Dirvr

Fonte: Autor

Utilizando uma variável r , que iguale estas relações em vDiral

vDiral

vDir

vDir

x

y

x

yr

Re

Re

Prj

Prj = , ou

ainda,

vDir

vDir

vDiral

vDiral

y

x

x

yr

Prj

Prj

Re

Re= (51),

faz com que a coordenada CabeçazCam seja inversamente proporcional a

2Prj

22Prj vDirvDir yrx + . Adotando uma coordenada de profundidade no espaço 3D da

Câmera CabeçazCam , que dispense uma constante de proporcionalidade na sua

determinação, tem-se

2Prj

22Prj

1

vDirvDir

CabeçaCamyrx

z+

= (52).

Pelas propriedades de projeção, as coordenadas horizontal e vertical no

espaço de projeção Cabeçaj xPr e Cabeçaj yPr são diretamente proporcionais às respectivas

coordenadas no espaço 3D da câmera CabeçaCamx e CabeçaCamy e inversamente

proporcionais à coordenada de profundidade do espaço 3D da câmera CabeçazCam .

Adotando coordenadas que dispensam constantes de proporcionalidade na sua

determinação, tem-se

Page 85: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

69

=

=

CabeçaCam

CabeçaCamCabeça

CabeçaCam

CabeçaCamCabeça

z

yy

z

xx

Prj

Prj

,

que substituindo a equação 52, resulta em

+=

+=2

Prj22

PrjPrj

2Prj

22PrjPrj

vDirvDirCabeçaCamCabeça

vDirvDirCabeçaCamCabeça

yrxyy

yrxxx.

Portanto, desta equação e da equação 52, as coordenadas da cabeça no

espaço 3D da Câmera correspondem a

+=

+=

+=

2Prj

22Prj

2Prj

22Prj

Pr

2Prj

22Prj

Prj

1

vDirvDir

CabeçaCam

vDirvDir

CabeçajCabeçaCam

vDirvDir

CabeçaCabeçaCam

yrxz

yrx

yy

yrx

xx

(53).

A posição da cabeça no sistema referencial Real é obtida pela matriz RM , que

transforma as coordenadas do espaço 3D da câmera para o espaço Real

RCabeçaCamCabeçaal Mpp =Re (54).

Esta matriz e a variável r são determinadas na calibração do rastreador de óculos.

A calibração do rastreador de óculos consiste em posicionar o par de óculos

em quatro posições de coordenadas conhecidas no espaço Real, sempre o mantendo

na horizontal e na direção ortogonal ao monitor.

A partir das coordenadas conhecidas no espaço Real e das calculadas no

espaço 3D da câmera, obtém-se o equacionamento

[ ] [ ][ ] [ ][ ] [ ][ ] [ ]

====

RCamCamCamalalal

RCamCamCamalalal

RCamCamCamalalal

RCamCamCamalalal

Mzyxzyx

Mzyxzyx

Mzyxzyx

Mzyxzyx

11

11

11

11

4444Re4Re4Re

3333Re3Re3Re

2222Re2Re2Re

1111Re1Re1Re

(55).

Isolando as incógnitas, que são os elementos da matriz RM , tem-se o sistema de

equações

Page 86: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

70

=

4Re

4Re

4Re

3Re

3Re

3Re

2Re

2Re

2Re

1Re

1Re

1Re

43

42

41

33

32

31

23

22

21

13

12

11

444

444

444

333

333

333

222

222

222

111

111

111

100000000

010000000

001000000

100000000

010000000

001000000

100000000

010000000

001000000

100000000

010000000

001000000

z

y

x

z

y

x

z

y

x

z

y

x

m

m

m

m

m

m

m

m

m

m

m

m

zyx

zyx

zyx

zyx

zyx

zyx

zyx

zyx

zyx

zyx

zyx

zyx

al

al

al

al

al

al

al

al

al

al

al

al

CamCamCam

CamCamCam

CamCamCam

CamCamCam

CamCamCam

CamCamCam

CamCamCam

CamCamCam

CamCamCam

CamCamCam

CamCamCam

CamCamCam

(56).

Ao resolver este sistema linear, obtêm-se os elementos da matriz RM . Este

sistema de equações deve ser determinável quando os quatro pontos de calibração

não forem coplanares, portanto é conveniente que o tetraedro, que tem estes quatro

pontos de coordenadas conhecidas como vértices, se aproxime a um tetraedro

equilátero.

A variável r pode ser estimada transformando a direção do vetor Dirvr

do

espaço 3D da Câmera para o espaço Real com

[ ] [ ] RvDirCamvDirCamvDirCamvDiralvDirvDir Mzyxzyx 00ReRealReal = ,

na qual

EsqDirvDir xxx RealRealReal −= (57),

EsqDirvDir yyy RealRealReal −= (58),

EsqalDirvDir zzz ReRealReal −= (59),

2Prj

22Prj

Prj

vDirvDir

vDirvDirCam

yrx

xx

+= (60),

2Prj

22Prj

Prj

vDirvDir

vDirvDirCam

yrx

yy

+= (61)

e

EsqCamDirCamvDirCam zzz −= (62).

Dividindo vDirCamx por vDirCam y obtém-se a relação

vDir

vDir

vDirCam

vDirCam

y

x

y

x

Prj

Prj= (63).

Page 87: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

71

Como os dois pontos referência estão na mesma profundidade no espaço

Real para as condições simplificadoras, o componente vDirzReal no protótipo do

rastreador de óculos é considerado nulo, resultando em

[ ] [ ] RvDirCamvDirCamvDirCamvDirvDir Mzyxyx 000RealReal = ,

ou ainda,

312111Real mzmymxx vDirCamvDirCamvDirCamvDir ++= (64),

322212Real mzmymxy vDirCamvDirCamvDirCamvDir ++= (65)

e

3323130 mzmymx vDirCamvDirCamvDirCam ++≅ .

Isolando a variável vDirCamz desta última equação, obtém-se

33

2313 ..m

mymxz vDirCamvDirCam

vDirCam

+−≅ (66).

Como o eixo horizontal do espaço 3D da câmera deve ser paralelo ao eixo

horizontal do espaço Real, o eixo x de um espaço deve ser ortogonal ao eixo y do

outro espaço, fazendo com que os elementos 12m , 13m , 21m e 31m da matriz RM

devam ser nulos, resultando em

+≅+≈

3323

3222Real

11Real

0 mzmy

mzmyy

mxx

vDirCamvDirCam

vDirCamvDirCamvDir

vDirCamvDir

,

que resulta em

−≈

)( 3233

2322Real

11Real

mm

mmyy

mxx

vDirCamvDir

vDirCamvDir

.

Dividindo a segunda equação pela primeira, obtém-se

3311

32233322

Real

Real

mm

mmmm

x

y

x

y

vDirCam

vDirCam

vDir

vDir −≈ ,

ou ainda 3311

32233322

Real

Real

mm

mmmm

y

x

x

y

vDirCam

vDirCam

vDir

vDir −≈ ,

que ao substituir a equação 63 obtém-se

Page 88: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

72

3311

32233322

Prj

Prj

Real

Real

mm

mmmm

y

x

x

y

vDir

vDir

vDir

vDir −≈ ,

que por sua vez, ao substituir a equação 51 resulta em

3311

32233322

mm

mmmmr

−≈ (67).

Se algum dos valores dos elementos 12m , 13m , 21m e 31m da matriz RM

determinada na calibração não for próximo de zero, ou a câmera não foi bem

posicionada ou os óculos não foi posicionado adequadamente nos quatro pontos

conhecidos. A verificação destes elementos da matriz serve como validação da

calibração.

Por ser imposto que a direção da cabeça do observador seja sempre ortogonal

ao monitor nas condições simplificadora, tem-se que o versor Frentenv

para o protótipo

do rastreador de óculos corresponde a

[ ] [ ]100RealRealRealRe ≅= nFrentenFrentenFrenteFrenteal zyxnv

(68).

O versor Dirnr

Real é obtido dividindo o vetor Dirvr

pelo seu módulo, resultando

[ ]

++== 0

2Real

2Real

Real

2Real

2Real

RealRealRealRealReal

vDirvDir

vDir

vDirvDir

vDirnDirnDirnDirDir

yx

y

yx

xzyxn

r (69).

O versor Supal nr

Re é obtido pelo produto vetorial DirFrenteSup nnnrrr

RealRealReal ^= , dado por

−=−=−=

nDirnFrentenFrentenDireitanSup

nDirnFrentenDireitanFrentenSup

nDirFrentenDireitanFrentenSup

xyxyz

zxxzy

yzzyx

RealRealRealRealReal

RealRealRealRealReal

RealRealRealRealReal

.

Como 0Real ≅nFrentex , 0Real ≅nFrentey , 1Re ≅nFrenteal z e 0Real ≅nDirz para as condições

simplificadoras, os componentes do versor que aponta para a direção superior da

cabeça no protótipo do rastreador de óculos valem

≅≅−≅

0Real

RealReal

RealReal

nSup

nDirnSup

nDirnSup

z

xy

yx

(70).

Page 89: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

73

5.1.3.2. Protótipo do Rastreador de Olhos

Devido à impossibilidade de medir a posição exata do ponto de vista de cada

olho em relação ao par de óculos no protótipo, optou-se em estimar esta posição. Esta

posição é estimada a partir de variáveis de parametrização do rastreador de olhos,

que são: a distância entre os olhos do observador; a altura e a distância da linha dos

olhos em relação à linha que passa pelos pontos referência.

A distância entre os olhos é conhecida na estereoscopia por Separação

(Separation), conforme ilustrado na Figura 60.

Figura 60 – Variável Separação

Fonte: Autor

Conforme ilustrado na Figura 61, a altura e a distância da linha dos olhos em

relação à linha que passa pelos pontos referência correspondem, respectivamente, às

coordenadas dos olhos no sistema referencial da cabeça OlhosCabeçay e OlhosCabeçaz .

Figura 61 - Coordenadas vertical e de profundidade da que passa pelo ponto de vista dos dois olhos no

sistema referencial da Cabeça

Fonte: Autor

Page 90: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

74

Visando a simplificação do projeto no protótipo, considera-se que a posição

média esperada de cada ponto de vista dos olhos independe do posicionamento da

cabeça e que, esta posição média esperada corresponde à situação em que o

observador esteja olhando para um ponto a sua frente no infinito. Portanto, nestas

condições, as coordenadas dos olhos direito (od ) e esquerdo (oe) no sistema

referencial da cabeça correspondem a

−≈

OlhosCabeçaOlhosCabeçaoeCabeça

OlhosCabeçaOlhosCabeçaodCabeça

zySeparação

p

zySeparação

p

2

2 (71).

5.1.3.3. Determinação da Posição Real do Ponto de V ista de cada Olho

As coordenadas do ponto de vista de cada olho no sistema referencial Real são

determinadas a partir da posição dos óculos no sistema referencial Real, das

coordenadas dos olhos no sistema referencial da cabeça e dos versores que definem

a inclinação da cabeça do observador em

−++=+++=

DirCabeçaoeCabeçaSupCabeçaoeCabeçaFrenteCabeçaoeCabeçaCabeçaoe

DirCabeçaodCabeçaSupCabeçaodCabeçaFrenteCabeçaodCabeçaCabeçaod

nxnynzpp

nxnynzppvvv

vvv

...

...

RealReal

RealReal (72).

Para o protótipo, vale substituir as variáveis determinadas nas equações 68, 69, 70 e

71, resultando em

+≈

−+≈

−+≈

+≈

++≈

++≈

OlhosCabeçaCabeçaoe

nDirnSupOlhosCabeçaCabeçaoe

nDirnSupOlhosCabeçaCabeçaoe

OlhosCabeçaCabeçaod

nDirnSupOlhosCabeçaCabeçaod

nDirnSupOlhosCabeçaCabeçaod

zzz

ySeparação

yyyy

xSeparação

xyxx

zzz

ySeparação

yyyy

xSeparação

xyxx

RealReal

RealRealRealReal

RealRealRealReal

RealReal

RealRealRealReal

RealRealRealReal

.2

.

.2

.

.2

.

.2

.

(73).

Page 91: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

75

5.1.4. Determinação da variável Projd

A variável Projd não é determinável a partir das matrizes transformação que

definem a perspectiva sobre o ponto de vista da câmera abstrata. O ideal é que esta

variável seja parametrizada pela aplicação gráfica, mas para o efeito 3D automático,

esta variável deve ser uma variável de configuração, que pode ser ajustada pelo

usuário durante a reprodução do efeito 3D. Também é possível disponibilizar ao

usuário o comando de ajuste ótimo, em que a camada do efeito 3D posiciona o plano

de projeção no centro do cenário visualizado.

5.1.5. Variáveis de Configuração do Ambiente

Além das variáveis extraídas das matrizes originárias da reprodução básica, a

camada de software precisa de variáveis de configuração. No protótipo, as variáveis

de configuração do ambiente são armazenadas em arquivos. São variáveis de

configuração ambiente:

• As coordenadas reais dos quatro pontos de calibração do rastreador de óculos.

• As variáveis RM e r : determinadas na calibração e utilizadas pelo rastreador

de óculos.

• As variáveis Separação, OlhosCabeçay e OlhosCabeçaz , que parametrizam o rastreador

de olhos do protótipo.

• As características do monitor Dw e `Aspecto.

• A variável ajustável Projd .

5.1.6. Ordem de Determinação das Variáveis no Protó tipo

No software, as variáveis precisam seguir uma ordem de determinação.

Na calibração, são determinados:

• A matriz RM com a resolução do sistema de equações 56;

• O fator de correção r a partir da equação 67 (3311

32233322

mm

mmmmr

−≅ ).

Page 92: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

76

A partir da configuração do ambiente, são determinadas:

• As coordenadas da linha dos olhos no espaço da Cabeça OlhosCabeçay , OlhosCabeçaz

• A largura do monitor Dw ;

• O aspecto do monitor `Aspecto e

• A distância do plano de projeção no espaço Vista Projd .

No rastreador de óculos, após a determinação das coordenadas dos olhos no

espaço de projeção DirxPrj , DiryPrj , EsqxPrj e EsqyPrj , são determinadas:

• As coordenadas da cabeça no espaço de projeção a partir das equações:

2PrjPrj

PrjEsqDir

Cabeça

xxx

+≈ (48)

e

2PrjPrj

PrjEsqDir

Cabeça

yyy

+≈ (49),

• Os componentes do vetor Direita

−=−=

EsqDirvDir

EsqDirvDir

yyy

xxx

PrjPrjPrj

PrjPrjPrj (50);

• As coordenadas da cabeça no espaço 3D da câmera

+=

+=

+=

2Prj

22Prj

2Prj

22Prj

Prj

2Prj

22Prj

Prj

1

vDirvDir

CabeçaCam

vDirvDir

CabeçaCabeçaCam

vDirvDir

CabeçaCabeçaCam

yrxz

yrx

yy

yrx

xx

(53);

• As coordenadas da cabeça no espaço Real

RCabeçaCamCabeçaal Mpp =Re (54);

• Os componentes do vetor Direita no espaço 3D da Câmera

Page 93: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

77

2Prj

22Prj

Prj

vDirvDir

vDirvDirCam

yrx

xx

+= (57),

2Prj

22Prj

Prj

vDirvDir

vDirvDirCam

yrx

yy

+= (58) e

33

2313 ..

m

mymxz vDirCamvDirCam

vDirCam

+−≅ (66);

• Os componentes do vetor Direita no espaço Real

312111Real ... mzmymxx vDirCamvDirCamvDirCamvDir ++= (64)

e

322212Real ... mzmymxy vDirCamvDirCamvDirCamvDir ++= (65);

• Os componentes do versor Direita no espaço Real

≈+

=

+=

0Real

2Real

2Real

RealReal

2Real

2Real

RealReal

nDir

vDirvDir

DistnDir

vDirvDir

vDirnDir

z

yx

yy

yx

xx

(69);

• Os componentes do versor Superior no espaço Real

≅≅−≅

0Real

ReReal

ReReal

nSup

nDiralnSup

nDiralnSup

z

xy

yx

(70)

e

• As coordenadas dos olhos no espaço Real

Page 94: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

78

+≈

−+≈

−+≈

+≈

++≈

++≈

OlhosCabeçaCabeçaoe

nDirnSupOlhosCabeçaCabeçaoe

nDirnSupOlhosCabeçaCabeçaoe

OlhosCabeçaCabeçaod

nDirnSupOlhosCabeçaCabeçaod

nDirnSupOlhosCabeçaCabeçaod

zzz

ySeparação

yyyy

xSeparação

xyxx

zzz

ySeparação

yyyy

xSeparação

xyxx

RealReal

RealRealRealReal

RealRealRealReal

RealReal

RealRealRealReal

RealRealRealReal

.2

.

.2

.

.2

.

.2

.

(73)

Na camada de software do efeito 3D, que tem acesso às matrizes

transformação que definem a perspectiva do cenário sobre o ponto de vista da câmera

abstrata VistaM e ProjM , são determinados:

• A posição do plano de corte Frontal no Espaço Vista

33Proj3

43Proj3

DDirect

DDirect

m

mn −= (41)

para o Direct3D,

33Pr113

34Proj113

ojDDirect

DDirect

m

mn = (43)

para o Direct3D11 e

1

33Proj

34Proj

OpenGL

OpenGL

m

mn

+−= (45)

para o OpenGL;

• A posição do plano de corte Traseiro no Espaço Vista

33Proj3

11

DDirectm

nf

−= (42)

para o Direct3D,

Page 95: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

79

1

1

33Proj113DDirectm

nf

+= (44)

para o Direct3D11 e

1

1

33Proj

33Proj

+

−=

OpenGL

OpenGL

m

mnf (46)

para o OpenGL;

• A largura do porto de visualização no Espaço Vista

11Proj

Proj2

m

dwv = (47)

e

• O fator de escala

D

vVista

w

ws

Real

= (36).

Nesta camada de software, a posição real 3D do ponto de vista de cada olho é

tratada separadamente com as coordenadas [ ]OlhoOlhoOlho zyx RealRealReal , obtendo um

par de matrizes transformação substitutas VistaM` e Proj`M para cada olho, sendo

determinados:

• As coordenadas do olho no espaço Vista

sxx OlhoOlhoVista .Real= (37),

syy OlhoOlhoVista .Real= (38),

ProjReal

. dszzOlhomeOlhomeVista

+= (39)

para orientação de mão esquerda e

).( ProjReal

dszzOlhomdOlhomdVista

+−= (40)

para orientação de mão direita;

• As distâncias ao olho dos planos de corte Frontal, de corte Traseiro e de

Projeção

Page 96: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

80

−=

−=−=

OlhomeVista

OlhomeVistame

OlhomeVistame

zdd

zff

znn

ProjProj`

`

`

(22)

para orientação de mão esquerda e

+=

+=+=

OlhomdVista

OlhomdVistamd

OlhomdVistamd

zdd

zff

znn

ProjProj`

`

`

(23)

para orientação de mão direita. Obs: O plano de corte Frontal nunca pode estar

atrás do olho do observador, caso contrário, este plano de corte deve ser deslocado

para satisfazer esta condição, tornando positivo o valor da variável `n para os dois

olhos;

• A matriz Vista Substituta

1

0100

0010

0001

`

−−−

=

OlhoVistaOlhoVistaOlhoVista

VistameVista

me

zyx

MM (8)

para orientação de mão esquerda e

ViewrhOlhoVista

OlhoVista

OlhoVista

Vistarh

Mz

y

x

M

−−−

=

1000

100

010

001

` (9)

para orientação de mão esquerda;

• A matriz Projeção Substituta

−−

=

0``

``.00

1``

``

22

00``2

0

000`2

`

Proj

Proj

Proj3

nf

fnnf

fAspecto

w

y

w

x

Aspectow

dw

d

M

v

OlhoVista

v

OlhoVista

v

v

DDirect (29)

para Direct3D,

Page 97: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

81

−−

−−

=

0100``

``.

``

`00

0`2

``2

0

02

0`2

`Proj

Proj

Proj113

nf

fn

nf

f

Aspectow

yAspecto

w

dw

x

w

d

Mv

OlhoVista

v

v

OlhoVista

v

DDirect (30)

para Direct3D11 e

−−−

+−

=

0100``

``..2

``

``00

0`2

``2

0

02

0`2

`Proj

Proj

Proj

nf

fn

nf

nf

Aspectow

yAspecto

w

dw

x

w

d

Mv

OlhoVista

v

v

OlhoVista

v

OpenGL (31)

para OpenGL.

5.1.7. Configuração Ideal na Reprodução do Efeito 3 D Composto

A câmera do rastreador de cabeça solidária ao monitor permite que a

calibração seja feita uma única vez, ou seja, de fábrica. Portanto o rastreador de

cabeça deve ser componente do monitor.

A placa de vídeo pode ser otimizada para renderizar perspectivas para

diferentes pontos de vista para vários usuários de um único cenário. Portanto é

conveniente que a camada do efeito 3D seja inserida na placa de vídeo.

As coordenadas do ponto de vista dos olhos de um ou mais observadores

devem ser enviadas para a placa de vídeo, que por sua vez renderiza as perspectivas

sobre o ponto de vista de cada olho e as envia para o monitor reproduzi-las, de forma

que cada olho visualize apenas a sua respectiva perspectiva.

É possível implementar um monitor estereoscópico com câmera embutida, a

qual determina o posicionamento dos óculos, que por sua vez, possui câmeras que

reconhece o ponto de vista de cada olho, determina a posição de cada um e transmite

este dado para o monitor por ondas de rádio.

Page 98: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

82

A Figura 62 ilustra a configuração ideal da reprodução do efeito 3D, com

câmera do rastreador de cabeça solidária ao monitor.

Figura 62 – Configuração Ideal para o Efeito 3D, em que a camada de efeito 3D é inserida na camada

de hardware na placa de vídeo e o rastreador de cabeça é componente do monitor

Fonte: Autor

Os sensores de interação do usuário com o espaço virtual devem ser solidários

ao monitor para que a determinação das coordenadas 3D reais associadas aos

comandos de Realidade Virtual (RV) tenham o mesmo referencial que o rastreador de

cabeça. Portanto os sensores da interface de interação do usuário devem ser um

componente do monitor.

As coordenadas 3D dos comandos RV devem ser transformadas para o

espaço virtual, cuja matriz transformação está contida na camada do Efeito 3D.

Portanto é conveniente que os comandos 3D sejam tratados pela própria placa de

vídeo.

Page 99: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

83

5.2. APRESENTAÇÃO MEF VOLTADA PARA O EFEITO 3D

Neste trabalho, a apresentação MEF é subdividida em representação gráfica e

interação com o usuário. São apresentadas possibilidades de representação gráfica

de campos e especificados comandos de usuário por interação com o cenário no

espaço 3D.

Neste tópico, são apresentados também os dados da simulação MEF

necessários à sua apresentação e a especificação de quais representações devem

ser apresentadas no protótipo do Visualizador MEF 3D para prova de conceito,

visando o mínimo de latências no processo de renderização.

5.2.1. Representação Gráfica

Em um visualizador MEF 3D, é possível apresentar objetos geométricos, a

malha de elementos finitos, intensidades de campos (vetoriais e escalares), campos

vetoriais, linhas de campo e superfícies equipotenciais.

Os objetos geométricos podem ser representados por poliedros texturizados

(revestidos por materiais) ou simplesmente coloridos. A reprodução dos objetos com

mais realismo, ou seja, com texturas, reflexões, sombreamento e transparências,

enriquece o efeito 3D por explorar melhor as percepções de profundidade

monoculares.

A intensidade de campo é usualmente representada por coloração, com base

em escala de cores. A reprodução de intensidade de campo com base nesta escala

de cores em uma reprodução 2D de um corte 2D é usual, mas a reprodução em todo

espaço 3D de intensidades de campo com base em escala de cores polui a

visualização. Uma forma de evitar poluição visual é reproduzindo uma nebulosidade

monocromática, em que só se visualiza a nebulosidade onde o campo é mais intenso.

Outra forma, de se evitar poluição visual, é apresentando a intensidade de campo

apenas na superfície dos objetos geométricos, colorindo os respectivos poliedros

conforme as intensidades de campo.

O campo vetorial pode ser representado por setas que partem de pontos

distribuídos uniformemente. O comprimento de cada seta é proporcional à intensidade

do campo na sua origem. Esta representação de campo vetorial é usual em cortes 2D

Page 100: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

84

ou em superfícies geométricas, mas a representação de campo vetorial em todo o

espaço 3D pode poluir a visualização. As possibilidades de reproduzir campo vetorial

no espaço 3D evitando poluição visual são reproduzindo setas 3D em um corte, na

superfície dos objetos geométricos ou oferecendo seletividade em quais regiões do

espaço 3D devem ser apresentados estes campos. Estas regiões selecionáveis

podem ser: região que contem as linhas de campo que passam por partes

selecionadas de objetos sólidos ou volume em torno de um ponto referência indicado

pelo usuário.

As linhas de campo são representadas por linhas, cuja direção é representada

por setas. A seletividade de regiões, nas quais são apresentadas as linhas de campo,

evita poluição visual.

As superfícies equipotenciais podem ser representadas por superfícies

transparentes. A poluição visual pode ser evitada apresentando uma única superfície

equipotencial que passe por um ponto indicado.

Uma simulação MEF pode ser dinâmica ou estática, real ou complexa (fasorial).

Tanto a simulação dinâmica, quanto a estática complexa, deve ser reproduzida com

animação.

Os dados obtidos da simulação MEF, para serem reproduzidos em

apresentação gráfica 3D, devem conter: informações que definem os objetos

geométricos, suas partes e posicionamento no tempo; malhas 3D, com seus nós fixos

e móveis e; os valores dos campos atribuídos aos nós em cada elemento finito da

malha 3D para cada campo a cada instante.

5.2.2. Interação com Usuário

Em uma única simulação pelo Método dos Elementos Finitos existem diversos

campos a serem representados como o Elétrico, o Magnético e de Corrente, entre

outros, exigindo que o visualizador MEF permita selecionar para quais campos serão

apresentadas as intensidades, as linhas de campo e as superfícies equipotenciais.

É conveniente que partes de objetos possam ser selecionadas para definir

regiões de interesse, para as quais as representações de campos são apresentadas,

reduzindo poluição visual e oferecendo maior acuidade nestas regiões de interesse.

Page 101: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

85

O ideal é que o usuário possa interagir no espaço 3D, com auxílio de menu 3D,

a partir do qual se escolhe qual representação vai ser apresentada, para quais

campos, em quais regiões. Estas regiões podem ser definidas selecionando partes de

objetos ou indicando a região com o dedo. O usuário precisa ainda movimentar o

cenário e mudar escala (Zoom).

5.2.3. Apresentação MEF 3D no Protótipo

Tanto a texturização de objetos, como a reprodução de nebulosidade, quanto à

reprodução de superfícies transparentes, oferecem maior complexidade de

implementação e demanda maior tempo no processo de renderização, o que pode

comprometer o efeito 3D projetado. Portanto, a implementação destes recursos não

se justifica na implementação do protótipo.

Para a prova de conceito, não existe a necessidade de animações,

interatividade 3D, obtenção de cortes e nem de suporte a múltiplos campos.

No protótipo, considera-se suficiente a implementação da reprodução de

intensidade de campo na superfície dos objetos geométricos, de linhas de campo e de

campos vetoriais em apresentação não animada.

Para esta reprodução, os dados necessários a serem obtidos da aplicação

MEF são: geometria dos objetos definida por malhas superficiais; cor atribuída a cada

nó destas malhas superficiais e as trajetórias das linhas de campo.

Page 102: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

86

Capítulo 6

PARTE PRÁTICA - IMPLEMENTAÇÃO

Como hardware do rastreador de cabeça, optou-se em utilizar a câmera

infravermelha e um par de LEDs ou refletores infravermelhos fixados em um par de

óculos.

O desenvolvimento se iniciou com a inserção do efeito Head-Tracking em um

visualizador gráfico com base no StateManeger, aplicativo gráfico de código aberto

disponível no SDK (Software Development Kit) do DirectX 10. O SDK é um kit de

desenvolvimento de software, geralmente acompanhado com códigos fontes

exemplos.

A primeira tentativa de inserção do efeito estereoscópico foi utilizando o kit

NVIDIA 3D Vision, por oferecer vantagens inicialmente. Quando o mercado passou a

oferecer soluções estereoscópicas de melhor qualidade e menor custo, a grande

insatisfação obtida com o uso deste kit levou à sua substituição por solução

estereoscópica padrão de mercado baseada em HDMI 1.4.

Como plataforma de software com suporte a estereoscopia compatível com o

padrão HDMI 1.4, optou-se pela biblioteca DirectX 11.1, suportada apenas na

plataforma Windows Store App, no ambiente Visual Studio 2012 e no sistema

operacional Windows 8. O Visualizador MEF 3D foi desenvolvido com base em uma

aplicação do SDK do Windows Store App.

Testes com arquivos de formatos gráficos 3D exportados pelo aplicativo MEF

utilizado (Maxwell 3D) revelaram a necessidade de especificar um novo formato 3D

com suporte às informações que definem as representações MEF a serem

reproduzidas.

Foi especificado um formato gráfico 3D que representa intensidades de campo

em superfícies geométricas e linhas de campo, para o qual foi implementado um

carregador no Visualizador MEF 3D.

Foi desenvolvido um conversor que gerou um arquivo no formato especificado

a partir dos arquivos de dados exportados pelo Maxwell na simulação de um

eletroímã, possibilitando sua reprodução do Visualizador MEF 3D.

Page 103: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

87

6.1. HARDWARE DO RASTREADOR DE CABEÇA

O TrackIR 5 da NaturalPoint consiste em uma câmera infravermelha, com

emissores de luz infravermelha embutidos (Figura 63), e uma haste com três

refletores infravermelhos (Figura 64), para fixar na cabeça presa a um boné (Figura

65). A câmera infravermelha é conectada ao PC via USB. O fabricante disponibiliza

ferramentas de software como um SDK e APIs. O produto é um rastreador de cabeça

utilizado para oferecer comandos em jogos com o movimento da cabeça.

Figura 63 – Câmera IR com LEDs IR e conexão USB

Fonte: (NaturalPoint TrackIR Users Manual)

Figura 64 – TrackClip (haste com refletores infravermelhos)

Fonte: (NaturalPoint TrackIR Users Manual)

Figura 65 – TrackClip fixado no boné

Fonte: (NaturalPoint TrackIR Users Manual)

Page 104: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

88

No protótipo do rastreador de cabeça foi utilizada a câmera IR do TrackIR 5 em

conjunto com um par de óculos estereoscópicos com LEDs IR ou refletores IR nele

fixados, conforme ilustrado na Figura 66. Foram utilizados LEDs infravermelhos com

comprimento de onda 850 nm, potência de 3W e ângulo de espalhamento de 120º

(Figura 67). Os refletores infravermelhos foram retirados de uma haste de um TrackIR

5 reserva (Figura 68). Os LEDs infravermelhos, em comparação aos refletores

infravermelhos, têm a vantagem do maior alcance, mas a desvantagem da fiação.

Figura 66 – Configuração de hardware utilizada como rastreador de cabeça

Fonte: Autor

Figura 67 - LED infravermelho 850 nm 3W

Fonte: (FJMSOFT)

Figura 68 – Refletor infravermelho retirado da haste do TrackIR 5

Fonte: Autor

Page 105: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

89

6.2. IMPLEMENTAÇÃO DO EFEITO HEAD-TRACKING

Com base no VectorTracking, aplicativo de código aberto que acompanha o

SDK da Natural Point, foi desenvolvido o calibrador do rastreador de cabeça, o qual

armazena a matriz de calibração no arquivo texto “Calibration.txt”, localizado no

diretório específico, escolhido para armazenar todos os arquivos de configuração do

Ambiente do Efeito 3D. Neste diretório são armazenados os seguintes arquivos:

• “Calibrator.txt”: na calibração, é utilizada uma estrutura que permite posicionar

o par de óculos em quatro posições conhecidas. Neste arquivo, são

informadas as coordenadas euclidianas dos quatro pontos conhecidos do

calibrador no referencial do calibrador. Foi dedicado um arquivo para esta

configuração para facilitar o teste de diferentes estruturas de calibração.

• “CalibratorPosition.txt”: este arquivo contém as coordenadas euclidianas da

origem da estrutura de calibração no espaço Real.

• “Calibration.txt”: Possui a matriz transformação do espaço 3D da câmera para

o espaço Real.

• “Display.txt”: este arquivo contem as dimensões do monitor Dw e Dh , que

permitem determinar também o aspecto do monitor `Aspecto. Foi dedicado um

arquivo desta configuração para facilitar a troca de monitor.

• “Eyes.txt”: este arquivo contém as informações do observador, utilizadas pelo

rastreador de olhos, como a separação entre os olhos Separação e

coordenadas 2D da posição da linha dos olhos em relação à linha que passa

pelos pontos referência dos óculos. Foi dedicado um arquivo para estes

parâmetros para facilitar a troca de observador.

• “Others.txt”: este arquivo contém a variável Prjd , que permite ajustar a posição

do plano de projeção no espaço virtual.

O efeito Head-Tracking foi implementado inicialmente no StateManager, cujo

código fonte está disponível no SDK do DirectX 10, com suporte a carregamento de

formato DirectX de extensão ”.x” e, que acompanha um arquivo de formato 3D, que

define o cenário ilustrado na Figura 69.

Page 106: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

90

Figura 69 – Cenário do StateManager

Fonte: Autor

A rotina que parametrizava as matrizes Vista e de Projeção para o sistema de

renderização foi modificada para substituir estas matrizes.

Ao reproduzir o efeito Head-Tracking, observou-se que o efeito 3D era pouco

realista para objetos virtuais endereçados entre o observador e o monitor. Esta

observação sugere que as percepções de profundidade binoculares são mais

sensíveis à visualização de objetos próximos à cabeça do observador, que em

conjunto com a percepção de profundidade de acomodação faz com que o cérebro

tende a endereçar estes objetos virtuais no plano do monitor, conflitando com a

percepção de profundidade de paralaxe de movimento.

Um vídeo do cenário virtual, feito com uma câmera filmadora com o rastreador

de cabeça medindo seu posicionamento, fez parecer mais realista o efeito Head-

Tracking, mesmo com objetos virtuais endereçados entre a câmera filmadora e o

monitor. A reprodução deste vídeo, que não endereça o cenário filmado no espaço

3D, faz parecer que a filmagem foi feita em um cenário virtual endereçado no espaço

3D, criando a ilusão que o efeito Head-Tracking é mais realista do que realmente é.

O efeito indesejado dos objetos virtuais endereçados próximos à cabeça do

observador motivou a exploração do efeito estereoscópico.

Page 107: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

91

6.3. COMBINANDO A ESTEREOSCOPIA AO EFEITO HEAD-TRACKING

Inicialmente, o efeito estereoscópico foi inserido no StateManeger utilizando o

Kit NVIDIA 3D Vision (Figura 70), solução de estereoscopia desenvolvida

especificamente para computação gráfica 3D. Na época, este kit era a solução mais

apropriada por ter baixo custo e oferecer suporte para desenvolvimento de software.

Figura 70 - Kit NVIDIA 3D Vision

Fonte: (NVIDIA 3D Vision)

O aparecimento de novos produtos de melhores qualidade e preço incentivou

a substituição do kit da NVIDIA por produtos padrão de indústria.

O conector HDMI é um padrão de indústria desenvolvido para conectar DVD

players, Blu-Ray players, Home Theater, decodificador de TV a cabo, computadores,

Internet TV e outros a monitores, TVs ou projetores. Este padrão teve adesão

praticamente por toda indústria. O Padrão HDMI 1.4 consiste em uma versão do

conector HDMI com melhores características elétricas e no protocolo de comunicação

com suporte a envio de pares de imagens (imagens estereoscópicas).

Conforme ilustrado na Figura 71, são requisitos de hardware na computação

gráfica 3D, além do conector HDMI 1.4, placa de vídeo e monitor estereoscópico

compatíveis com o padrão HDMI 1.4.

Page 108: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

92

Figura 71 - Requisitos de Hardware na computação gráfica 3D com padrão HDMI

Fonte: Autor

Como plataforma de software, optou-se pela solução da Microsoft, em que a

biblioteca gráfica Direct3D do DirectX 11.1 fornece controle flexível a estereoscopia.

O DirectX 11.1 foi disponível apenas para aplicações Windows Store App, que

executam em desktop com Windows 8. O ambiente de desenvolvimento de aplicativos

da plataforma Windows Store App passou a ser disponível apenas na versão do

Visual Studio 2012. Nesta plataforma, é comum encontrar: novas extensões à

linguagem C++; incompatibilidade com componentes de software já consagrados;

impossibilidade de ligação com outras bibliotecas binárias e a mudança na orientação

de sistema de coordenadas do Direct3D para mão direita. Estas características

tornaram trabalhosa a migração para esta plataforma.

O Visualizador MEF 3D foi desenvolvido a partir do StereoSimpleDirect3D, por

ser o único visualizador Windows Store App de código aberto com suporte a

estereoscopia encontrado, disponível no SDK do Windows Store App (Direct3D

stereoscopic 3D sample).

A Figura 72 ilustra o cubo que é apresentado girando no StereoSimpleDirect3D.

Page 109: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

93

Figura 72 – Cubo visualizado no StereoSimpleDirect3D

Fonte: Autor

Cada face do cubo é texturizada pela imagem em mapa de bits representada

na Figura 73. O cubo é definido por oito vértices e doze elementos de superfícies

triangulares. Cada elemento de superfície é definido por um conjunto de três

identificadores de vértices. Cada vértice é definido por um vetor de três coordenadas

que define sombreamento e um vetor de duas coordenadas do vértice no mapa de

bits.

Figura 73 – Imagem em mapa de bits usada para definir a textura da face do cubo

Fonte: Autor

No efeito estereoscópio, para cada olho, o dispositivo é parametrizado com um

buffer que contem as matrizes transformação, as definições do cubo e o código

compilado do sombreador (shader) de vértice e do sombreador de pixel.

Para contornar a impossibilidade de ligar a biblioteca binária do TrackeIR 5 ao

Visualizador MEF 3D na plataforma Windows Store App, foi desenvolvido um

programa servidor na plataforma Win32 ligado a esta biblioteca que permite o

Visualizador MEF 3D consultar a posição dos pontos referência capturados pela

câmera do TrackIR 5 via TCP/IP.

Page 110: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

94

Com a mudança da orientação dos Sistemas Referenciais no Direct3D para

mão direita, foi necessário refazer todo o equacionamento das matrizes

transformação.

No Visualizador MEF 3D, foram implementados um cliente do rastreador de

cabeça que se comunica com o servidor de rastreador de cabeça e a substituição das

matrizes que definem as perspectivas.

A Figura 74 ilustra uma imagem de um vídeo feito por uma câmera presa ao

par de óculos. Nesta imagem, o par de óculos está inclinado, sendo que as duas

perspectivas estão na mesma altura em relação ao par de óculos, mostrando que o

efeito 3D suporta a rotação da cabeça em torno do eixo ortogonal ao monitor.

Figura 74 – Foto da reprodução do efeito 3D composto com o par de óculos inclinado

Fonte: Autor

6.4. FORMATOS GRÁFICOS 3D DE ARQUIVOS

É requisito do Visualizador MEF 3D em desenvolvimento a leitura de arquivo

que permite reproduzir graficamente simulações eletromagnéticas 3D feitas por

aplicação MEF. O arquivo de leitura precisa ser de formato exportado ou convertido

de um formato exportado pela aplicação MEF.

Como aplicação MEF, optou-se pelo Maxwell, utilizado no laboratório GMAcq

(Grupo de Máquinas e Acionamentos Elétricos).

Page 111: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

95

Inicialmente, pretendeu-se utilizar arquivos de formatos gráficos 3D exportados

pelo Maxwell, que tem suporte aos formatos: ASIS, com extensão “.sab” para formato

binário e extensão “.sat” para formato texto; Ansoft 3D Solid Model, de extensão sm3;

DXF da Autocad; CATIA (Computer Aided Three-Dimensional Interative Application),

com as extensões “.exp” e “.model”; IGES (Initial Graphics Exchange Specification),

com as extensões “.iges” e “.igs”; Parasolid, com extensão “.x_b” para formato binário

e extensão “.x_t” para formato texto; STEP (STandart for the Exchange of Product),

com as extensões “.step” e “.stp” e VRML (Virtual Reality Modeling Language), com a

extensão “.wrl”.

De uma simulação MEF, foram exportados arquivos nos diferentes formatos

3D, os quais foram analisados e testados.

Entre os testes efetuados, merece citar a reprodução de uma perspectiva do

arquivo de formato VRML utilizando o Blender e o freeWLR, ilustrado na Figura 75.

Nas superfícies dos objetos 3D, o Blender atribui opacidade e sombreamento e o

freeWLR atribui transparência.

Figura 75 – Visualização do arquivo no formato VRML exportado pelo Maxwell 3D

Fonte: Autor

Devido à falta de informações de campos desejadas nos arquivos de formatos

gráficos 3D exportados, decidiu-se especificar um formato 3D mais adequado à

reprodução de apresentação MEF para o efeito 3D, com a extensão “MEF3D”.

Page 112: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

96

Visando representar intensidades de campo em superfície de objeto, o

Visualizador MEF 3D foi modificado com base em um código exemplo disponível no

SDK do Windows Store APP (Direct3D tutorial sample), passando a reproduzir um

cubo colorido ilustrado na Figura 76.

Figura 76 – Cubo colorido, com a coloração representando intensidade de campo na superfície do cubo

Fonte: Autor

Este cubo continua sendo definido por oito vértices e doze elementos de

superfícies triangulares. Cada elemento de superfície continua sendo definido por um

conjunto de três inteiros. Cada vértice passa a ser definido por uma coordenada 3D e

uma cor. No elemento de superfície, a totalidade de cor varia gradualmente entre

vértices.

Para o formato MEF3D foram feitas especificações que permitem representar

intensidades de campo em superfície de objeto. A definição do cubo colorido com

estas especificações foi feita no arquivo CUBE.MEF3D, com sua listagem ilustrada na

Figura 77. No Visualizador MEF 3D, foi implementado um carregador de arquivo, que

foi testado com este arquivo.

Page 113: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

97

Figura 77 – Listagem do CUBE.MEF3D no formato MEF 3D com a definição do cubo colorido

Fonte: Autor

Os conceitos de vértice e de faces da computação gráfica correspondem

respectivamente aos conceitos de nós e elementos de superfície do método dos

elementos finitos.

A variável SurfaceMesh define a geometria dos objetos. Uma malha de

superfície é definida por coordenadas de nós/vértices no vetor Nodes e elementos de

superfície/faces triangulares no vetor Elements, em que para cada elemento de

superfície/face existe um vetor de três inteiros, que identificam os respectivos

nós/vértices.

Page 114: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

98

A cor de cada nó/vértice, que define a coloração das faces, é definida no vetor

RGBFloatColors, cuja quantidade de elementos deve ser igual à quantidade de nós da

malha de superfície e, cada cor é representada por um vetor de três elementos reais.

Para a reprodução de linhas de campo, foi definida a variável FieldLines no

formato MEF3D, que é um vetor de linhas de campo, sendo cada linha de campo um

vetor de coordenadas 3D, conforme listagem apresentada na Figura 78, na qual é

definida uma linha de campo fechada. Nesta reprodução de linha de campo, cada

segmento de linha entre dois pontos seguidos corresponde a uma seta, que é

representada por um tetraedro.

Figura 78 – Listagem com a definição de uma linha de campo fechada no formato MEF3D

A interpretação do vetor FieldLines foi implementada no carregador do formato

MEF3D no Visualizador e o código que define a linha de campo foi inserido no arquivo

CUBE.MEF3D, passando a reproduzir o cenário ilustrado na Figura 79.

Page 115: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

99

Figura 79 – Reprodução da linha de campo em perspectiva e em estereoscopia

Fonte: Autor

Devido à impossibilidade de ilustrar adequadamente o efeito 3D composto

pelos efeitos Head-Tracking e estereoscópico, optou-se em ilustrar na Figura 80 a

reprodução da linha de campo fechada, definida por mais pontos, em pontos de vista

diferentes, em perspectiva e em estereoscopia.

Figura 80 – Linha de campo definida com mais segmentos, reproduzida em diferentes perspectivas

Fonte: Autor

Page 116: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

100

6.5. OBTENÇÃO DE ARQUIVO MEF3D DE UMA SIMULAÇÃO MEF

Utilizando o Maxwell 3D, foi feita uma simulação magnetostática de um

eletroímã, com suas vistas ilustradas na Figura 81.

Figura 81 – Vistas frontal, lateral e superior em perspectiva do eletroímã simulado no Maxwell 3D

Fonte: Autor

O resultado da simulação foi exportado em arquivos de extensão “.dsp”, em

que as malhas são representadas nos vetores Elements e Nodes e, os campos são

representados no vetor ElemSolution.

O vetor Elements contém termos inteiros, cujos dois primeiros representam na

sequência o total de nós e o total de elementos finitos. Cada elemento finito é

representado por uma sequência de termos no vetor Elements. Os primeiros quatro

termos da sequência caracterizam o elemento finito. O quinto termo informa a

quantidade de nós associados ao elemento finito. Os demais termos da sequencia são

índices de nós. Na simulação em questão, os elementos finitos são tetraedros

associados a dez nós: quatro vértices e seis arestas.

Page 117: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

101

O vetor Nodes contém termos reais, sendo que cada três termos representam

a coordenada 3D de um nó da malha. As coordenadas dos nós encontram-se

ordenadas de acordo com o índice de cada nó, cujo primeiro índice tem valor zero.

O vetor ElemSolution contém valores reais. Os campos são representados a

partir do quarto termo deste vetor. Cada sequência de três termos representa o campo

3D de cada nó em cada elemento finito, na sequência do vetor Elements.

Foram exportados três arquivos com extensão “.dsp”: o primeiro contendo a

malha na região do imã e da bobina; o segundo contendo a malha e os campos na

região do vácuo e o terceiro contendo a malha e os campos na região do vácuo e da

bobina.

Foi desenvolvido um software que lê estes três arquivos e gera um arquivo no

formato MEF 3D proposto. A superfície gerada corresponde à interface do imã e da

bobina com o vácuo. As intensidades de campo nesta superfície correspondem às

intensidades de campo no vácuo. A escala de cores utilizada é um degrade do azul

para o vermelho, em que o azul corresponde ao campo de menor intensidade e o

vermelho ao campo de maior intensidade. A Figura 82 ilustra uma perspectiva do

eletroímã reproduzida pelo Visualizador MEF 3D.

Figura 82 – Imagem em perspectiva de campo superficial apresentada pelo Visualizador MEF 3D a

partir de uma simulação magnetostática do eletroímã

Page 118: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

102

CONCLUSÃO

Neste trabalho foram propostas melhorias na apresentação MEF voltadas para

a Realidade Virtual. Na representação gráfica dos fenômenos físicos foi proposta a

seletividade das informações de interesse, para evitar poluição visual. Foi proposto o

uso de escala de cores bidimensionais, com degrade entre duas tonalidades. Foram

especificadas outras representações como de superfícies equipotenciais e

intensidades de campo no espaço 3D. A interface de iteração do usuário com o

espaço virtual se faz necessária por ser mais amigável e flexível.

A reprodução 3D Absoluta, em que o endereçamento do cenário virtual não

varie com o posicionamento da cabeça do observador, é requisito da interface de

iteração do usuário. Utilizando recursos tecnológicos de baixo custo, foi projetado o

efeito 3D que oferece este endereçamento absoluto do cenário virtual. Uma camada

de software, que a partir da posição medida do ponto de vista de cada olho, faz

apresentar em um monitor estereoscópico as perspectivas do cenário de acordo com

o ponto de vista de cada olho.

O efeito 3D proposto foi modelado e equacionado. Para que seja reproduzido

adequadamente, é necessário que a medição da posição do ponto de vista dos olhos

seja precisa, exigindo calibração do rastreador de cabeça.

A camada do efeito 3D, inserida na placa de vídeo, permite a disponibilização

automática deste efeito a todas as aplicações gráficas 3D que delegam a

renderização ao hardware. O calibrador de cabeça/olhos solidário ao monitor

possibilita que sua calibração seja feita uma única vez, ou seja, de fábrica. Com um

pequeno avanço tecnológico é possível disponibilizar este efeito a vários

observadores em um único monitor, podendo até dispensar o uso de óculos utilizando

o monitor auto estereoscópico com rastreamento de cabeça apresentado na seção

3.2. Esta configuração pode caracterizar uma geração de monitores voltados à

Realidade Virtual que irá perdurar até a viabilização tecnológica dos monitores

volumétricos, não podendo desconsiderar o potencial das soluções de realidade

aumentada.

Para prova de conceito, foi implementado um visualizador MEF com a camada

do efeito 3D nele inserida. Foi projetado um rastreador de cabeça simplificado, que

Page 119: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

103

estima a posição do ponto de vista dos olhos a partir da medida da posição de dois

pontos referência do par de óculos estereoscópico. Este rastreador de cabeça

simplificado permite a movimentação da cabeça do observador em apenas quatro

graus de liberdade.

Na prova de conceito, a reprodução 3D se mostrou bem realista,

proporcionando uma sensação de imersão satisfatória, mesmo sem explorar a

percepção de acomodação.

Para testar a representação MEF, no Visualizador MEF foi implementado o

leitor do formato de arquivo MEF 3D, especificado neste trabalho, que define

superfícies a partir de coordenadas 3D de vértices, associa elementos de face

triangular aos seus vértices, atribui cor a cada vértice representando intensidade de

campo e define linhas de campo em sequências de coordenadas 3D.

No Maxwell 3D, foi feita uma simulação magnetostática de um eletroímã, cujos

dados foram exportados e convertidos para o formato MEF 2D.

A visualização desta simulação no Visualizador MEF com a escala de cores

variando entre o azul e o vermelho permitiu uma percepção mais intuitiva das

intensidades de campo e o realismo 3D enriqueceu a visualização.

Page 120: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

104

PERSPECTIVAS FUTURAS

A melhor reprodução do efeito 3D explorado depende da precisão da medida

da posição dos pontos de vista dos olhos e da latência entre seu posicionamento e a

apresentação das respectivas perspectivas, existindo tolerância a estas incertezas e

latências.

A melhor precisão da medida pode ser obtida: utilizando câmera de maior

definição na medição do posicionamento dos óculos; medindo os seis graus de

posicionamento dos óculos com mais pontos referência nele fixados e fazendo uma

melhor estimativa da posição dos olhos no referencial dos óculos com base no seu

posicionamento, ou até, utilizando câmeras embutidas nos óculos para medir a

posição do ponto de vista de cada olho.

A latência depende do tempo de resposta do rastreador de cabeça, do poder

de processamento da placa de vídeo e do detalhamento do cenário virtual. Esta

latência pode ser melhorada: utilizando câmeras com menor tempo de resposta;

dispensando a arquitetura cliente-servidor do rastreador de cabeça; utilizando placas

de vídeo com maior poder de processamento e o detalhamento do cenário virtual

pode ser reduzido por um processo de compactação, que reduz a quantidade de

poliedros, que representam os objetos virtuais, sem comprometer a qualidade da

reprodução gráfica.

Na configuração sugerida ideal para o efeito 3D explorado, além do efeito 3D

ser automático e dispensar calibrações, o rastreador de cabeça pode ser

implementado com a máxima precisão e com o mínimo tempo de resposta. A placa de

vídeo pode ser aperfeiçoada para ter a máxima eficiência na renderização de

múltiplas perspectivas de um único cenário virtual. Os desenvolvedores de placas de

vídeo em conjunto com os desenvolvedores de monitores são os mais capacitados

para esta implementação.

No Visualizador MEF, faltam implementar: a interface de interação do usuário;

o suporte a animação; a seletividade das informações de interesse e a representação

de superfícies equipotenciais e da intensidade escalar de campos na forma de

nebulosa. Para tanto, é necessário definir um formato diferente do definido na prova

de conceito.

Page 121: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

105

REFERÊNCIAS BIBLIOGRÁFICAS

AZEVEDO E.; CONCI A. Computação Gráfica – geração de imagens, Rio de Janeiro: Campus/Elsevier, 2003. 350 P.

AZEVEDO E.; CONCI A.; LETA F. Computação Gráfica – teoria e prática. Rio de Janeiro: Campus/Elsevier, 2008. v.2, 404 P.

BENZIE P. et al. A Survey of 3DTV Displays: Techniques and Technologies. In: CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, 2007 IEEE TRANSACTIONS ON. IEEE Journals & Magazines. p. v17-1647-1658. DOI: 10.1109/TCSVT.2007.905377. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=4358676&queryText%3DA+Survey+of+3DTV+Displays%3A+Techniques+and+Technologies>. Acesso em: jan. 2014.

BLONDE L.; DOYEN D.; BOREL T. 3D stereo rendering challenges and techniques. INFORMATION SCIENCES AND SYSTEMS (CISS), 2010 44TH ANNUAL CONFERENCE ON. IEEE Conference Publications. p. 1-6. DOI: 10.1109/CISS.2010.5464936. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5464936&queryText%3D3D+stereo+rendering+challenges+and+techniques>. Acesso em: jan. 2014.

BRAR R.S. et al. Multi-user glasses free 3D display using an optical array. In: 3DTV-CONFERENCE: THE TRUE VISION - CAPTURE, TRANSMISSION AND DISPLAY OF 3D VIDEO (3DTV-CON), 2010. IEEE Conference Publications. p. 1-4. DOI: 10.1109/3DTV.2010.5506487. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5506487&queryText%3DMulti-user+glasses+free+3D+display+using+an+optical+array>. Acesso em: jan. 2014.

Coordinate Systems. Disponível em <http://msdn.microsoft.com/en-us/library/windows/desktop/bb204853(v=vs.85).aspx>. Acesso em: jan. 2014.

Direct3D tutorial sample. Disponível em <http://code.msdn.microsoft.com/windowsapps/Direct3D-Tutorial-Sample-08667fb0>. Acesso em: jan. 2014.

Direct3D stereoscopic 3D sample. Disponível em <http://code.msdn.microsoft.com/windowsapps/Direct3D-111-Simple-Stereo-9b2b61aa>. Acesso em: jan. 2014.

DirectDraw Architecture. Disponível em <http://msdn.microsoft.com/en-us/library/windows/hardware/ff553820(v=vs.85).aspx>. Acesso em: jan. 2014.

Page 122: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

106

FAVALORA GE. Volumetric 3D Displays and Application Infrastructure. COMPUTER, 2005. IEEE Journals & Magazines. p. v38-37-44. DOI: 10.1109/MC.2005.276. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=1492264&queryText%3DVolumetric+3D+Displays+and+Application+Infrastructure >. Acesso em: jan. 2014.

FJMSOFT. Disponível em

<http://www.fjmsoft.com.br/ecommerce_site/produto_6298_9175_Super-LED-IR-3w-Infravermelho-850nm-single-chip>. Acesso em: jan. 2014.

FLIEGEL K. Advances in 3D imaging systems: Are you ready to buy a new 3D TV set? RADIOELEKTRONIKA (RADIOELEKTRONIKA), 2010 20TH INTERNATIONAL CONFERENCE. IEEE Conference Publications. p. 1-6. DOI: 10.1109/RADIOELEK.2010.5478550. 1-6 p. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5478550&queryText%3DAdvances+in+3D+imaging+systems%3A+Are+you+ready+to+buy+a+new+3D+TV+set%3F>. Acesso em: jan. 2014.

FUJIKAWA S. Three-dimensional imaging technology: A revolution in the world of imaging. VLSI CIRCUITS (VLSIC), 2010 IEEE SYMPOSIUM ON. IEEE Conference Publications. p. 9-12. DOI: 10.1109/VLSIC.2010.5560254. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5560254&queryText%3DThree-dimensional+imaging+technology%3A+A+revolution+in+the+world+of+imaging> Acesso em: jan. 2014.

HILL L.; JACOBS A. 3-D Liquid Crystal Displays and Their Applications. PROCEEDINGS OF THE IEEE, 2006. IEEE Journals & Magazines. p. 575-590. DOI: 10.1109/JPROC.2006.870695. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=1605204&queryText%3D3-D+Liquid+Crystal+Displays+and+Their+Applications>. Acesso em: jan. 2014.

História do OpenGL. Disponível em <http://www.opengl.org/wiki/History_of_OpenGL>. Acesso em: jan. 2014.

INFITEC. Disponível em <http://infitec.net/index.php/home/glasses/infitec-premium-glasses>. Acesso em: jan. 2014.

JORKE H.; SIMON A.; FRITZ M. Advanced Stereo Projection Using Interference Filters. 3DTV CONFERENCE: THE TRUE VISION - CAPTURE, TRANSMISSION AND DISPLAY OF 3D VIDEO, 2008. IEEE Conference Publications. p. 177-180 p. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=4547837&queryText%3DAdvanced+Stereo+Projection+Using+Interference+Filters>. Acesso em: jan. 2014.

Page 123: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

107

JUNG-YOUNG S. et al. Recent Developments in 3-D Imaging Technologies. DISPLAY TECHNOLOGY, JOURNAL OF, 2010. IEEE Journals & Magazines. p. 394-403. DOI: 10.1109/JDT.2010.2045636. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5458017&queryText%3DRecent+Developments+in+3-D+Imaging+Technologies> Acesso em: jan. 2014.

KREIS T. et al. Digital holography methods in 3D-TV. 3DTV CONFERENCE, 2007. IEEE Conference Publications. p. 1-4. DOI: 10.1109/3DTV.2007.4379471. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=4379471&queryText%3DDigital+Holography+Methods+in+3D-TV>. Acesso em: jan. 2014.

LEE J. (2007); Head Tracking for Desktop VR Displays using WiiRemote. Disponível em <http://www.youtube.com/watch?v=Jd3-eiid-Uw>. Acesso em: jan. 2014.

NaturalPoint TrackIR Users Manual. Disponível em <http://www.naturalpoint.com/trackir/support/TrackIR-manual-v5.0/tir5-Chapter_3.html#h-3>. Acesso em: jan. 2014.

NVIDIA 3D Vision. Disponível em <http://www.nvidia.com.br/object/3d-vision-discover-main-br.html>. Acesso em: jan. 2014.

SHI K.; WANG F. The development of stereoscopic display technology. ADVANCED COMPUTER THEORY AND ENGINEERING (ICACTE), 2010 3RD INTERNATIONAL CONFERENCE ON. IEEE Conference Publications. p. v4-276-280. DOI: 10.1109/ICACTE.2010.5579814. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5579814&queryText%3DThe+development+of+stereoscopic+display+technology>. Acesso em: jan. 2014.

SHUHONG X. et al. 3D display for a classroom. In: EDUCATIONAL AND INFORMATION TECHNOLOGY (ICEIT), 2010 INTERNATIONAL CONFERENCE ON. IEEE Conference Publications. p. v2-316-320. DOI: 10.1109/ICEIT.2010.5607580. Disponível em <http://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=3D+display+for+a+classroom&.x=79&.y=36> Acesso em: jan. 2014.

Sony Insider. Disponível em <http://www.sonyinsider.com/2011/01/07/hands-on-with-sonys-3d-head-mounted-oled-glasses/>. Acesso em: jan. 2014.

STERN A.; JAVIDI B. Three-Dimensional Image Sensing, Visualization, and Processing Using Integral Imaging. Proceedings of the IEEE, 2006. IEEE Journals & Magazines. p. v94-591-607. DOI: 10.1109/JPROC.2006.870696. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=1605205&queryText%3DThree-Dimensional+Image+Sensing%2C+Visualization%2C+and+Processing+Using+Integral+Imaging>. Acesso em: jan. 2014.

Page 124: Visualizador 3D baseado em head tracking e estereoscopia ... · Figura 22 - Sistemas de coordenadas com orientações de mão esquerda e de mão direita ..... 24 Figura 23 - Sistema

108

Viewports and Clipping. Disponível em <http://msdn.microsoft.com/en-us/library/windows/desktop/bb206341(v=vs.85).aspx>. Acesso em: jan. 2014.

YARAS. et al. State of the Art in Holographic Displays: A Survey. Display TECHNOLOGY, JOURNAL OF, 2010. IEEE Journals & Magazines. p. 443-454. DOI: 10.1109/JDT.2010.2045734. Disponível em <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5473052&queryText%3DState+of+the+Art+in+Holographic+Displays%3A+A+Survey>. Acesso em: jan. 2014.