Many geometric objects, such as lines and circles in the plane, or planes and spheres in three-dimensional space, partition the ambient space into two parts. We designate one of the parts as positive and one as negative. The function
int O.side_of(x);where O is a geometric object and x is a point in ambient space, returns a positive number (zero, a negative number, respectively) if x lies in the positive part (lies on O, lies in the negative part, respectively). Examples are
int l.side_of(x); //l is line int C.side_of(x); //C is circle int P.side_of(x); //P is polygonWe use the orientation function to define the positive part as follows: The positive part is the region to the left of the object.