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.
70 Cálculo <strong>de</strong> elementos <strong>de</strong> geometria diferencial discreta na GPU<br />
obtida através da interpolação linear dos tensores calculados nos vértices.<br />
Na aproximação do tensor <strong>de</strong> curvatura, supõe-se em geral a existência prévia <strong>de</strong> uma estimativa<br />
do vetor normal ao vértice. Essa estimativa é normalmente obtida pela média dos vetores normais<br />
das faces adjacentes ao vértice. As diversas técnicas <strong>de</strong> estimativa do vetor normal apresentadas<br />
na literatura se diferem pelo modo como essa média é pon<strong>de</strong>rada, como visto na seção 4.1.1. Não<br />
obstante, o método mais difundido consiste simplesmente em normalizar a soma dos vetores (não<br />
unitários) normais às faces adjacentes [Gouraud, 1971].<br />
Infelizmente, não há consenso sobre qual abordagem produz resultados mais acurados para es-<br />
timar o vetor normal <strong>de</strong> vértices <strong>de</strong> uma malha triangular arbitrária, uma vez que essa malha po<strong>de</strong><br />
representar diferentes tipos <strong>de</strong> superfícies suaves. Por outro lado, conforme observado por Gold-<br />
feather and Interrante [2004], mesmo quando uma malha é amostrada sobre uma superfície analítica<br />
e tem vetores normais exatos em cada vértice, há outras fontes <strong>de</strong> introdução <strong>de</strong> erro na estimativa<br />
do tensor <strong>de</strong> curvatura, como a não regularida<strong>de</strong> da amostragem. De modo a comparar com nossa<br />
proposta, as técnicas apresentadas a seguir são divididas nas seguintes classes: (1) aproximação por<br />
superfícies analíticas; (2) aproximação pela curvatura normal; (3) aproximação pela média do tensor<br />
<strong>de</strong> curvatura.<br />
Aproximação por superfícies analíticas<br />
O método mais tradicional <strong>de</strong> estimar proprieda<strong>de</strong>s <strong>de</strong> geometria diferencial <strong>de</strong> uma malha trian-<br />
gular é através da aproximação <strong>de</strong> uma superfície paramétrica a uma região local <strong>de</strong> pontos da malha.<br />
A matriz <strong>de</strong> Weingarten po<strong>de</strong> então ser obtida <strong>de</strong>ssa superfície <strong>de</strong> forma analítica [Hamann, 1993,<br />
Cazals and Pouget, 2003, Goldfeather and Interrante, 2004].<br />
Inicialmente são escolhidos dois vetores ortonormais B e T no plano tangente em p com vetor<br />
normal N <strong>de</strong> modo a formar uma base (B, T, N) em R 3 . Cada vértice q adjacente a p é transformado<br />
nessas coor<strong>de</strong>nadas locais <strong>de</strong> modo que p = (0, 0, 0) e N = (0, 0, 1). <strong>Uma</strong> superfície quadrática<br />
nesse sistema terá a seguinte forma:<br />
z = f(x, y) = A<br />
2 x2 + Hxy + C<br />
2 y2 , (4.6)<br />
on<strong>de</strong> os coeficientes A, H e C são os próprios coeficientes da matriz <strong>de</strong> Weingarten: e, f, g. Uti-<br />
lizando a informação <strong>de</strong> cada vértice adjacente é possível construir o sistema <strong>de</strong> equações:<br />
1<br />
2 x2 i xiyi<br />
1<br />
2 y2 i<br />
⎡<br />
<br />
⎢<br />
⎣<br />
e<br />
f<br />
g<br />
⎤<br />
⎥<br />
⎦ = zi on<strong>de</strong> i = 1, ..., n, (4.7)