25.03.2013 Views

Surface algorithms using bounds on derivatives

Surface algorithms using bounds on derivatives

Surface algorithms using bounds on derivatives

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

300 D. Filip et al. / <str<strong>on</strong>g>Surface</str<strong>on</strong>g> <str<strong>on</strong>g>algorithms</str<strong>on</strong>g><br />

Unfortunately, Wang's theorem has the following problem. Suppose f(u, v) and g(u, v) are<br />

two adjacent surface patches with their respective linear approximates ly and Ig given in<br />

Theorem 5, and suppose [1 f- If I[ and [[ g - i s [I are within some specified tolerance c. Then<br />

although f and g are at least C o across their comm<strong>on</strong> boundary, l! and lg will in general be<br />

completely disjoint. If ! I and I s are replaced by some other linear approximates ! S and l~<br />

which share a comm<strong>on</strong> boundary curve, then there is no guarantee that I[ f-IS [[ and<br />

I[ g- ! s [[ are also within e. Since C O c<strong>on</strong>tinuity of the piecewise linear approximati<strong>on</strong> is<br />

required for almost any algorithm that uses an approximati<strong>on</strong> to a C O surface, we have no<br />

practical use for Theorem 5.<br />

3. Applicati<strong>on</strong>s<br />

In this secti<strong>on</strong> we present three <str<strong>on</strong>g>algorithms</str<strong>on</strong>g> for surfaces which are based <strong>on</strong> Theorem 4. Each<br />

algorithm can be easily modified to work with curves.<br />

3.1. Piecewise linear approximati<strong>on</strong><br />

The problem here is given a C 2 surface f: [0, 1] × [0, 1] ~ R 3 and an arbitrary tolerance c,<br />

find a piecewise linear surface l: [0, 1] × [0, 1] ~ R 3 so that sup II l(u, v) - l(u, v)II < c. This<br />

approximati<strong>on</strong> is important for applicati<strong>on</strong>s where the original surface definiti<strong>on</strong> is difficult to<br />

work with such as in display of the surface and calculati<strong>on</strong> of its mass properties. It is<br />

important that the bound <strong>on</strong> the error in the approximati<strong>on</strong> is known so that any analysis d<strong>on</strong>e<br />

<strong>on</strong> the approximati<strong>on</strong> can take this into c<strong>on</strong>siderati<strong>on</strong>. The traditi<strong>on</strong>al way this problem is<br />

solved for polynomial and rati<strong>on</strong>al polynomial surfaces is by means of recursive subdivisi<strong>on</strong> of<br />

the B-spline or B6zier form and flatness testing [Lane et al. '80; Filip '86]. These schemes have<br />

the advantage over the algorithm to be presented in that the approximating pieces can be<br />

placed adaptively over the surface, that is, more pieces can be placed in areas of greater<br />

curvature, which minimizes the total number of pieces. However, our algorithm runs several<br />

times faster than the adaptive <str<strong>on</strong>g>algorithms</str<strong>on</strong>g> and is being used successfully at ATP. In additi<strong>on</strong>,<br />

the number of additi<strong>on</strong>al pieces used by this algorithm is not much more than necessary since<br />

the surfaces first can be split into its patches, each piece of which usually has the same measure<br />

of curvature. Each patch can then be approximated independently. The algorithm works by<br />

determining the numbers n and m so that after evaluating at the (n + 1)(m + 1) grid of points<br />

{( ) (1)(2 O) ( ) (__1) (1 1)(2 __1) ..,(1,1)}, (3.1)<br />

0,0, ,0 , , ,..., 1,0, 0, m . . . . m '"<br />

and forming the 2nm triangles from the points, we have our desired approximati<strong>on</strong>. More<br />

simply stated, we want to determine the step sizes 1/n and 1/m in the u and v directi<strong>on</strong>s for<br />

evaluati<strong>on</strong>. With polynomial and rati<strong>on</strong>al polynomial surfaces, the most comm<strong>on</strong> forms of<br />

surfaces in CAGD, these evaluati<strong>on</strong>s can be d<strong>on</strong>e very rapidly <str<strong>on</strong>g>using</str<strong>on</strong>g> forward differencing.<br />

Let l 1, l 2, M 1, M 2, and M 3 be as in Theorem 4. Also let l I = 1/n and let l 2 = 1/m. Then,<br />

from Theorem 4 we desire<br />

-8 MI+ nm 2+ M 3 =c. (3.2)<br />

We say that the u directi<strong>on</strong> is 'flat' if M 1 = O, i.e., the u directi<strong>on</strong> is linear. Likewise, we say the<br />

v directi<strong>on</strong> is 'fiat' if M 3 = O. If the u directi<strong>on</strong> is flat and the v directi<strong>on</strong> is not, then n is<br />

automatically set to <strong>on</strong>e. Similarly, if the v directi<strong>on</strong> is flat and the u directi<strong>on</strong> is not, then m is<br />

automatically set to <strong>on</strong>e. If both directi<strong>on</strong>s are flat, then n and m are set to be the same.

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

Saved successfully!

Ooh no, something went wrong!