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.

4.1 Estimativas em superfícies discretas 63<br />

da segunda forma fundamental, curvaturas principais, direções principais e <strong>de</strong>rivada das curvaturas.<br />

Através da comparação com outras técnicas, também mostramos a robustez <strong>de</strong> nosso método em ma-<br />

lhas amostradas <strong>de</strong> forma irregular. Tanto quanto na computação <strong>de</strong> proprieda<strong>de</strong>s <strong>de</strong> primeira or<strong>de</strong>m,<br />

essas proprieda<strong>de</strong>s adicionais são calculadas para cada vértice e interpoladas linearmente para cada<br />

pixel das primitivas rasterizadas.<br />

O restante <strong>de</strong>ste capítulo está organizado da seguinte forma: a seção 4.1 apresenta uma revisão<br />

bibliográfica dos métodos mais utilizados para realizar estimativas <strong>de</strong> proprieda<strong>de</strong>s <strong>de</strong> geometria di-<br />

ferencial, a seção 4.2 apresenta nossas propostas <strong>de</strong> algoritmos <strong>de</strong> estimativa <strong>de</strong> proprieda<strong>de</strong>s <strong>de</strong><br />

geometria diferencial segundo os requisitos necessários para a a<strong>de</strong>quação no contexto da arquitetura<br />

<strong>de</strong> suporte a tarefas <strong>de</strong> interação <strong>3D</strong>, e na seção 4.3 apresentamos resultados <strong>de</strong> testes <strong>de</strong> eficiência e<br />

robustez <strong>de</strong> nossos algoritmos em comparação com as técnicas anteriores <strong>de</strong>scritas na seção 4.1.<br />

Para manter uma uniformida<strong>de</strong> na apresentação <strong>de</strong> trechos <strong>de</strong> códigos dos sha<strong>de</strong>rs neste capítulo,<br />

utilizamos apenas código em HLSL (High-Level Sha<strong>de</strong>r Language) [Microsoft, 2006].<br />

4.1 Estimativas em superfícies discretas<br />

Nesta seção revisamos as principais técnicas existentes na literatura sobre a estimativa <strong>de</strong> elemen-<br />

tos <strong>de</strong> geometria diferencial em superfícies discretas, particularmente em malhas triangulares.<br />

4.1.1 Elementos <strong>de</strong> primeira or<strong>de</strong>m<br />

Os elementos <strong>de</strong> geometria diferencial <strong>de</strong> primeira or<strong>de</strong>m são as quantida<strong>de</strong>s obtidas das primeiras<br />

<strong>de</strong>rivadas parciais da equação paramétrica da superfície, tais como o vetor normal, vetores tangentes<br />

das curvas coor<strong>de</strong>nadas da superfície e tensor métrico. Na arquitetura proposta utilizamos estimativas<br />

<strong>de</strong> vetor normal e vetores tangentes alinhados <strong>de</strong> acordo com a parametrização das coor<strong>de</strong>nadas <strong>de</strong><br />

textura.<br />

Vetor normal<br />

O vetor normal a uma face triangular não <strong>de</strong>generada é obtido através do produto vetorial entre<br />

quaisquer dois vetores tangentes distintos sobre a face (e.g., dois vetores coinci<strong>de</strong>ntes com as arestas<br />

do triângulo). Ao consi<strong>de</strong>rar que a malha triangular aproxima uma superfície suave, é necessário<br />

<strong>de</strong>finir um vetor normal em cada vértice <strong>de</strong> tal modo que este vetor aproxime o vetor normal da<br />

superfície suave em tais pontos.<br />

Se a superfície é <strong>de</strong>scrita por uma função explícita, implícita ou paramétrica, o vetor normal a<br />

qualquer vértice po<strong>de</strong> ser calculado analiticamente. Infelizmente, este não é o caso em aplicações

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

Saved successfully!

Ooh no, something went wrong!