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.
84 Cálculo <strong>de</strong> elementos <strong>de</strong> geometria diferencial discreta na GPU<br />
As figuras 4.5 e 4.6 exibem algumas imagens geradas por um aplicativo <strong>de</strong> visualização das pro-<br />
prieda<strong>de</strong>s <strong>de</strong> geometria diferencial <strong>de</strong> segunda e terceira or<strong>de</strong>m estimadas com o nosso algoritmo na<br />
GPU. Na figura 4.5, em (a) é mostrado o mo<strong>de</strong>lo <strong>de</strong> um nó com curvaturas principais visualizadas<br />
como cores. Em (b) é mostrada a curvatura Gaussiana K = κminκmax em tons <strong>de</strong> cinza sobre o<br />
mo<strong>de</strong>lo <strong>de</strong> uma chaleira. Nessa visualização, tons mais escuros e mais claros correspon<strong>de</strong>m, respec-<br />
tivamente, a curvaturas negativas e positivas. O tom <strong>de</strong> cinza médio correspon<strong>de</strong> a curvatura zero. É<br />
possível observar que a superfície é localmente hiperbólica quando K < 0 (tons escuros), parabólica<br />
ou planar quando K = 0 (cinza médio), e elíptica quando K > 0 (tons claros). As direções princi-<br />
pais dos mo<strong>de</strong>los da chaleira e nó são mostradas em (c) e (d), respectivamente. As setas vermelhas<br />
apontam para as direções tangentes das curvaturas mínimas, enquanto que as setas ver<strong>de</strong>s apontam<br />
para as direções tangentes das curvaturas máximas. Na figura 4.6, em (a) é visualizada a curvatura<br />
média H = 1<br />
2 (κmin + κmax), em tons <strong>de</strong> cinza, sobre o mo<strong>de</strong>lo <strong>de</strong> um coelho. Em (b) é visualizada<br />
uma codificação em cores da magnitu<strong>de</strong> do tensor <strong>de</strong> <strong>de</strong>rivada <strong>de</strong> curvatura (|Cs| = c 2 1 + c 2 2 + c 2 3 + c 2 4,<br />
on<strong>de</strong> c1, c2, c3 e c4 são os componentes não simétricos do tensor) para o mo<strong>de</strong>lo do coelho.<br />
A figura 4.7 mostra o erro RMS da estimativa da curvatura Gaussiana em um toro, em termos<br />
do grau <strong>de</strong> irregularida<strong>de</strong> na amostragem. O toro, <strong>de</strong> raio interno 1 e raio externo 2, é discretizado a<br />
partir da superfície paramétrica:<br />
⎧<br />
⎪⎨ x = (2 + cos v) cos u<br />
S(u, v) = y = (2 + cos v) sin u<br />
⎪⎩<br />
z = sin v<br />
(4.25)<br />
A discretização utilizada é composta <strong>de</strong> 30 lados na circunferência interna e 60 na circunferência<br />
externa, e utiliza normais aos vértices calculadas segundo o algoritmo <strong>de</strong> Gouraud [1971], que é o<br />
mesmo algoritmo utilizado em nossa estimativa <strong>de</strong> elementos <strong>de</strong> primeira or<strong>de</strong>m.<br />
Para o cálculo do erro, utilizamos como parâmetro <strong>de</strong> comparação aquele obtido pela avaliação<br />
da equação analítica da curvatura Gaussiana nesse mo<strong>de</strong>lo:<br />
K =<br />
cos v<br />
2 + cos v<br />
(4.26)<br />
A figura 4.8 mostra duas ren<strong>de</strong>rizações do toro em wireframe para ilustrar a irregularida<strong>de</strong> <strong>de</strong>ssa<br />
distribuição para os graus respectivos <strong>de</strong> 0% e 100%. O valor <strong>de</strong> 100% correspon<strong>de</strong> ao maior grau<br />
<strong>de</strong> aleatorieda<strong>de</strong> possível antes da introdução <strong>de</strong> triângulos <strong>de</strong>generados. Todos os resultados foram<br />
obtidos com números em formato <strong>de</strong> ponto flutuante <strong>de</strong> precisão simples. Esse gráfico mostra que