surf version 1.0.1
May 28, 2000
The aim was to have a tool to visualize some real algebraic geometry:
plane algebraic curves given as zero
locus of a polynomial in two variables,
algebraic surfaces given as zero locus of
a polynomial in three variables,
hyperplane sections of surfaces: algebraic space curves
given as zero locus of two polynomials in three variables:
a polynomial of arbitrary degree (the surface) and
a linear polynomial (the hyperplane),
and lines on surfaces given by two points on a surface.
The algorithms should be stable enough not to be confused by
curve/surface singularities in codimension greater than one and
the degree of the surface or curve.
This has been achieved quite a bit. We have drawn curves of degree up to 30
and surfaces of degree up to 20 successfully. However, there are examples
of curves/surfaces of lower degree where surf fails to produce perfect
images. This happens especially if the equation of the curve/surface is not
reduced. Best results are achieved using reduced equations. On the other
hand, surf displays the Fermat-curves accurately for degree up to 98.