ERG – Radial (Turns)

Sep 6, 2025

ERG — Radial (Turns)

Method block (turns-based). Angles are measured in turns (fractions of a full rotation, u∈[0,1)). We write c(u), s(u) for period-1 cosine/sine in turns (so c(0)=1, s(0)=0; c(1/4)=0, s(1/4)=1). No sexagesimal units and no external constants appear in the primary formulas.

Radial node

For a circle of radius r and an angle u (turns):

$$ P(u) \;=\; \bigl(r\,c(u),\; r\,s(u)\bigr), \qquad u\in[0,1). $$

Uniform partition over the full turn: $u_k = k/N$, step $\Delta u = 1/N$.

Fig. A — Radial node with turns arc Axes, a circle, two radii separated by an angle u in turns, an arc marking u, and the point P(u). u P(u) O
Fig. A — Radial point $P(u)=(r\,c(u),\,r\,s(u))$ with angle $u$ expressed in turns.

Circumference (equal-angle chords)

Each chord between $P(u_k)$ and $P(u_{k+1})$ has length $2r\,s(\Delta u/2)$. Sum of $N$ identical chords → product:

$$ \boxed{\,C_N \;=\; 2\,N\,r\,s\!\Bigl(\tfrac{1}{2N}\Bigr)\,} $$

Interpretation: inscribed regular $N$-gon; $C_N$ increases with $N$ and converges to the circle’s circumference.

Fig. B — Regular N-gon from equal-angle chords (N=12) Circle of radius 100 with twelve equal-angle chords forming an inscribed regular polygon. N = 12, Δu = 1/N
Fig. B — Equal-angle chords tile the full turn (regular $N$-gon).

Area (equal-angle sectors)

The $N$ isosceles sectors (sides $r,r$ and angle $\Delta u$) each have area $\tfrac12 r^2 s(\Delta u)$. Sum → product:

$$ \boxed{\,A_N \;=\; \tfrac{N}{2}\,r^2\,s\!\Bigl(\tfrac{1}{N}\Bigr)\,} $$

$A_N$ increases with $N$ and converges to the circle’s area.

Fig. C — Sectors at equal angular step Two illustrative sectors on a circle, approximately 1/8 turn each, showing area by equal-angle sectors. Δu = 1/N (turns)
Fig. C — Area by sectors at equal angular step (sum of identical pieces).

How to use

  • Pick a precision N (e.g., 128–1024). If you store angles as fixed-point turns k/2^B, choose N dividing 2^B.
  • Step-doubling check: compare results at N vs 2N to gauge the remaining gap.

Pseudocode (2D)

Input: r, N
C = 2 * N * r * s( 1 / (2*N) )
A = 0.5 * N * r^2 * s( 1 / N )
  

Notes

  • Turns keep formulas simple and hardware-friendly (fixed-point angle indices, LUTs, SIMD).
  • Use this block when you want a pure angular build; for Cartesian builds see Δx Trapezoidal and Original Projection pages.

Angle unit & precision (turns, binary fixed-point)

We measure angles in turns: a full rotation is 1 turn. Hence quarter-turn = 1/4, half-turn = 1/2, etc. Trigonometric functions are period-1 in turns: c(u), s(u) with c(0)=1, s(0)=0, c(1/4)=0, s(1/4)=1.

Equal-angle partition

Choose an integer N (number of sectors) and set the angular step Δu = 1/N. The sampling angles are uk = k/N, k=0,…,N−1.

Binary fixed-point turns (B bits)

For hardware/software precision, store angles as u = k / 2^B turns with k ∈ {0,…,2^B−1}. The angular resolution is ΔuB = 1 / 2^B. If you want exactly N equal sectors, pick N that divides 2^B (e.g., N = 2^B), and use indices k = m·j with m = 2^B / N, j = 0,…,N−1.

Why more bits ⇒ more accuracy

  • Circumference (chords): CN = 2 N r · s(1/(2N)) is the perimeter of the inscribed regular N-gon and increases to the circle’s circumference. With N=2^B, the step halves when B→B+1 and the error typically drops ~×4 (quadratic in the step).
  • Area (sectors): AN = ½ N r² · s(1/N) is the area of N equal sectors and increases to the circle’s area; same step-squared behaviour.
0 1/8 1/4 3/8 1/2 5/8 3/4 7/8
Example with B = 3 bits ⇒ 23 = 8 ticks. Increasing B doubles the ticks and the precision.

Pseudocode (B-bit angles)

Input: r, B
N = 1 << B            // N = 2^B sectors
C = 2 * N * r * s( 1.0 / (2 * N) )
A = 0.5 * N * r^2 * s( 1.0 / N )

Implementation tip: if you keep an angle register k modulo 2^B, additions are wrap-around on B bits. For LUTs of size 2^M with M ≤ B, you can index by k >> (B−M).