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
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 69<br />
<strong>de</strong>talhes <strong>3D</strong>, essa base é utilizada para transformar o vetor <strong>de</strong> direção da fonte <strong>de</strong> luz Los do espaço<br />
do objeto ao vetor Lts no espaço tangente, usando a seguinte matriz:<br />
Lts =<br />
⎡<br />
⎢<br />
⎣<br />
Tx Ty Tz<br />
Bx By Bz<br />
Nx Ny Nz<br />
⎤<br />
⎥<br />
⎦ Los. (4.4)<br />
A operação <strong>de</strong> ortogonalização é feita usando Gram-Schmidt em T com relação a N:<br />
T ′ = T − (N · T )N. (4.5)<br />
O vetor bitangente B é então obtido do produto vetorial entre T ′ e N. Entretanto, precisamos<br />
consi<strong>de</strong>rar que a regra <strong>de</strong> mão utilizada em cada face (N × T ou T × N) não é conhecida e po<strong>de</strong><br />
variar entre as faces. Isso ocorre, por exemplo, quando uma textura é mapeada <strong>de</strong> forma espelhada<br />
sobre a superfície. Este é um procedimento comum em aplicativos <strong>de</strong> jogos, para diminuir o consumo<br />
<strong>de</strong> memória <strong>de</strong> ví<strong>de</strong>o. Para manter a consistência <strong>de</strong> que o vetor normal da superfície <strong>de</strong>ve apontar<br />
na mesma direção do vetor normal no espaço tangente (e.g., para fora do mo<strong>de</strong>lo), a regra <strong>de</strong> mão<br />
<strong>de</strong>verá ser invertida nas faces com mapeamento espelhado. Para isso, o vetor B <strong>de</strong>verá ser calculado<br />
da forma indicada na equação 4.3, e não simplesmente através do produto vetorial entre N e T .<br />
Assim como as normais aos vértices são calculadas a partir da suposição <strong>de</strong> que a malha triangular<br />
aproxima uma superfície suave, assim também as bases tangentes são calculadas: inicialmente nas<br />
faces e <strong>de</strong>pois pon<strong>de</strong>radas e convertidas em bases ortonormais nos vértices.<br />
4.1.2 Elementos <strong>de</strong> segunda or<strong>de</strong>m<br />
A estimativa <strong>de</strong> elementos <strong>de</strong> geometria diferencial <strong>de</strong> segunda or<strong>de</strong>m em superfícies discretas<br />
tem sido estudada extensivamente nos últimos anos em razão do surgimento <strong>de</strong> um gran<strong>de</strong> número<br />
<strong>de</strong> aplicações que fazem uso <strong>de</strong>stes elementos (e.g., reamostragem, filtragem, ren<strong>de</strong>rização não fo-<br />
torealista, interação). Diversas abordagens para solução <strong>de</strong>ste problema foram apresentadas e se<br />
distinguem entre si especialmente com relação à robustez da estimativa ante diferentes configurações<br />
da malha da geometria, mas também pela simplicida<strong>de</strong> <strong>de</strong> implementação e <strong>de</strong>sempenho. Vamos nos<br />
concentrar aqui nas propostas utilizadas para estimar o tensor <strong>de</strong> curvatura IIs e assim <strong>de</strong>terminar as<br />
curvaturas e direções principais.<br />
Todas as técnicas <strong>de</strong> estimativa do tensor <strong>de</strong> curvatura que analisamos consi<strong>de</strong>ram que as curvas<br />
coor<strong>de</strong>nadas <strong>de</strong> S são ortogonais, <strong>de</strong> modo que IIs é a própria matriz <strong>de</strong> Weingarten. Através do<br />
acesso a uma região <strong>de</strong> vértices, arestas ou faces adjacentes a cada vértice da geometria, obtém-se<br />
uma estimativa <strong>de</strong> IIs para cada vértice. A estimativa correspon<strong>de</strong>nte para cada ponto da superfície é