
%
%  $Description: Author guidelines and sample document in LaTeX 2.09$ 
%
%  $Author: ienne $
%  $Date: 1995/09/15 15:20:59 $
%  $Revision: 1.4 $
%

\documentclass[times, 10pt,twocolumn]{article} 
\usepackage{latex8}
\usepackage{times}
\usepackage[latin1]{inputenc}
\usepackage[brazilian]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}


%\documentstyle[times,art10,twocolumn,latex8]{article}

%------------------------------------------------------------------------- 
% take the % away on next line to produce the final camera-ready version 
\pagestyle{empty}

%------------------------------------------------------------------------- 

\begin{document}

\title{Um Sistema Híbrido Semi-Imersivo de Baixo Custo para Interações 2D-3D}

%\author{Felipe Gomes de Carvalho\\
%PUC-Rio\\ Tecgraf \\ kamel@tecgraf.puc-rio.br\\
%\and
%Alberto Raposo\\
%PUC-Rio\\
%Department of Informatics\\ abraposo@inf.puc-rio.br\\
%\and
%Marcelo Gattass\\
%PUC-Rio\\
%Department of Informatics\\ mgattass@tecgraf.puc-rio.br\\
%}

\author{xxxxxx xxxxxxxx\\
xxxxxx\\ xxxxxx xxxxxxx\\ xxxxxx@xxx.xx.xx\\
\and
xxxxxxx xxxxxx\\
xxxxxx\\
xxxxxx xxxxxx\\ xxxxxx@xxx.xx.xx\\
\and
xxxxxx xxxxxx\\
xxxxxx\\
xxxxxx xxxxxx\\ xxxxxx@xxx.xx.xx\\
}

\maketitle
\thispagestyle{empty}

\begin{abstract}

The gradual convergence of interfaces from different natures (such as 2D and 3D) resulted in the emergence of other interfaces that share characteristics of both, but this integration process is still an open problem. For example, while the WIMP (Windows, Icons, Menus and Pointers) 2D interfaces are consolidated with a technological setup composed by the standard mouse, keyboard and monitor, the 3D user interfaces have not yet a typical setup, and a variety of input and output devices is available. This lack of reference to integration, makes it difficult to start any attempt. The present work aims to explain the development of a technological setup for a semi-immersive hybrid system which integrates the advantages of 2D and 3D interactive environments using low cost  technologies through a combination of interactive devices comprising text edition tasks (2D), navigation, selection and manipulation (3D). 

\end{abstract}

\begin{resumo}

A aproximação entre as interfaces do tipo 2D e 3D está indicando uma nova área de pesquisa e desenvolvimento, porém esta integração ainda é um problema em aberto. Por exemplo, enquanto as interfaces 2D do tipo WIMPs (Windows, Icons, Menu and Pointer) ficaram bem consolidadas com um arranjo tecnológico padrão com o mouse, teclado e monitor, as interfaces 3D ainda nem definiram um arranjo exatamente, deixando uma diversidade de dispositivos de entrada e saída a disposição. Esta falta de referência para integração, torna difícil iniciar alguma tentativa. Assim, o presente trabalho tem por objetivo explicar o desenvolvimento de um arranjo tecnológico de um sistema híbrido semi-imersivo que buscar integrar as vantagens de ambientes interativos 2D e 3D utilizando tecnologias baixo custo através de uma composição de dispositivos de interação contemplando as tarefas de edição textual (2D), navegação, seleção e manipulação (3D).

\end{resumo}

%------------------------------------------------------------------------- 
\Section{Introdução}

As tarefas de um \textit{desktop} convencional são na sua grande maioria pertencentes a edição de textos, organização de arquivos, uso de tabelas, cálculos matemáticos, entre outros. Mas outros domínios de aplicações surgiram, e.g. edição de imagens 2D, animação, CAD (\textit{Computer Aided Design}), visualização interativa 3D, entretenimento e jogos.  As características inerentes destas novas classes de aplicações criaram uma demanda não totalmente satisfeita pela ideia à qual a metáfora de \textit{desktop} se propôs originalmente representar, um escritório. Aplicações como CAD, edição de imagens 2D, e aplicações gráficas envolvendo dados bidimensionais ainda são compatíveis com a ideia do \textit{desktop}, pois não deixam de ser análogas às tarefas de engenheiros e arquitetos, quando utilizam suas pranchetas nos seus respectivos escritórios. 

Porém, o aparecimento das aplicações interativas tridimensionais levou a uma incompatibilidade quando do uso do \textit{setup} tecnológico convencional (mouse, teclado e monitor). Esta nova classe de aplicativos desmembrou-se em diversas áreas: Visualização de Dados, Modelagem, Interação, Animação, entre outras. O \textit{setup} convencional, apesar de apresentar meios de lidar interativamente com gráficos 3D, não supre todas as necessidades de interação, dada a dimensão adicional presente neste novo ambiente.

