next up previous notation contents
Next: 4.7.2 Line Tracing Up: 4.7 Other Work Previous: 4.7 Other Work

4.7.1 Sampling

Traditional approaches to rendering functions sample the given function g at various places, by computing tex2html_wrap_inline38547 . After sampling, a rendering is produced by appropriately connecting the samples. We deam such approaches unsatisfactory, as the produced graph may mislead the viewer as to the nature of G. Some examples follow:

figure28848

tex2html_wrap_inline38563 denotes a rendering produced using uniform floating-point sampling. The first graph was produced using 100 samples; the second and third were produced using 25 samples each. The third graph has a true rendering, at the given resolution, which may be somewhat misleading, although it would be quite natural for a user to ``zoom'' into the atypical region. Please see [24] for an extended discussion of sampling techniques in rendering.

These approaches typically break down when investigating minute details of the graph, as the following renderings illustrate:

figure28878

Such ineptitude at fine-scale detail may cause large-scale features to be poorly rendered, as a function may arbitrarily magnify regions. Of course, sampling methods fare poorly when interesting features of a graph occur between floating-point coordinates; consider the following renderings:

figure28898

For the preceding example, we consider the general exponentiation operator, which is defined for negative bases with integral exponents: for example, tex2html_wrap_inline38573 and tex2html_wrap_inline38575 . All of the examples given in this section are rendered correctly using the appropriate interval techniques which were described in this chapter.

The renderings produced for the above examples finish with each pixel determined exactly, excepting that which displays fine-scale detail. With that function, a course approximation is generated, which contains the true curve. An erstwhile interval-based renderer may increase the precision of the underlying number system, as needed.

More sophisticated sampling algorithms may be similarly fooled, although with more convoluted examples. Without assumptions as to the shape of G, a finite number of floating-point samples gives no information, other than the samples actually computed. Samples computed using floating point rarely lie within G.


next up previous notation contents
Next: 4.7.2 Line Tracing Up: 4.7 Other Work Previous: 4.7 Other Work
Jeff TupperMarch 1996