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):
Uniform partition over the full turn: $u_k = k/N$, step $\Delta u = 1/N$.
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:
Interpretation: inscribed regular $N$-gon; $C_N$ increases with $N$ and converges to the circle’s circumference.
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:
$A_N$ increases with $N$ and converges to the circle’s area.
How to use
- Pick a precision
N(e.g., 128–1024). If you store angles as fixed-point turnsk/2^B, chooseNdividing2^B. - Step-doubling check: compare results at
Nvs2Nto 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. WithN=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.
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).
