Computational geometry 2026-11-05
Computational geometry designs and analyzes algorithms for geometric objects represented by coordinates or combinatorial structure. Problems include finding a convex hull, intersecting segments and locating points in a subdivision. The representation and numerical predicates are part of correctness, not merely implementation details.
For points in the plane, the orientation predicate uses the sign of
A positive sign places to the left of the directed line from to ; zero means collinearity. The points give a positive determinant. Near-collinear inputs can make round-off error reverse the sign and corrupt an algorithm's combinatorial decisions. Shewchuk's adaptive predicates increase arithmetic precision only as needed to certify the correct sign.[ref]
Orientation predicate 2026-11-05
An orientation predicate determines on which side of an oriented geometric object a point lies. For planar points , compute the determinant
In coordinates with rightward and upward, means a counterclockwise turn from through to , a clockwise turn, and collinearity. Its magnitude is twice the area of the triangle.
For and , gives , while gives . Convex hull and segment-intersection algorithms use these signs to make discrete decisions. A tiny round-off error can reverse a nearly zero sign and make those decisions inconsistent. Jonathan Richard Shewchuk's adaptive arithmetic computes extra precision only when needed to certify the sign for the supplied coordinates.[ref]