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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
144 Resultados<br />
Nesta tarefa <strong>de</strong> interação, utilizamos os seguintes comandos da biblioteca para inicializar o fluxo<br />
<strong>de</strong> processamento da arquitetura e obter os atributos calculados:<br />
• Utilizamos o comando CIntManager::SetAttributes(), passando como parâmetro<br />
apenas o valor <strong>de</strong> enumeração ATTTYPE_DEPTH. Isto significa que apenas o valor <strong>de</strong> pro-<br />
fundida<strong>de</strong> será calculado. Esse valor é utilizado pela aplicação para <strong>de</strong>terminar a posição <strong>3D</strong><br />
do cursor restrito. O comando CIntManager::BindSemantics() não é utilizado neste<br />
caso para informar a ligação semântica <strong>de</strong> atributos além do i<strong>de</strong>ntificador dos vértices.<br />
• Com o comando CIntManager::SetROI(), <strong>de</strong>finimos uma região retangular em torno da<br />
posição atual do cursor 2D. O tamanho <strong>de</strong>ssa região <strong>de</strong>fine o tamanho da área <strong>de</strong> atuação do<br />
campo <strong>de</strong> gravida<strong>de</strong>.<br />
• Na função <strong>de</strong> chamada <strong>de</strong> retorno especificada em CIntObj::SetRen<strong>de</strong>rCallback(),<br />
o estado <strong>de</strong> ren<strong>de</strong>rização da API gráfica é alterado <strong>de</strong> modo a ren<strong>de</strong>rizar apenas os vértices da<br />
geometria.<br />
• No final <strong>de</strong> cada iteração do laço <strong>de</strong> ren<strong>de</strong>rização, o comando CIntManager::Deco<strong>de</strong>()<br />
é utilizado para obter os valores <strong>de</strong> profundida<strong>de</strong> <strong>de</strong> todos os pixels da região <strong>de</strong> interesse.<br />
<strong>Uma</strong> vez que só os vértices da geometria foram ren<strong>de</strong>rizados, apenas os pixels coinci<strong>de</strong>ntes<br />
com esses vértices terão atributos calculados. A aplicação <strong>de</strong>termina qual pixel com atributo<br />
calculado se encontra mais próximo da atual posição do cursor 2D. O atributo <strong>de</strong> valor <strong>de</strong><br />
profundida<strong>de</strong> <strong>de</strong>ste pixel mais próximo é utilizado para <strong>de</strong>terminar a posição <strong>3D</strong> do cursor <strong>3D</strong><br />
restrito.<br />
6.2.6 Posicionamento restrito a bordas<br />
Assim como na tarefa anterior restringimos o posicionamento do cursor <strong>3D</strong> a vértices da malha<br />
ren<strong>de</strong>rizada, nesta tarefa restringimos o posicionamento do cursor <strong>3D</strong> a pontos da superfície coinci-<br />
<strong>de</strong>ntes com bordas da imagem. Em nossa aplicação, essas bordas foram <strong>de</strong>tectadas com o filtro <strong>de</strong><br />
<strong>de</strong>tecção <strong>de</strong> bordas <strong>de</strong> Roberts [1963].<br />
Esta tarefa ilustra como a arquitetura proposta po<strong>de</strong> ser utilizada para realizar interações com<br />
mo<strong>de</strong>los cuja visualização é afetada por filtros <strong>de</strong> pós-processamento <strong>de</strong> imagens. <strong>Uma</strong> imagem<br />
<strong>de</strong>sta aplicação é mostrada na figura 6.10. De forma semelhante à tarefa anterior, o cursor <strong>3D</strong> é<br />
exibido como uma pequena esfera vermelha, e o conteúdo da região <strong>de</strong> interesse é exibido. Os pontos<br />
brancos da região <strong>de</strong> interesse correspon<strong>de</strong>m aos pixels que possuem atributos codificados, i.e., os<br />
pixels coinci<strong>de</strong>ntes com as bordas <strong>de</strong>tectadas.