A principal evidência que suporta este fato é a existência de uma linha de pesquisa voltada exclusivamente para computação gráfica 3D, tão antiga quanto as \textit{WIMPs (Windows, Icons, Menus and Pointer)} que foram criadas para a idéia do desktop. Esta linha de pesquisa inicialmente juntava esforços para o desenvolvimento de aplicações e hardware voltados para visualização de cálculos matemáticos, assim como aplicações do tipo simuladores de vôo. Depois agregaram-se outros domínios até o que hoje chamamos de Realidade Virtual (\textit{VR - Virtual Reality}). De forma abrangente, esta linha de pesquisa tem sido denominada como \textit{3DUI} (\textit{3D User Interfaces}). Os resultados desses desenvolvimentos foram: a criação de técnicas de geração de imagens mais realistas, métodos para gerenciamento de dados 3D, técnicas de interação, entre outros. Na parte de hardware, além do uso do monitor convencional com o uso de óculos estéreo, foram desenvolvidos equipamentos inéditos como os \textit{HMDs} (\textit{Head Mounted Displays}), CAVEs, \textit{WorkBenchs},\textit{HemiSpherical Displays}, entre outros. Além disso, dispositivos de entrada \textit{(input devices}) também foram desenvolvidos, por exemplo, rastreadores (\textit{trackers}), luvas (\textit{gloves}), \textit{wands} (apontadores 3D - \textit{3D Pointers}), dispositivos táteis, entre outros.

Apesar das \textit{3DUIs} serem tão antigas quanto as \textit{WIMPs} e durante um bom tempo estarem em desenvolvimento de forma paralela, algumas das contribuições das 3DUIs foram sendo incorporadas aos poucos ao \textit{desktop}, devido ao aparecimento de aplicativos de natureza 3D. Alguns indícios são o uso de dispositivos como óculos 3D e luvas em jogos e em aplicações de visualização científica. No \textit{game console} Wii, por exemplo, há um dispositivo chamado \textit{Wiimote} que incorpora o resultado de pesquisas no desenvolvimento de dispositivos de rastreamento 3D (\textit{tracking}). Além dessas evidências, há também diversas técnicas interativas desenvolvidas utilizando mouse e teclado voltadas para desktop. Uma evidência clara para o sucesso desses esforços são os jogos eletrônicos para computador.

Esta progressiva integração entre 3DUI e WIMPs contribui para o desenvolvimento de um novo campo de pesquisa chamado Interfaces Híbridas (\textit{Hybrid User Interfaces - HUI})~\cite{Feiner91}. Neste campo estão reunidos os esforços na tentativa de misturar harmoniosamente tanto os elementos virtuais (aplicações, técnicas de interação, recursos gráficos, etc.) quanto físicos (dispositivos de entrada e saída) de uma ou mais interfaces. As HUIs podem ser consideradas um campo de pesquisa que tenta buscar soluções tecnológicas para boa parte destas novas interfaces que ainda estão amadurecendo questões relacionadas a uma definição mais clara de um domínio de aplicação e um arranjo tecnológico adequado.

Este trabalho apresenta os detalhes do desenvolvimento de um arranjo tecnológico de baixo custo para uma interface híbrida composta por três ambientes interativos contemplando as tarefas de edição textual (2D), seleção, navegação e manipulação (3D). Este arranjo buscou explorar visualizações semi-imersivas 3D sem necessariamente recorrer a soluções caras.

Na próxima seção são discutidos alguns trabalhos relacionados sobre Interfaces Híbridas. Na seção 3 a concepção da interface híbrida HybidDesk desenvolvida é apresentada, descrevendo cada um dos ambientes de interação (VR-Nav, Vr-Manip e WIMP), assim como um caso de uso. As tecnologias de baixo custo envolvidas no desenvolvimento são relatadas na Seção 4, e por fim a seção 5 conclui o artigo.

%------------------------------------------------------------------------- 
\Section{Trabalhos Relacionados}

Os trabalhos citados a seguir são às vezes denominados como Sistemas de Realidade Mista (\textit{MRS - Mixed Reality Systems}), ou Interfaces Híbridas de Usuário (\textit{HUI}), ou até recentemente Sistemas  de \textit{Display} Híbridos (\textit{HDS- Hybrid Display Systems}). Todos compartilham características no sentido de usar múltiplos elementos, sendo estes múltiplos \textit{devices} e/ou múltiplas interfaces. Ao longo da seção será adotada a denominação \textit{HUI}.

O termo \textit{HUI} foi inicialmente mencionado por Feiner~\cite{Feiner91}, caracterizando um ambiente heterogêneo, rico em técnicas de interação, com dispositivos de diversas modalidades sendo utilizados de forma complementar. Uma aplicação exemplo, utilizando um \textit{HMD}, resultou na elaboração de uma \textit{Hybrid Windows Manager Interface}. Esta interface permitiu o aumento (além dos limites do monitor) da área de trabalho virtual de um \textit{desktop} por meio da visualização no \textit{HMD}.

O \textit{Office of the Future}~\cite{Rascar98} foi um dos primeiros grandes projetos nesta linha de pesquisa. Combinava várias técnicas de visão computacional e computação gráfica para analisar superfícies de ambiente real e depois adicionar nelas informações virtuais através de projeções. Uma quantidade grande de câmeras era posicionada no ambiente para analisar dados como posição do usuário, posição dos olhos, superfícies irregulares, entre outros.

