expand

infix fun FlatPoint.expand(line: Line): Line

FlatPoint expand Line => Line
Returns the line through the point perpendicular to the given line.

The weight expansion p ∧ line^☆ — the line containing this point and orthogonal to line. Its normal runs along line's own direction, so the result's orientation follows the operand orientations. A point at infinity expands into a line at infinity, kept raw; a line at infinity collapses to the all-zero line, which the Line constructor accepts.

Receiver

The point the perpendicular passes through.

Return

The raw Line through the point, perpendicular to line; all-zero when line lies at infinity.

Parameters

line

The line crossed at right angles.


infix fun FlatPoint.expand(circle: Circle): Line

FlatPoint expand Circle => Line
Returns the line through the point and the circle's center.

The weight expansion p ∧ circle^☆ — the line containing this point and orthogonal to the circle: a line crosses a circle at right angles exactly when it passes through the center. Flipping the circle inside-out negates every component: the same line, opposite orientation. A point at the circle's center collapses to the all-zero line, which the Line constructor accepts.

Receiver

The point the radial line passes through.

Return

The raw Line through the point and the circle's center; all-zero when they coincide.

Parameters

circle

The circle whose center the line crosses.


infix fun RoundPoint.expand(line: Line): Dipole

RoundPoint expand Line => Dipole
Returns the dipole holding the point and its mirror image across the line.

The weight expansion a ∧ line^☆ — the dipole containing this point and orthogonal to the line. Its carrier is the perpendicular dropped from the point onto the line, and its endpoints are the point and its reflection, so a point on the line yields a zero-radius dipole at the point itself. A point at infinity off the line's normal expands into an at-infinity dipole, kept raw — gate with Dipole.isAtInfinity.

Receiver

The point to pair with its reflection.

Return

The raw Dipole holding the point and its reflection.

Parameters

line

The mirror line.

Throws

When the blade collapses at the SCALE quantum — the line at infinity, or a point at infinity running along the line's normal.


infix fun RoundPoint.expand(circle: Circle): Dipole

RoundPoint expand Circle => Dipole
Returns the dipole holding the point and its inversion through the circle.

The weight expansion a ∧ circle^☆ — the dipole containing this point and orthogonal to the circle. Its carrier is the radial line through the point, and its endpoints are the point and its circle inversion, so a point on the circle yields a zero-radius dipole at the point itself. Flipping the circle inside-out negates every component: the same pair, opposite orientation.

Receiver

The point to pair with its inversion.

Return

The raw Dipole holding the point and its inversion.

Parameters

circle

The inverting circle.

Throws

When the point sits at the circle's center at the SCALE quantum — its inversion escapes to infinity and the blade collapses.


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

RoundPoint expand Dipole => Circle
Returns the circle through the point whose inversion swaps the dipole's endpoints.

The weight expansion a ∧ dipole^☆ — the circle containing this point and orthogonal to the dipole. Inverting through the result maps the dipole's endpoints onto each other; equivalently, the result cuts the carrier in a pair separating the endpoints harmonically. Swapping the dipole's endpoints negates every component: the same circle, opposite orientation.

Receiver

The point the circle passes through.

Return

The raw Circle through the point, orthogonal to the dipole.

Parameters

dipole

The dipole whose endpoints the circle swaps.

Throws

When the round weight collapses at the SCALE quantum — for a finite point, exactly when it lies on the endpoints' perpendicular bisector: the swap-circle straightens into that mirror line, carried as the payload.


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

RoundPoint expand FlatPoint => Circle
Returns the circle through the round point centered at the flat point.

The weight expansion a ∧ flatPoint^☆ — the circle containing this point and orthogonal to the flat point. The expansion builds the circle inside-out (cw = +1 for unitized finite operands — what the algebra gives); its radius2 is the squared distance between the operands, plus this point's own radius2 when it carries one.

Receiver

The point the circle passes through.

Return

The raw Circle through the round point, centered at the flat point.

Parameters

flatPoint

The circle's center.

Throws

When either operand lies at infinity at the SCALE quantum — the round weight collapses; a center at infinity leaves the line through the round point perpendicular to the carried direction as the payload.


infix fun Dipole.expand(line: Line): Circle

Dipole expand Line => Circle
Returns the circle through the dipole's endpoints that crosses the line at right angles.

The weight expansion d ∧ line^☆ — the circle containing this dipole and orthogonal to the line: its center sits on the line, so the line cuts it along a diameter. Swapping the dipole's endpoints negates every component: the same circle, opposite orientation.

Receiver

The dipole contributing its endpoints.

Return

The raw Circle through the dipole's endpoints, orthogonal to the line.

Parameters

line

The line crossed at right angles.

Throws

When the round weight collapses at the SCALE quantum — the dipole's carrier perpendicular to the line, where the sought circle straightens into the carrier itself (the payload), or the dipole at infinity.


infix fun Dipole.expand(circle: Circle): Circle

Dipole expand Circle => Circle
Returns the circle through the dipole's endpoints that crosses the circle at right angles.

The weight expansion d ∧ circle^☆ — the circle containing this dipole and orthogonal to the circle: inverting through circle maps the result onto itself. Swapping the dipole's endpoints, or flipping the circle inside-out, negates every component: the same circle, opposite orientation.

Receiver

The dipole contributing its endpoints.

Return

The raw Circle through the dipole's endpoints, orthogonal to the circle.

Parameters

circle

The circle crossed at right angles.

Throws

When the round weight collapses at the SCALE quantum — exactly when the circle's center lies on the dipole's carrier: the sought circle straightens into the carrier itself, carried as the payload.