float predicate_orient3d(vector a, vector b, vector c, vector d)
Given 3 points
c in space, return a negative value if
d is behind the
plane defined by the triangle
abc (with right hand rule winding order), a positive value if its in front of
the plane, and zero if points
d are coplanar.
More precisely, this function computes the determinant of the matrix:
[a_x a_y a_z 1; b_x b_y b_z 1; c_x c_y c_z 1; d_x d_y d_z 1]
…with a guaranteed correct sign.