Circle

constructor(cx: Double, cy: Double, cz: Double, cw: Double)

Builds the circle (cx, cy, cz, cw), unitized and zero-sanitized.

A round weight cw that doesn't round to zero is divided out of every component by its magnitude, preserving its sign — the orientation survives unitization as cw = ±1. A weight that rounds to zero at the SCALE quantum is not a circle — the blade is the line (cx, cy, cz) — and the constructor throws. Signed zeroes sanitize to +0.0.

Parameters

cx

The e423 component.

cy

The e431 component.

cz

The e412 component.

cw

The e321 round weight; its sign picks the interior side.

Throws

When cw rounds to zero — the blade collapses to the payload Line(cx, cy, cz).


constructor(centerX: Double, centerY: Double, radius: Double)

Builds a classic circle with the given center and radius.

A convenience over the component constructor: cw = −1, so the interior is the bounded disk. The result is always real and classic — an imaginary or inside-out circle takes the component constructor. A zero radius is the single-point circle.

Parameters

centerX

The center's Euclidean x-coordinate.

centerY

The center's Euclidean y-coordinate.

radius

The radius; non-negative.

Throws