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

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.

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

Saved successfully!

Ooh no, something went wrong!