Reikimoto~\cite{RekiSaitoh99} explorou a ideia da heterogeneidade das \textit{HUIs} no sentido do uso de vários computadores e \textit{displays} (projeções e notebooks) em um mesmo ambiente de trabalho. A transferência de dados entre os computadores era feita de uma forma mais direta, sem a necessidade do usuário saber sobre transferência de dados via rede. Para isto, duas operações chamadas \textit{hyperdraging} e \textit{pick-and-drop} foram criadas: a primeira consistia no arrasto de informações entre \textit{displays}; a segunda consistia em uma operação de \textit{pick} de um arquivo usando uma caneta (através de um clique) e depois uma operação de \textit{drop} para liberar o arquivo em outro lugar do ambiente de trabalho. Para a segunda abordagem não havia \textit{feedback} visual do arquivo durante o transporte como acontecia no \textit{hyperdraging}, mas a finalidade era a mesma.

No extinto projeto EMMIE~\cite{Butz99} desenvolveu-se um sistema voltado a colaboração, similar ao trabalho de Reikimoto, sendo que no EMMIE foi acrescido o uso da \textit{AR} através do uso de um \textit{HMD} para \textit{AR} do tipo \textit{See-Through}. Os participantes visualizavam gráficos 2D e 3D no espaço de trabalho. O uso do \textit{HMD} permitia visualizar dados como arquivos ``flutuando'' no espaço de trabalho e a manipulação de objetos 3D através de \textit{Wands}. Questões como visualização de dados privados foi discutida neste trabalho, pois usando o \textit{HMD} era possível restringir a visualização de informações. Mas o enfoque dado pelos autores não foi realmente direcionado para tarefas 3D, estava mais para um ambiente colaborativo para trocas de informações com acréscimo visual de dados 3D.

Através de um \textit{display} (do tipo \textit{Reachin Display}) chamado \textit{Personal Space Station} (\textit{PSS})~\cite{Mulder02}, o trabalho ~\cite{Zudilova05} criou um ambiente de trabalho que permitia o uso da \textit{VR} e \textit{WIMP} para uma aplicação de reconstrução vascular. Com mais unidades do PSS, em ~\cite{Mulder04} um ambiente colaborativo misturando tarefas de \textit{VR} e \textit{AR} foi criado. Os usuários ficavam localizados no mesmo ambiente, ou seja, não era uma colaboração com usuários remotamente localizados. O \textit{PSS} permite manipulações locais utilizando apontadores e uma interface tangível na forma de um cubo (interação bimanual). A manipulação ocorre atrás de uma superfície de visualização causando a impressão visual de uma interação direta com o objeto. 
Os autores mencionavam a utilização conjunta da \textit{VR} e \textit{AR}, assim como \textit{VR} e \textit{WIMP}, mas não detalharam nada sobre alguma transição entre as duas, ou a execução de alguma tarefa utilizando mais de uma interface. A princípio parece ser um trabalho que permite a execução das interfaces isoladamente, mas não as interliga realmente.

Nakashima ~\cite{Nakashima05} apresentou um protótipo de um ambiente de trabalho cooperativo com ambientes 2D e 3D para tarefas de modelagem gráfica. O ambiente utilizou um \textit{display} chamado \textit{IllusionHole} para interações 3D, enquanto as 2D foram possibilitadas pelo uso de uma projeção. Mouses rastreados foram usados como ferramentas nos dois ambientes, uma vez que ora poderiam ser usados como cursores nas projeções, ora como apontadores 3D no \textit{IllusionHole}. Uma peça retangular rastreada também era usada como ferramenta, na qual eram projetadas informações de menus. Esta \textit{HUI} ficou particularmente interessante uma vez que permitiu colaboração durante uma tarefa de modelagem. Este trabalho utilizou simultaneamente as interfaces \textit{VR} e \textit{WIMP} para uma mesma tarefa. As duas interfaces eram visíveis ao mesmo tempo e exibiam os mesmos dados de modos diferentes, ou seja, a \textit{WIMP} mostrava os perfis dos modelos em vistas 2D ortográficas e dava acesso a menus, enquanto a \textit{VR} (via \textit{IllusionHole}) permitia manipulações e inspeções visuais.

Uma \textit{HUI} para manipulação de dados médicos utilizando interações 2D e 3D foi desenvolvida em ~\cite{Bornik06}. Nela, um único apontador 3D foi utilizado como ferramenta de interação. Duas formas de visualização estavam disponibilizadas, uma em um \textit{tablet} e outra em uma projeção. As interações 2D, executadas na superfície do \textit{tablet}, destinavam-se a tarefas que exigiam maior precisão, enquanto as interações 3D (na frente da projeção) eram feitas no espaço livremente e destinavam-se para manipulações mais ``grosseiras''. Neste trabalho nota-se uma certa importância a superfícies de apoio para movimentos mais precisos. Como no trabalho de ~\cite{Nakashima05}, este trabalho utilizou interações 2D (via \textit{WIMP}) e 3D (via projeção) para uma mesma tarefa, ou seja, as interfaces foram exploradas de forma complementar, tirando vantagem dos modos de exibição e interação particular de cada uma. A tarefa explorada era de natureza 3D envolvendo manipulação e visualização de um dado 3D; a interface \textit{WIMP} não foi realmente usada para as tarefas de escritório (edição de texto, planilhas, entre outras).

