Skip to main content

orient3d_sos

Function orient3d_sos 

Source
pub fn orient3d_sos(
    a: Point3,
    b: Point3,
    c: Point3,
    d: Point3,
    ia: usize,
    ib: usize,
    ic: usize,
    id: usize,
) -> f64
Expand description

Compute orient3d(a, b, c, d) with symbolic perturbation to resolve degeneracy.

When the exact orient3d returns 0 (coplanar points), applies an index-based perturbation: the point with the highest index is perturbed infinitesimally along the z-axis, breaking ties consistently.

Returns a non-zero f64 whose sign indicates the resolved orientation. The magnitude is arbitrary when the exact result was zero.