Gauss Circle ↔ Wessen Farey Sector Bridge

A fundamental domain of the lattice, reconstructed exactly into the full Gauss body by orbit–stabiliser weights, then filtered by the Farey sector Ss

N(R) = 1 + 4·A(R) + 4·D(R) + 8·O(R)
A(R): axis points k²≤R²  ·  D(R): diagonal points 2k²≤R²  ·  O(R): strict octant interior (0<y<x, x²+y²≤R²)
Sector membership: a/b ∈ Ss = (1/(s+1), 1/s]  ⟺  b/(n+1) < a ≤ b/n  (a=y, b=x, gcd(a,b)=1 for coprime/visible points)

The same n on both sides of the bridge

The sector index and the block length are not two different parameters that happen to share a letter. The Farey sector Ss = (1/(s+1), 1/s] is the set of slopes whose denominators first separate at step n+1, and C(n) is the density attached to a run of n+1 consecutive integers. Both tabs let you lock them together, so moving one slider moves the geometry and the density in step.

what's measured For a lattice point, hold every coordinate but one and slide that one through n+1 consecutive values, counting how far gcd = 1 survives. The survivor fraction among coprime points is compared live against the exact Euler product. Both are shown; neither is fitted to the other.

the dimensional pattern Writing Dk(n) = ∏p(1 − min(n+1,p)/pk) and Ck(n) = ζ(k)·Dk(n) = Dk(n)/Dk(0), the failure event at p is “p divides all k−1 held coordinates and one of the n+1 slid values”, which has probability min(n+1,p)/pk. k = 2 is page 1's C(n); k = 3 is what the sphere tab measures.

The interesting part is what happens at saturation. Once p ≤ n+1 the numerator min(n+1,p) freezes at p, so the local factor freezes too — at 1 − 1/p in two dimensions but at 1 − 1/p² in three. The first diverges as a product and the second does not. C(n) decays to 0; C₃(n) settles on ζ(3)/ζ(2) ≈ 0.730763. Blocks of consecutive integers eventually kill visibility in the plane, and never quite do in space.

Both statements follow from the local factors above, and the measured column is there to check them, not to stand in for a proof. Convergence in the octant is noticeably slower than in the ball — the octant constraint y ≤ x correlates the two coordinates, so the finite-R bias is larger at the same point count.

outside circle in circle axis / diagonal / origin in Ss, coprime in Ss, gcd>1 selected point
Click any point on the canvas or a table row to inspect it.
Radius · Sector · Display
exact R (slider to 256, typed to 500; unrendered above ~150)
show gcd>1 points
show full circle grid
show axis / diagonal points
Block-coprime dynamic C(n)
Read (x, y) as (denominator M, numerator r). Slide the denominator through a block of n+1 consecutive values and ask how far coprimality survives.
block n follows the sector s
Applied across the whole disc, every quadrant. Survival is evaluated per point: depth holds the numerator and slides the denominator, so a point and its swap do not agree and the octant cannot simply be mirrored.
coprime pts
survive block
measured
C(n) exact
gap
D(n) = C(n)/ζ(2)
exact C(n)   measured at this R. In two dimensions the local factor picks up 1−1/p once p ≤ n+1, so C(n) → 0.
Verification
N(R) brute
N(R) recon
Match
Octant pts
Ss coprime
Ss gcd>1
Asymptotic: F(s,R) ≈ (3R²/π²)·arctan(1/(s²+s+1)) — coprime count in one octant's Sₛ wedge, R→∞. The wedge measure is the sector's angle arctan(1/s)−arctan(1/(s+1)), not its interval width 1/(s(s+1)) — that width is page 11's denominator-bounded count, a different region.
Predicted
Abs err
Rel err
Sector Ss points — click a row to select on canvas
x (denom) y (numer) slope y/x gcd(y,x) coprime on diagonal
N₃(R) = 1 + 6·A + 12·E + 8·V + 24·P + 24·M + 48·G
Each term is an orbit class of the octahedral group B₃ (signed permutations of three coordinates, order 48) acting on the fundamental domain x ≥ y ≥ z ≥ 0, x²+y²+z² ≤ R².
Orbit size of any lattice point = (distinct arrangements of the multiset {|x|,|y|,|z|}) × 2(number of nonzero coordinates)