Benko et. al ~\cite{Benko05} criaram um ambiente híbrido composto por um \textit{display} \textit{LCD} verticalmente posicionado, um \textit{display} sensível a toque (\textit{multi-touch}) horizontalmente posicionado, e um \textit{HMD} para \textit{AR} do tipo \textit{See-through}. O  usuário realizava tarefas de manipulação em objetos 3D de peças de arqueologia. O uso de uma luva como dispositivo de interação também estava presente. Basicamente, havia a existência de dois modos de visualização: 2D por meio do \textit{LCD} e o do \textit{display multi-touch}, e o 3D através do \textit{HMD}. A transferência da visualização entre eles era feita por meio de gestos manuais usando a luva. Desta forma, a abordagem híbrida caracterizou-se no sentido que proveu visualizações e modos de interação diferentes na manipulação dos dados. Um aspecto importante foi a preocupação em realizar transições entre os modos de interação e visualização, por exemplo, através dos gestos, o sistema fazia uma transição do objeto exibido no \textit{display} \textit{multi-touch}  para o espaço 3D visualizado no \textit{HMD}, ou seja, havia a impressão de que o objeto saía e voltava do \textit{display multi-touch}. Esta transição passava uma impressão de continuidade na interação entre os modos de interação. Vale mencionar também o uso do \textit{display} sensível para realizar interações (do tipo multi-toque) que afetavam o estado dos objetos 3D que estavam flutuando no espaço.

\textit{DeskCave} foi um projeto que adaptou um sistema de projeções, inspirado no \textit{setup} de uma \textit{CAVE} de três lados, para uma mesa comum ~\cite{Achten04}. O sistema permitiu a utilização da \textit{VR} por meio das projeções polarizadas para permitir a estereoscopia passiva, e também permitia o uso do desktop através das \textit{WIMP}. Mas não havia uma inter-ligação explícita entre os dois ambientes. Basicamente foi um trabalho de construção de um hardware para visualização imersiva apenas, não houve um cuidado em questões mais focadas a tarefas de manipulação ou alguma forma de interligar ambientes 2D e 3D, por exemplo. 

De uma forma geral, os trabalhos relatados tentaram misturar tecnologias distintas objetivando a realização de alguma tarefa. Entretanto, em boa parte deles ainda não havia uma preocupação explícita por tecnologias baixo custo, isto é notado principalmente pelo predomínio de tecnologias ainda pouco acessíveis, por exemplo, sistema de projeção para estereoscopia ativa ou passiva usando luz polarizada, sistema de rastreamento caros, câmeras de captura avançadas, múltiplos computadores, entre outros.

%------------------------------------------------------------------------- 
\Section{HybridDesk - Concepção}

A HybridDesk partiu da motivação de criar um ambiente de trabalho que agregasse os recursos das tradicionais interfaces \textit{WIMP} mais o acréscimo de outros recursos (hardware e software) que viabilizasse a realização de tarefas interativas 3D. Ou seja, criar uma forma de integrar interfaces 2D e 3D utilizando tecnologias tradicionais e não-tradicionais (\textit{Trackers, HMDs, Telas Multi-Toque, CAVE,} Estereoscopia, entre outros). Esta extensão para interatividade 3D foi inspirada na taxonomia das tarefas de interação 3D (Seleção, Manipulação, Navegação, Wayfinding, Simbolic Input e System Control) ~\cite{Bowman05} buscando criar ambientes de interação mais direcionados para elas. 

O ponto de partida no design da HybridDesk (Figura ~\ref{fig:esquema}) baseou-se nos requisitos encontrados na tarefa da Anotação 3D. Estes requisitos ajudaram a identificar o arranjo tecnológico utilizado para compor os ambientes interativos dentro da HybridDesk. Este arranjo deveria ser capaz de prover visualizações semi-imersivas com estereoscopia e um apontador 3D do tipo Wand, assim como prover acesso a uma interface WIMP. 

\begin{figure}[hbt]
\centering
\includegraphics[bb=0 -25 85mm 55mm]{HybridDesk_Esquema_Envs_new01.png}
\caption{Esquema da HybridDesk.}
\label{fig:esquema}
\end{figure}

A tarefa da Anotação 3D caracteriza-se como uma forma de incluir informações em um \textit{VE (Virtual Environment)}, e frequentemente são informações direcionadas a um objeto particular contido no \textit{VE}. Esta tarefa foi considerada importante porque pode ser decomposta em diferentes sub-tarefas abrangendo desde tarefas com dados simbólicos até aquelas envolvendo a manipulação de informações espaciais 3D. Identificamos três sub-tarefas relevantes envolvendos os aspectos da Anotação 3D:

\textbf{1) Navegação e Seleção 3D:} Uso de uma ou mais técnicas que permitam alguma forma de busca por um objeto no \textit{VE} e por fim a seleção deste objeto para uma posterior tarefa, ou simplesmente uma forma de exploração que possibilite visualizar os objetos contidos nele. Para esta tarefa acreditamos que a Realidade Virtual associada com algumas técnicas de interação 3D seria uma interface adequada.

\textbf{2) Manipulação 3D :} Formas de manipulação (no sentido de mudança de posicionamento 3D através de translações e rotações) de objetos para permitir o posicionamento de uma ou mais anotações. A realidade virtual também foi escolhida como uma interface adequada para esta sub-tarefa.

