pub fn orient2d_3i(
a: &ImplicitPoint,
b: &ImplicitPoint,
c: &ImplicitPoint,
axis: DropAxis,
) -> SignExpand description
orient2d with THREE implicit points (a,b,c), projected after axis, based on
a: Λ′ = (d1·λ2_i−d2·λ1_i)(d1·λ3_j−d3·λ1_j) − (d1·λ2_j−d2·λ1_j)(d1·λ3_i−d3·λ1_i).
D′ = d1²·d2·d3, so the squared d1 is dropped → den_signs = [sign(d2), sign(d3)].