import java.awt.geom.Path2D; sclass PrecisePolygon extends Path2D.Double { gettable L points; *(double... points) { this(toDoublePts(points)); } *(L pts) { points = iDoublePtsToDoublePts(pts); var p = first(points); moveTo(p.x, p.y); for (int i = 1; i < l(points); i++) { p = points.get(i); lineTo(p.x, p.y); } closePath(); } }