\textbf{3) Symbolic Input :} Criar e editar dados textuais. Para gerenciar estas informações foi decidido tirar vantagem das experiências dos usuários nas interfaces WIMP com este tipo de informação ao invés de criar um novo ambiente para tratar esta questão. Resumidamente, a ideia foi utilizar todos os recursos disponíveis nas WIMPs para criar arquivos, e em seguida associar a estes arquivos ``atalhos 3D'' para um objeto 3D dentro de um VE. A aparência deste atalho seria um cubo 3D, uma forma de ícone 3D.

Analisando as necessidades mencionadas, uma restrição foi imposta para delinear também a escolha das técnicas de interação 3D, assim como o arranjo tecnológico para a execução delas. Essa restrição basicamente referiu-se ao lugar de trabalho: o usuário deveria permanecer sentado durante todas as interações e ter disponível alguma forma de mesa para posicionar pelo menos o mouse e teclado. Esta restrição ficou influenciada pela posição que normalmente os usuários ficam durante o uso do ambiente \textit{WIMP}. Outro fator determinante foi o aproveitamento desta mesa como uma superfície de apoio para os cotovelos e braços, durante a execução das tarefas. 

%------------------------------------------------------------------------- 
\SubSection{Ambientes Interativos}

Para da suporte aos requisitos das sub-tarefas e os paradigmas de interface apropriados descritos acima,  três ambientes interativos foram criados para a HybridDesk: VR-Nav, VR-Manip e WIMP. Para agregar fisicamente os arranjos tecnológicos destes três ambientes, uma estrutura de madeira foi construída na forma de uma mesa composta por quatro pernas mas sem o tampo (Figura ~\ref{fig:esquema}). Duas das pernas foram prolongadas formando duas hastes com a altura de dois metros. Uma prateleira de madeira foi fixada próximo ao topo das hastes com espaço para acomodar um projetor convencional. Uma outra peça de madeira foi fixada na frente da estrutura para servir de apoio para dispositivos como mouse e teclado, além disso, como apoio para os braços.

Mecanismos de transição entre os ambientes interativos foram implementados objetivando transições continuas ao longo da execução das sub-tarefas da Anotação 3D. A descrição e discussão destas questões estão fora do escopo deste artigo, mais detalhes sobre isto estão em ~\cite{Carvalho09blind}.

\subsubsection{VR-Nav - MiniCave para Navegação 3D}

\begin{figure}[hbt]
\centering
\includegraphics[bb=0 -75 85mm 55mm]{ws_vr_nav_new.png}
\caption{\textit{VR Nav} - Navegação e Seleção 3D.}
\label{fig:ws_vr_nav_p2}
\end{figure}

Este sub-ambiente foi utilizado para realizar tarefas de navegação em um ambiente virtual 3D. Alguns estudos têm indicado que as tarefas de navegação 3D tendem a se beneficiar de displays com um maior FOV (Field of View) e um maior FOR (Field of Regard) ~\cite{Czerwinski02,Raymaekers05,Tan06}. Isto deve se ao fato de haver um maior espaço visual nestes displays, além disso, estas propriedades também têm mostrado beneficios em tarefas de seleção 3D facilitando buscas visuais ~\cite{RajaBowman06,SteedParker05}. Por estes motivos, o VR-Nav foi inspirado no arranjo tecnológico de uma \textit{CAVE} mas em escala reduzida com o intuito de ocupar um mesa. Por essa escala reduzida, o arranjo tecnológico deste ambiente foi denominado  \textit{MiniCave}. Possui como dispositivo de saída um conjunto de quatro telas de projeção do tipo \textit{rear-projection}. Os dispositivos de entrada disponibilizados são uma \textit{Wand} e um óculos estéreo rastreado para \textit{head-tracking}. A \textit{Wand} foi concebida fixando marcadores em um Wiimote (\textit{joystick} do game console Wii da Nintendo).  O \textit{head-tracking} foi possibilitado fixando marcadores em um óculos do tipo estéreo anaglifo (filtro de cores do tipo vermelho-ciano) utilizado pelo usuário durante as interações (Figura ~\ref{fig:ws_oculos_wand}).

\begin{figure}[hbt]
\centering
%\includegraphics[bb=0 0 75mm 27mm]{ws_oculos_wand.png}
\includegraphics[bb=0 -10 75mm 27mm]{ws_oculos_wand_c_legenda.png}
\caption{(a) Óculos para Estéreo Anaglifo e (b) Wiimote utilizado como Wand.}
\label{fig:ws_oculos_wand}
\end{figure}

A \textit{MiniCave} foi idealizada utilizando peças de vidro apoiadas sobre uma peça de acrílico (Figura ~\ref{fig:ws_vr_nav_p2}). As três telas sobre o acrílico foram posicionadas ao longo das três peças de vidro na parte interna da \textit{MiniCave}. Estas telas e as respectivas peças de vidro ficaram fixadas por uma estrutura de madeira em forma de U. Uma quarta tela foi posicionada na parte superior do acrílico, alinhando-a com as telas apoiadas no acrílico. Prendedores de roupa foram utilizados para ``esticar'' as telas nas laterais das peças de vidro (Figura ~\ref{fig:ws_vr_nav_p2}).  

