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.

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)

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

Saved successfully!

Ooh no, something went wrong!