contract

FlatPoint contract RoundPoint => RoundPoint
Returns the flat point's position as a round point sized by minus the squared distance to the given point.

The bulk contraction p ∨ point^★ — the round point contained in the flat point and orthogonal to the round one: the flat point's own position, whose radius2 is −d² for unitized operands with a null-lift argument — zero when they coincide, imaginary apart. A flat point at infinity contracts to a point at infinity, kept raw.

Receiver

The flat point contributing its position.

Return

The raw RoundPoint at the flat point's position; imaginary when the operands sit apart.

Parameters

point

The point contracted away.


infix fun Line.contract(point: RoundPoint): Dipole

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.

The bulk contraction g ∨ point^★ — the dipole contained in the line and orthogonal to the point. A point on the line contracts to a zero-radius dipole at itself; any point off it gives an imaginary dipole (radius2 = −d² for unitized operands, d the distance). The result's carrier runs opposite this line's orientation. A line at infinity contracts into an at-infinity dipole, kept raw — gate with Dipole.isAtInfinity.

Receiver

The line carrying the result.

Return

The raw Dipole on the line centered at the point's foot; imaginary off the line.

Parameters

point

The point contracted away.

Throws

When the point lies at infinity at the SCALE quantum — the whole blade collapses to its flat part.


infix fun Line.contract(flatPoint: FlatPoint): RoundPoint

Line contract FlatPoint => RoundPoint
Returns the line's running direction as a point at infinity, weighted by the flat point.

The bulk contraction g ∨ flatPoint^★ — a purely directional object contained in the line and orthogonal to the flat point: the direction the line runs, scaled by the flat point's weight, with the raw conformal component carrying the operands' pairing. The result always lies at infinity and is kept raw — no unitization applies.

Receiver

The line contributing its direction.

Return

The raw at-infinity RoundPoint along the line's direction.

Parameters

flatPoint

The point contracted away.


infix fun Line.contract(dipole: Dipole): RoundPoint

Line contract Dipole => RoundPoint
Returns the point where the line crosses the dipole's perpendicular bisector.

The bulk contraction g ∨ dipole^★ — the round point contained in the line and orthogonal to the dipole. The result is a genuine round point, not a null lift: its position is the crossing with the endpoints' perpendicular bisector and its raw conformal component sizes it by the pairing. A line parallel to that bisector — the dipole's carrier perpendicular to it — contracts to a point at infinity, kept raw.

Receiver

The line carrying the result.

Return

The raw RoundPoint at the crossing; at infinity when the line parallels the endpoints' perpendicular bisector.

Parameters

dipole

The dipole contracted away.


Dipole contract RoundPoint => RoundPoint
Returns the center of the circle that swaps the dipole's endpoints through the point, carrying that circle's squared radius negated.

The bulk contraction d ∨ point^★ — the round point contained in the dipole and orthogonal to the point: componentwise the antidual of the swap-circle RoundPoint expand Dipole, so its position is that circle's center and its radius2 the circle's negated. A point on the endpoints' perpendicular bisector — where the swap-circle straightens into a line — contracts to a point at infinity, kept raw.

Receiver

The dipole carrying the result.

Return

The raw RoundPoint at the swap-circle's center; at infinity when the point lies on the endpoints' perpendicular bisector.

Parameters

point

The point contracted away.


infix fun Circle.contract(point: RoundPoint): Dipole

Circle contract RoundPoint => Dipole
Returns the dipole where the circle crosses the radical axis between it and the point.

The bulk contraction c ∨ point^★ — the dipole contained in the circle and orthogonal to the point. Its carrier is the radical axis of the circle and the point taken as a zero circle — the perpendicular bisector of the point and its inversion. A point on the circle contracts to a zero-radius dipole at itself; the dipole is imaginary where the radical axis clears the circle. A point at the circle's center sends the radical axis to infinity: an at-infinity dipole, kept raw — gate with Dipole.isAtInfinity.

Receiver

The circle carrying the result.

Return

The raw Dipole where the circle crosses the radical axis; imaginary when they miss.

Parameters

point

The point contracted away.

Throws

When the whole blade collapses at the SCALE quantum — the point at the center of a circle whose radius also rounds to zero.


infix fun Circle.contract(flatPoint: FlatPoint): RoundPoint

Circle contract FlatPoint => RoundPoint
Returns the circle's tangent direction at the point's bearing, as a point at infinity.

The bulk contraction c ∨ flatPoint^★ — a purely directional object contained in the circle and orthogonal to the flat point: the direction perpendicular to the radial through the point, so a point on the circle contracts to the tangent direction there. The result always lies at infinity and is kept raw — no unitization applies. A point at the circle's center contracts to the zero direction.

Receiver

The circle contributing its tangent.

Return

The raw at-infinity RoundPoint along the tangent bearing; all-zero at the circle's center.

Parameters

flatPoint

The point contracted away.


infix fun Circle.contract(dipole: Dipole): RoundPoint

Circle contract Dipole => RoundPoint
Returns the round point pairing the circle against the dipole, on the endpoints' perpendicular bisector.

The bulk contraction c ∨ dipole^★ — the round point contained in the circle and orthogonal to the dipole. The result is a genuine round point, not a null lift: its position sits on the endpoints' perpendicular bisector, its raw pairing with the circle (cx·ax + cy·ay + cz·az + cw·aw) vanishes, and its container crosses the circle through the endpoints at right angles. A circle centered on the dipole's carrier contracts to a point at infinity, kept raw.

Receiver

The circle carrying the result.

Return

The raw RoundPoint on the endpoints' perpendicular bisector; at infinity when the circle's center lies on the dipole's carrier.

Parameters

dipole

The dipole contracted away.