\begin{figure}[hbt]
\centering
%\includegraphics[bb=0 -50 85mm 65mm]{espelhos.png}
\includegraphics[bb=0 -90 85mm 50mm]{espelhos_c_legenda.png}
\caption{(a)Uso de armações com espelho na MiniCave. Par Projetor/Espelho nas telas: (b)frontal, (c)inferior e (d)lateral.}
\label{fig:espelhos}
\end{figure}

Um jogo de espelhos foi utilizado para diminuir a distância entre cada projetor e as telas correspondentes (Figura ~\ref{fig:espelhos}). Para isto, armações de madeira contendo um espelho cada foram construídas (Figura ~\ref{fig:espelhos}.a). O projetor responsável pela tela frontal foi posicionado em uma prateleira acima dela. Para evitar uma grande inclinação e o uso elevado de \textit{keystone} (recurso comumente encontrado em projetores para correção de deformações de perspectiva nas imagens projetadas), este projetor ficou posicionado de ``cabeça para baixo'' (Figura ~\ref{fig:espelhos}.b). Abaixo da peça de acrílico, no chão, um espelho foi posicionado inclinando-o em um ângulo pequeno de aproximadamente 15 graus. Para o projetor correspondente foi construída uma armação de madeira similar às usadas para os espelhos. Esta armação possibilitou inclinar o projetor para baixo de tal forma que a imagem ficasse projetada na área do espelho que estava no chão (Figura ~\ref{fig:espelhos}.c). Para as duas telas laterais, os projetores ficaram posicionados nas laterais da estrutura um pouco abaixo da peça de acrílico sobre uma prateleira de madeira (Figura ~\ref{fig:espelhos}.d). Os espelhos correspondentes a estes projetores foram posicionados à frente com uma inclinação pequena de tal forma que a imagem projetada ocupasse corretamente as telas de projeção.


%------------------------------------------------------------------------- 
\subsubsection{VR Manip - Manipulação 3D}

\begin{figure}[hbt]
\centering
%\includegraphics[bb=0 -95 85mm 55mm]{ws_vr_manip_new.png}
\includegraphics[bb=0 -95 85mm 55mm]{ws_vr_manip_c_legenda.png}
\caption{(a)\textit{VR Manip} inspirado nos \textit{reachin displays}. (b)(c) Sistema de trilhos para permitir a mobilidade do LCD na frente da MiniCave.}
\label{fig:vr_manip}
\end{figure}

Entendemos que para tarefas de manipulação objetivando uma Anotação seria importante avaliar um objeto alvo isoladamente, examinando detalhes na sua superfície. Isto possibilitaria identificar lugares específicos que poderiam ser alvo de anotações e, consequentemente, o posicionamento de ícones. Desta forma, optou-se por restringir a escolha de técnicas e displays que valorizassem a manipulação direta e preferencialmente a curta distância. Tarefas de manipulação com estas características focam a atenção em áreas restritas de visualização, o que sugere uma atenção direcionada a FOVs mais estreitos ~\cite{DemiralpKZL06,PrabhatFKWS08,SteedParker05}. Desta forma, havendo um foco de atenção em uma área mais restrita, algumas propriedades visuais dos displays podem tornar-se mais relevantes, por exemplo, brilho, contraste, nitidez e resolução ~\cite{Nicholas05}.

Este ambiente foi inspirado na ideia de \textit{reachin displays} ~\cite{Mulder02} para permitir a manipulação de objetos ao alcance das mãos. A grande maioria dos \textit{reachin displays} utiliza superfícies finas como espelhos e vidros para exibir o conteúdo digital normalmente proveniente de um monitor CRT. Apesar dos atuais monitores \textit{LCD} não serem da mesma espessura que um vidro ou espelho, acreditamos que eles podem fornecer também um acesso viável à sua parte traseira. Desta forma, a interação com as mãos seria realizada diretamente atrás do monitor \textit{LCD} (Figura ~\ref{fig:vr_manip}.a), ao invés de interagir atrás de uma superfície refletora. Por este motivo, escolhemos um \textit{LCD} como o display deste ambiente, e este foi fixado em um sistema de trilhos posicionado horizontalmente na altura da peça de acrílico e, consequentemente, à frente da \textit{MiniCave} (Figura ~\ref{fig:vr_manip}.b). Isto permitiu que ele tivesse uma mobilidade ao longo do eixo dos trilhos e deslizasse para a lateral da \textit{MiniCave} (Figura ~\ref{fig:vr_manip}.c). 

O dispositivo de entrada disponibilizado neste ambiente é a mesma \textit{Wand} disponibilizada no ambiente \textit{VR-Nav} e apresenta a mesma representação virtual dela. Mesmo o usuário não vendo as mãos e nem as representações reais dos apontadores (somente as representações virtuais), o fato de estar próximo e consistente com os movimentos das mãos pode vir a ser uma vantagem.

\subsubsection{WIMP}

Representando a interface WIMP foi escolhido o Microsoft Windows XP, assim como os hardwares associados com esta interface: monitor, mouse e teclado.

\SubSection{Caso de Uso}

\begin{figure}[hbt]
\centering
\includegraphics[bb=0 40 85mm 55mm]{3dtask_sequence.png}
\caption{Caso de uso da HybridDesk em uma plataforma virtual de petróleo. (a) Navegando no VR-Nav, (b) Escolhendo um objeto, (c) Inspecionando o objeto no VR-Manip, (d) Escolhendo um arquivo no WIMP, (e) Anexando um ícone 3D no VR-Manip, (f) Voltando para o VR-Nav.}
\label{fig:task_sequence}
\end{figure}

