29.01.2013 Views

Cálculo e Estimação de Invariantes Geométricos: Uma ... - Impa

Cálculo e Estimação de Invariantes Geométricos: Uma ... - Impa

Cálculo e Estimação de Invariantes Geométricos: Uma ... - Impa

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 2. Geometria Euclidiana: Curvas 21<br />

Dessa forma obtemos uma representação da curva α usando uma<br />

amostragem pontual com amostras α(ti) e utilizando interpolação linear<br />

reconstruímos uma aproximação da curva α. Para fazer a reconstrução<br />

os pontos da amostragem <strong>de</strong>vem estar or<strong>de</strong>nados corretamente<br />

(ver [GV03]).<br />

Implícito contínuo para discreto<br />

Figura 2.7: Casos do Marching Squares<br />

Já no caso <strong>de</strong> curvas implícitas C = {(x, y) ∈ R 2 ; f(x, y) = 0} o<br />

processo é um pouco mais complexo, pois para tomarmos amostras<br />

pi, i = 1 · · · n, é necessário encontrar n raízes da equação f(x, y) = 0,<br />

o que po<strong>de</strong> ser difícil a <strong>de</strong>pen<strong>de</strong>r da função f. Para reconstruir a<br />

curva implícita basta seguir a seguinte estratégia<br />

1. Se conhecido o domínio <strong>de</strong> f, então o discretizamos e <strong>de</strong>terminamos<br />

uma matriz, digamos 10 × 10 pontos, Pij(xi, yj).<br />

2. A cada três pontos, <strong>de</strong>finimos um triângulo.<br />

3. Para cada ponto Pij(xi, yj) calculamos os valores da função<br />

zij = f(xi, yj).<br />

4. Para cada triângulo observamos os sinais Vi = sinal(zij) em<br />

cada vértice e caso aja mudança <strong>de</strong> sinal, pelo teorema do valor<br />

intermediário, temos que a curva passa pela aresta que é <strong>de</strong>finida<br />

a partir <strong>de</strong>sses vértices. Se algum vértice Vk = 0, então a<br />

função se anula exatamente em Vk.

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

Saved successfully!

Ooh no, something went wrong!