Reference:Sphere Sweep

From POV-Wiki
Revision as of 19:08, 15 March 2012 by Jholsenback (talk | contribs) (1 revision: Reference Migration Initial Load)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The syntax of the sphere_sweep object is:

SPHERE_SWEEP:
  sphere_sweep {
    linear_spline | b_spline | cubic_spline
    NUM_OF_SPHERES,

    CENTER, RADIUS,
    CENTER, RADIUS,
    ...
    CENTER, RADIUS
    [tolerance DEPTH_TOLERANCE]
    [OBJECT_MODIFIERS]
    }

Sphere_sweep default values:

tolerance : 1.0e-6 (0.000001) 

A Sphere Sweep is the envelope of a moving sphere with varying radius, or, in other words, the space a sphere occupies during its movement along a spline.
Sphere Sweeps are modeled by specifying a list of single spheres which are then interpolated.
Three kinds of interpolation are supported:

  • linear_spline : Interpolating the input data with a linear function, which means that the single spheres are connected by straight tubes.
  • b_spline : Approximating the input data using a cubic b-spline function, which results in a curved object.
  • cubic_spline : Approximating the input data using a cubic spline, which results in a curved object.

The sphere list (center and radius of each sphere) can take as many spheres as you like to describe the object, but you will need at least two spheres for a linear_spline, and four spheres for b_spline or cubic_spline.

Optional: The depth tolerance that should be used for the intersection calculations. This is done by adding the tolerance keyword and the desired value: the default distance is 1.0e-6 (0.000001) and should do for most sphere sweep objects.
You should change this when you see dark spots on the surface of the object. These are probably caused by an effect called self-shading. This means that the object casts shadows onto itself at some points because of calculation errors. A ray tracing program usually defines the minimal distance a ray must travel before it actually hits another (or the same) object to avoid this effect. If this distance is chosen too small, self-shading may occur.
If so, specify tolerance 1.0e-4 or higher.

Note: If these dark spots remain after raising the tolerance, you might get rid of these spots by using adaptive super-sampling (method 2) for anti-aliasing. Images look better with anti-aliasing anyway.

Note: The merge CSG operation is not recommended with Sphere Sweeps: there could be a small gap between the merged objects!