Na Figura ~\ref{fig:task_sequence} há um exemplo da sequência de uso dos ambientes interativos da HybridDesk para a execução das sub-tarefas da Anotação 3D em um ambiente virtual contendo uma plataforma de petróleo. A execução da tarefa inicia no ambiente VR-Nav executando uma técnica de interação para navegação 3D (Figura ~\ref{fig:task_sequence}.a) até que um objeto de interesse (guindaste) é encontrado e selecionado (Figura ~\ref{fig:task_sequence}.b). Uma transição para o ambiente VR-Manip é realizada para inspecionar o objeto escolhido (Figura ~\ref{fig:task_sequence}.c), e em seguida, uma transição para o ambiente WIMP é feita para escolher um arquivo (Figura ~\ref{fig:task_sequence}.d). Uma vez escolhido o arquivo, uma transição de volta para o VR-Manip é acionada, e desta vez um ícone 3D aparece no VR-Manip na ponta da Wand virtual (Figura ~\ref{fig:task_sequence}.e). Este ícone é anexado numa das faces do objeto e uma transição de volta para o VR-Nav é acionada (Figura ~\ref{fig:task_sequence}.f) para finalizar a tarefa. Um vídeo exibindo o uso dos ambientes interativos neste caso está em : www.youtube.com/watch?v=Gd4jRlIKJSM .


\Section{Semi-Imersividade a Baixo Custo}

\begin{figure}[hbt]
\centering
%\includegraphics[bb=0 -10 85mm 55mm]{ws_triplehead2go.png}
\includegraphics[bb=0 -20 85mm 55mm]{ws_triplehead2go_c_legenda.png}
\caption{(a) Dois \textit{splitters} Matrox TripleHead2Go para estender (b) um desktop ao longo das telas da HybridDesk (c) através de uma placa gráfica com duas saídas de vídeo.}
\label{fig:triplehead2go}
\end{figure}

Ao contrário da utilização de um cluster de PCs e mecanismos de sincronização gráfica, a visualização semi-imersiva na HybridDesk foi toda gerenciada por apenas um PC contendo uma placa de vídeo aceleradora 3D com duas saídas de vídeo. A princípio, a HybridDesk precisa de no mínimo de 5 saídas de vídeo: 4 para os 4 projetores e uma para o \textit{LCD}. Para resolver esta questão foram utilizados dois \textit{splitters} (divisores) de vídeo. Estes \textit{splitters} são do tipo \textit{TripleHead2Go} (Figura ~\ref{fig:triplehead2go}.a) e dividem uma saída da placa aceleradora em outras três. Basicamente cada \textit{splitter}, juntamente com um driver, aumenta a resolução do desktop ao longo de uma saída de vídeo, e depois a divide em outras três saídas através de um dispositivo periférico. Por exemplo, uma saída de vídeo que normalmente poderia ter uma resolução de 1024x768 pixels, com o driver do \textit{splitter}, pode ser transformada em uma saída com a resolução de 3078x768 pixels para depois ser dividida via hardware em outras 3 saídas de 1024x768 pixels. Desta forma, um \textit{desktop} extendido ao longo de duas saídas foi criado, a primeira saída continha a resolução de 2400x600 (três vezes 800x600) e a segunda 3072x768 (três de 1024x768) (Figura ~\ref{fig:triplehead2go}.c). Estas duas saídas juntas formavam um grande \textit{desktop} estendido exibido ao longo de todos os projetores e o \textit{LCD} (Figura ~\ref{fig:triplehead2go}.b). Para aproveitar a sexta saída de vídeo adicional, um outro \textit{LCD} foi usado como um complemento no qual uma janela de \textit{overview} do mundo virtual foi exibida (Figuras ~\ref{fig:ws_3d_views}.c e ~\ref{fig:desktop_extendido}.h). 

O efeito tridimensional foi conseguido utilizando a estereoscopia do tipo anaglifo em telas simples de projeção. O custo destas telas poderia até ser diminuido ainda mais se pápeis vegetais forem utilizados ao ínves de telas comerciais. Como a geração da imagem estereoscópica é toda feita via software, e apenas uma imagem resultante é exibida por quadro, não há a necessidade do uso de telas especiais e nem projetores especiais. A placa de vídeo utilizada foi NVIDIA GeForce 8800 GT, uma placa aceleradora convencional comumente utilizada em jogos de computador.

\begin{figure}[hbt]
\centering
%\includegraphics[bb=0 -60 85mm 55mm]{ws_3d_views.png}
\includegraphics[bb=0 -60 85mm 55mm]{ws_3d_views_c_legenda.png}
\caption{(a)(b)Conjunto de câmeras virtuais utilizadas na MiniCave. (c) Câmera adicional para um overview da posição do observador no mundo virtual.}
\label{fig:ws_3d_views}
\end{figure}

