Compute coefficients of polynomial in Bernstein form.
Check coeffs of 2D Bernstein polynomial
if they all have the same sign,
poly has no zeros ==> DONE
else
{
look at first partial derivatives (as Bernstein polys)
if they have coeffs of same sign
poly is monotone, therefore find zero and draw soln.
else
{
if we are in a small region of space,
draw linear approx to poly
else
chop 2D region into 4 subregions
recursively generate curve for those regions
}
}
End result: We either

Resolution. We will then no longer
divide that region.
Resolution = 100, then we will stop subdividing space
when we have a region with side length > 1/100.
Subdivision, then we assume that we can approximate the
solution curve linearly on this domain. If Subdivision is equal
to Resolution, then we will not fill in any of the solution
until we have subdivided as far as possible. Usually, however,
we want to put in pieces of the solution curve (when applicable)
before subdividing to the limit, so we typically set
Subdivision
to be less than Resolution.
Perturbation.
Perturbation=0.1.
Then the algorithm will compute a new bounding box
with xmin chosen randomly in the interval [-0.1, 0.1],
with xmax chosen randomly in the interval [ 0.9, 1.1],
and similarly for ymin and ymax.
The routine does not verify that the current function is a polynomial. This is because a function like x + y^2 + A*sin(x) may or may not be a polynomial, depending on whether A=0, and whether x is a variable or a parameter.
Please send bug reports to
software@geom.umn.edu.
The code is based on an algorithm developed by A. Geisow in his 1982 PhD thesis, "Surface Interrogation," University of East Anglia, (UK)
Dr. Ralph Martin (Dept of Computing Maths, University of Wales College of Cardiff, Senghennydd Rd, Cardiff, CF2 4AG, United Kingdom) kindly gave the Geometry Center code that implemented this algorithm. The code was originally written for Sun PHIGS. Many thanks to Drs. Geisow and Martin for agreeing to allow their code to be incorporated into the Geometry Center code.
The Pisces Home Page