What this tab shows

The 2D tab reconstructs the Gauss circle count from a single octant using the dihedral group of order 8: N(R) = 1 + 4A + 4D + 8O. Those coefficients are not chosen — they are the orbit sizes forced by which symmetries fix a point. The origin is fixed by everything (orbit 1), an axis point is fixed by one reflection (orbit 4), a diagonal point likewise (orbit 4), and a generic point has trivial stabiliser (orbit 8).

In three dimensions the same argument runs with the signed permutation group of order 2³·3! = 48. The fundamental domain is the sorted cone x ≥ y ≥ z ≥ 0, and the stabiliser types line up exactly with the symmetry elements of a cube — 6 face directions, 12 edge directions, 8 vertex directions:

RepresentativeOrbit sizeTermGeometric meaning
(0, 0, 0)11origin
(a, 0, 0), a>066·Aaxis / cube face directions
(a, a, 0), a>01212·Eface diagonals / cube edge directions
(a, a, a), a>088·Vbody diagonals / cube vertex directions
(a, b, 0), a>b>02424·Pgeneric, lying in a coordinate plane
(a, a, b) or (a, b, b)2424·Mgeneric, one repeated coordinate
(a, b, c) distinct, all>04848·Gtrivial stabiliser — full orbit

classical The orbit–stabiliser decomposition, the Gauss sphere count, and the primitive density 1/ζ(3) ≈ 0.8319 (ζ(3) is Apéry's constant) are all standard. Nothing here is claimed as new.

what's shown The panel below recomputes both sides live: a brute-force sweep of the whole ball, and the reconstruction from the sorted cone alone. They are checked for exact equality at every R, the same PASS/FAIL discipline the 2D tab uses.

Lifting the Farey sector Ss

In 2D the sector is a slope band Ss = (1/(s+1), 1/s] — a wedge between two rays. There are two honest ways to carry that into 3D, and both are available in the sector control:

Azimuthal wedge — keep points with x > 0 and y/x ∈ Ss. This is literally the 2D sector extruded along z: a dihedral wedge hinged on the z-axis. Its cross-section in the z = 0 plane is exactly what the 2D tab draws.

Polar cone shell — keep points with z/√(x²+y²) ∈ Ss. This bands the sphere by latitude instead of longitude, so the sector becomes a cone shell about the z-axis. The counts differ from the wedge; the widget reports each separately rather than assuming they agree.

Note on density: the wedge and the cone shell have different solid angles, so their primitive-point densities are not expected to match 1/ζ(3) as stated — only the full-ball density is. The sector readouts below are raw counts and a within-sector primitive ratio, not a claim about a limit.

drag rotate wheel / pinch zoom click inspect a point shift + drag pan
Drag to rotate the ball. Click any point to inspect its coordinates, gcd and orbit class.
Radius & Sector
exact R (counts to 60, drawn to 24)
View
show gcd>1 points
sphere wireframe
axes
highlight fundamental cone x≥y≥z≥0
fast draw (skip depth sort)
Block-coprime dynamic C₃(n)
Hold two coordinates and slide the third through n+1 consecutive values, asking how far gcd(x, y, z) = 1 survives. The local factor gains a power of p: 1 − min(n+1,p)/p³.
block n follows the sector s
coprime pts
survive block
measured
C₃(n) exact
gap
D₃(n) = C₃(n)/ζ(3)
exact C₃(n)   measured at this R. Here the saturated factor is 1−1/p², which converges — so C₃(n) → ζ(3)/ζ(2) = 0.730763…, not 0.
Verification
N₃(R) brute
N₃(R) recon
Match
Cone pts
Primitive
Density vs 1/ζ(3)
Orbit class census
×1
×6 A
×8 V
×12 E
×24
×48 G
Counts are representatives in the sorted cone; multiply by the class size and sum to recover N₃(R).
Fundamental cone x ≥ y ≥ z ≥ 0 — click a row to select on canvas
x y z x²+y²+z² orbit size class gcd primitive