\begin{figure*}
\centering
\includegraphics[bb=0 -45 175mm 50mm]{screenshot_desktop_extendido_c_legenda.png}
\caption{Screenshot do desktop estendido exibindo as 6 janelas do sistema para as telas: (a) lateral esquerda, (b) frontal, (c) lateral direita, (f) LCD, (g) inferior, e (h) overview. Em (d) e (e) estão espaços vazios preenchidos pelo driver do \textit{splitter} para compor uma imagem final retangular para o screenshot.}
\label{fig:desktop_extendido}
\end{figure*}

O uso de um Wiimote como equivalente a uma Wand é um equivalente razoável, pois é bem acessível financeiramente e oferece uma variedade de eventos sem a necessidade de fios, isto é, toda a comunicação de dados é feita via bluetooth. Apesar de usarmos um sistema de rastreamento brasileiro, o Bratrack (www.bratrack.com), que é bem mais acessível do que os equivalentes internacionais, a utilização do mesmo poderia ser parcialmente substituída apenas analisado os dados dos acelerômetros do Wiimote. Através deles é possível deduzir translações e consultar as rotações necessárias durante as tarefas de navegação e manipulação.

Para geração e gerenciamento dos gráficos 3D foi implementado um sistema que utilizou a biblioteca \textit{OpenSceneGraph} (www.openscenegraph.org) baseada na ideia de grafos de cena. O sistema renderizava e gerenciava 6 câmeras virtuais no \textit{VE}: 4 para a MiniCave (Figuras ~\ref{fig:ws_3d_views}.a e ~\ref{fig:ws_3d_views}.b), uma para o \textit{LCD}, e uma adicional para uma visão geral da posição do observador e consequentemente da HybridDesk dentro do VE (Figuras ~\ref{fig:ws_3d_views}.c e ~\ref{fig:desktop_extendido}.h). Para as câmeras virtuais da MiniCave e do \textit{LCD} foram geradas imagens estereoscópicas do tipo anaglifo (vermelho-ciano), desta forma, 10 quadros por passada eram computados para gerar os olhos esquerdo e direito para cada câmera. 

O sistema gerenciador também criava para cada câmera virtual uma janela no desktop de tal forma que cada uma delas ocupava uma área correspondente a uma saída de vídeo. Na Figura ~\ref{fig:desktop_extendido} há um \textit{screenshot} de todo o desktop exibindo as janelas do sistema ao longo dele. Foi implementado também uma funcionalidade para poder ajustar as dimensões e posicionamento destas janelas em cada área correspondente do desktop, isto foi necessário para pequenos ajustes no casamento das imagens projetadas ao longo das interseções das telas físicas na MiniCave.

%------------------------------------------------------------------------- 
\Section{Conclusão}

Três gerações de interfaces podem ser identificadas ao longo de um espectro de evolução até o momento, iniciando com as relacionadas com linhas de comando, seguindo com as gráficas do tipo WIMPs (Windows, Icon, Menu and Pointer), e por fim as pós-WIMP, que estão trazendo novas modalidades de interação e, conseqüentemente, outros dispositivos de entrada e saída. A Realidade Virtual está entre as interfaces pós-WIMP mais proeminentes e vêm sendo estudada principalmente nas questões de interatividade 3D. Porém, boa parte destas novas interfaces ainda estão amadurecendo questões relacionadas a uma definição mais clara de um domínio de aplicação e um arranjo tecnológico adequado para isto.

A \textit{HybridDesk} é uma tentativa de integração de interfaces, através de um arranjo tecnológico híbrido   em um contexto bem específico levando em consideração as demandas da tarefa de anotação 3D. Para atingir tal objetivo foi desenvolvido um ambiente semi-imersivo composto de 3 ambientes interativos através de uma composição de dispositivos de interação contemplando as tarefas de edição textual (2D), navegação e manipulação (3D). O ambiente interativo da tarefa de edição de textos segue os requisitos de uma interação WIMP 2D baseada em mouse e teclado. O ambiente interativo para a tarefa de navegação foi concebido em uma CAVE adaptada para uma mesa utilizando uma técnica de interação baseada em apontamento 3D. Já a tarefa de manipulação 3D é realizada através de um ambiente interativo concebido através de uma adaptação de um LCD utilizado como um \textit{reachin display} para realização de manipulações a curta distância.

Apesar do design da HybridDesk ter sido influenciado no contexto da tarefa da anotação 3D, outros contextos aplicativos podem ser muito bem utilizados, por exemplo, em aplicações com dados médicos onde são necessárias inspeções volumétricas em dados 3D e ao mesmo tempo a utilização de recursos de desktop para realização de anotações, a HybridDesk poderia ser bem aproveitada. Isto pode ser reforçado citando o trabalho de ~\cite{Bornik06} (ver Seção 2), onde são utilizados dois displays, o primeiro sendo uma projeção grande com estereoscopia e o sengundo sendo do tipo LCD.

A utilização de tecnologias baixo custo ainda é um desafio para realização de projetos mais ambiciosos envolvendo Realidade Virtual Imersiva, entretando resultados como a HybridDesk mostram que é possível encontrar um balanço no uso de tecnologias atuais (\textit{splitters} de vídeo modernos e Wiimotes) com tecnologias antigas (estereoscopia anaglifo, projetores e telas de projeção convencionais).

%------------------------------------------------------------------------- 
%\nocite{ex1,ex2}
\bibliographystyle{latex8}
\bibliography{Tese}

\end{document}
