03.04.2013 Views

Uma Arquitetura de Suporte a Interações 3D ... - DCA - Unicamp

Uma Arquitetura de Suporte a Interações 3D ... - DCA - Unicamp

Uma Arquitetura de Suporte a Interações 3D ... - DCA - Unicamp

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

52 Atributos elementares para manipulação direta<br />

3.2.2 Posicionamento<br />

O uso <strong>de</strong> manipulação direta em cenas <strong>3D</strong> se difundiu na década <strong>de</strong> 1980 [Hand, 1997]. Além<br />

da seleção dos objetos <strong>de</strong> interesse numa cena, po<strong>de</strong>r posicionar <strong>de</strong> forma precisa o cursor sobre um<br />

ponto específico em uma cena <strong>3D</strong> é também fundamental. O posicionamento <strong>de</strong> um cursor po<strong>de</strong> ser<br />

livre ou restrito. No posicionamento livre o cursor controlado navega livremente pela cena sem levar<br />

em consi<strong>de</strong>ração os mo<strong>de</strong>los geométricos, i.e., o conteúdo da cena não interfere na movimentação<br />

do cursor. Em geral, essa tarefa se resume na realização <strong>de</strong> um mapeamento entre a movimentação<br />

do dispositivo apontador e a movimentação do cursor no espaço <strong>3D</strong> <strong>de</strong> interesse. Entre as técnicas<br />

encontradas na literatura po<strong>de</strong>mos mencionar a proposta <strong>de</strong> Nielson and Dan R. Olsen [1987] e Bier<br />

[1987].<br />

Na tarefa <strong>de</strong> posicionamento restrito, o cursor controlado pelo dispositivo apontador tem sua<br />

movimentação restrita a elementos da cena tais como superfícies, linhas e pontos, <strong>de</strong> modo a au-<br />

mentar o grau <strong>de</strong> precisão <strong>de</strong> posicionamento do cursor pelo usuário. Para tanto, funções adicionais<br />

são incluídas para ajustes finos da posição do cursor <strong>de</strong> sorte que ele fique sempre nos locais pré-<br />

programados. Por exemplo, Hudson [1990] se baseou em critérios semânticos, não geométricos, para<br />

restringir o cursor a objetos <strong>de</strong> um ambiente <strong>de</strong> programação visual 2D. Gleicher [1995] introduziu<br />

o conceito <strong>de</strong> restrição <strong>de</strong> cursor em imagens (image snapping) empregando métodos <strong>de</strong> <strong>de</strong>tecção <strong>de</strong><br />

bordas para obter pontos <strong>de</strong> restrição que facilitassem tarefas <strong>de</strong> segmentação <strong>de</strong> imagens e traçado<br />

<strong>de</strong> curvas a partir <strong>de</strong> imagens digitalizadas.<br />

No entanto, a técnica mais tradicional para posicionamento restrito também é baseada no método<br />

<strong>de</strong> ray picking. Ela é utilizada, por exemplo, em aplicativos <strong>de</strong> mo<strong>de</strong>lagem geométrica tais como o<br />

Auto<strong>de</strong>sk AutoCAD [Auto<strong>de</strong>sk, 2007b], Auto<strong>de</strong>sk 3ds Max [Auto<strong>de</strong>sk, 2007a] e Auto<strong>de</strong>sk Maya [Au-<br />

to<strong>de</strong>sk, 2007c]. Como vimos na seção 2.2, o algoritmo <strong>de</strong> ray picking se reduz à <strong>de</strong>terminação <strong>de</strong><br />

atributos <strong>de</strong> geometria associados às interseções entre o raio <strong>de</strong> seleção e os mo<strong>de</strong>los geométricos<br />

em cada interação. Utilizando o método <strong>de</strong> ray picking, o posicionamento restrito a uma superfície<br />

consiste em calcular as posições <strong>3D</strong> <strong>de</strong> todas as interseções entre o raio <strong>de</strong> seleção e os mo<strong>de</strong>los<br />

geométricos. O cursor <strong>3D</strong> é então <strong>de</strong>slocado para a interseção mais próxima do plano <strong>de</strong> projeção.<br />

Em uma tarefa <strong>de</strong> posicionamento restrito segundo a influência <strong>de</strong> um campo <strong>de</strong> atração, o algoritmo<br />

<strong>de</strong> ray picking po<strong>de</strong> ser modificado <strong>de</strong> modo a calcular o ponto visível da superfície que possua a<br />

menor distância entre o raio <strong>de</strong> seleção e cada mo<strong>de</strong>lo. Se essa distância for menor do que a distância<br />

<strong>de</strong>terminada pelo campo <strong>de</strong> atração, o cursor po<strong>de</strong> ser <strong>de</strong>slocado para esse ponto, simulando assim o<br />

efeito <strong>de</strong> atração <strong>de</strong>sejado.<br />

Bier [1987], em sua técnica <strong>de</strong> snap-dragging, introduziu a idéia <strong>de</strong> utilizar um widget <strong>3D</strong> - o<br />

skitter - <strong>de</strong> modo a auxiliar o usuário na realização <strong>de</strong> tarefas <strong>de</strong> construção através <strong>de</strong> uma metáfora<br />

<strong>de</strong> régua e compasso. O skitter, também chamado <strong>de</strong> cursor tría<strong>de</strong> [Nielson and Dan R. Olsen,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!