Import
signedAreaXZ
Shoelace area on the XZ plane.ringAreaXZ
Absolute (unsigned) shoelace area of the ring.perimeterXZ
Sum of edge lengths around the (implicitly closed) ring.areaCentroidXZ
Area-weighted centroid (shoelace formula).centroidXZ
Average of all points.pointInPolygonXZ
Crossing-number point-in-polygon test on the XZ plane.ringsOverlap
True if any vertex of one ring lies inside the other, OR any pair of edges crosses.ringStrictlyInside
True if every vertex ofinner lies inside outer AND no edge of inner crosses any edge of outer.
isConvexXZ
True when every turn around the ring has the same sign (collinear runs allowed).distancePointToSegmentXZ
Distance fromp to the segment a→b (clamped to the segment).
ringDistanceXZ
Minimum distance between two rings’ boundaries: 0 when they overlap or touch, else the closest vertex-to-edge approach in either direction.offsetRingOutwardXZ
Offset every edge of the ring outward (away from the interior) bydistance, rebuilding vertices as miter intersections of adjacent offset edges.
rotatePointsXZ
Rotate every point aroundanchor by angleRad (right-handed about +Y, i.e.