Line
An oriented infinite line in the plane, or a weighted line at infinity — the 2D line.
The grade-3 blade gx·e423 + gy·e431 + gz·e412, cutting the plane along gx·x + gy·y + gz = 0. The constructor unitizes by the gradient magnitude ‖(gx, gy)‖, so a finite line stores its unit normal in (gx, gy) and the origin's signed distance in gz. Orientation is data: −g cuts the same point set with the opposite orientation and equals distinguishes them (canonical for unoriented equivalence). A weight that rounds to zero leaves the line at infinity with all three components raw — at-infinity magnitudes are data, so Line(0, 0, 5) != Line(0, 0, 1). Components are stored raw at full Double precision; equals/hashCode compare rounded at the SCALE quantum.
Constructors
Properties
Functions
Line antiproject Dipole => Circle
Returns the circle through the dipole's endpoints incident with the line's crossing of their perpendicular bisector.
Line antiproject FlatPoint => Line
Returns the parallel to the line through the point.
Line antiproject RoundPoint => Line
Returns the parallel to the line through the point.
Line contract Dipole => RoundPoint
Returns the point where the line crosses the dipole's perpendicular bisector.
Line contract FlatPoint => RoundPoint
Returns the line's running direction as a point at infinity, weighted by the flat point.
Line contract RoundPoint => Dipole
Returns the dipole on the line centered at the point's perpendicular foot, its squared radius minus the squared distance to the line.
Line intersects Polygon => Boolean
Returns whether the line reaches the polygon's solid region.
Line intersects Segment => Boolean
Returns whether the line touches or crosses the segment.
Line meet Segment => RoundPoint?
Returns the point where the line crosses the segment, or null when it misses.
Line meet Circle => Dipole
Returns the dipole of the two points where the line crosses the circle — imaginary when the line misses it.
Line meet Dipole => RoundPoint
Returns the point where the line crosses the dipole's carrier.
Line meet Line => FlatPoint
Returns the point where the two lines cross — at infinity along the shared direction when they are parallel.
Returns the components rounded at the SCALE quantum — the debug-output convention of every primitive.