RoundPoint
A point in the plane, optionally carrying a size — the 2D round point.
The grade-1 vector ax·e1 + ay·e2 + az·e3 + aw·e4. The constructor unitizes by the round weight az, so a finite point stores its Euclidean coordinates in (ax, ay). aw is the conformal component; measured against the null lift aw = (ax² + ay²)/2 it gives the squared radius radius2 — zero for a plain Euclidean point, negative for an imaginary one (see isImaginary). A weight that rounds to zero places the point at infinity: a direction with magnitude, kept raw. Components are stored raw at full Double precision; equals/hashCode compare rounded at the SCALE quantum.
Inheritors
Constructors
Properties
Whether this point lies at infinity — a direction with magnitude rather than a position.
Whether this point is imaginary — a negative squared radius, no real locus.
This direction as a RoundDirection — the refinement carrying the at-infinity guarantee.
Functions
Returns this object rebuilt around the replacement geometry roundPoint — the hook the shape-preserving operations return through.
RoundPoint distanceTo FlatPoint => Double
Returns the raw Euclidean distance between the round point's position and the flat point.
RoundPoint distanceTo Line => Double
Returns the raw perpendicular distance from the point's position to the line.
RoundPoint distanceTo RoundPoint => Double
Returns the raw Euclidean distance between the two points' positions.
RoundPoint dot Circle => Double
Returns the raw point-against-circle probe: positive inside, zero on the circle, negative outside, for a finite point and a classic circle.
RoundPoint dot Line => Double
Returns the line's equation evaluated at the point: zero when the point lies on the line, the raw signed distance to it otherwise.
RoundPoint dot RoundPoint => Double
Returns the raw inner product of two round points — zero when two finite positions coincide, −½·d² when they sit d apart.
RoundPoint expand Circle => Dipole
Returns the dipole holding the point and its inversion through the circle.
RoundPoint expand Dipole => Circle
Returns the circle through the point whose inversion swaps the dipole's endpoints.
RoundPoint expand FlatPoint => Circle
Returns the circle through the round point centered at the flat point.
RoundPoint expand Line => Dipole
Returns the dipole holding the point and its mirror image across the line.
RoundPoint join Segment => Circle
Returns the circle through the segment's endpoints and this point.
RoundPoint join Dipole => Circle
Returns the circle through the point and the dipole's endpoints.
RoundPoint join FlatPoint => Line
Returns the line through both points.
RoundPoint join RoundPoint => Dipole
Returns the dipole holding both points — this point as Dipole.start, other as Dipole.end.
RoundPoint on Polygon => Boolean
Returns whether the point lies on the polygon's boundary.
RoundPoint on Segment => Boolean
Returns whether the point lies on the segment itself, endpoints included.
RoundPoint on Circle => Boolean
Returns whether the point lies on the circle.
RoundPoint on Line => Boolean
Returns whether the point lies on the line.
RoundPoint project Circle => RoundPoint
Returns the round point that pairs the point into the circle: on the radial line through the point, incident with the circle.
RoundPoint project Dipole => RoundPoint
Returns the point of the dipole's carrier dividing the endpoints in the ratio of their squared distances from the given point.
RoundPoint project Line => RoundPoint
Returns the point's perpendicular foot on the line, sized by the squared distance to it.
Returns the components rounded at the SCALE quantum — the debug-output convention of every primitive.