Star-X geometric context

Documentation index · Implementation notes · Bibliography

What Star-X changes

Star-X is a rearranged Cahill-Keyes octahedral net. It does not replace the curves inside an octant. The globe is still divided into eight spherical triangles, every triangle still uses the Cahill-Keyes A–L construction, and the same continental cuts remain available. Star-X changes where two groups of those projected faces are placed on the page.

The current specification also defines one composed southern component. The ordinary X carrier is cut at the geographic parallel 60°S; everything at or south of that parallel can be reassembled around one bottom-center South Pole. That boundary, radial transform, zero-degree bearing, and page registration are projection geometry. They do not depend on a coastline, land extent, or Natural Earth. Source datasets supply content to clip and draw, not parameters for the Star-X transform.

The ordinary Cahill-Keyes M map is horizontal. Star-X reads its four north/south face pairs from left to right, keeps the first two pairs in the lower half, rotates the last two pairs by 180 degrees, and puts them in the upper half. The result is a portrait, polar-centered X.

Historical Star-X composition with two rotated Cahill-Keyes groups around a central polar star

The checked-in image is a historical data visualization and a visual record of the arrangement, not a pixel oracle for the C++ projection. It includes symbols, links, crops, and page-layout decisions beyond the geographic transform.

Octahedral context

An octahedron has eight triangular faces. Four touch its northern vertex and four touch its southern vertex. On the globe these become four 90-degree longitude sectors per hemisphere. Flattening the faces requires cuts; a pole or edge can therefore have several visible copies in a planar net even though it is one location on the folded polyhedron.

The Cahill-Keyes algorithm calculates one mirrored half-octant and then uses rigid rotations, reflections, and translations to form all eight faces. That standard assembly produces the M profile shown in the Cahill-Keyes context. Star-X starts after this calculation, so the local scale and carefully constructed graticule remain unchanged.

Face numbers and spatial slots

Two numbering systems must be kept distinct.

The official geographic octant numbering inherited from the Graça/Keyes program is:

Longitude sector North octant South octant
Pacific and western North America 1 6
Americas and Atlantic 2 7
Europe, Africa, and Middle East 3 8
Asia and Australia 4 5

In the rendered M layout, north and south partners are adjacent. Numbering the triangular spatial slots from left to right therefore gives:

Spatial slots Official octants Source half Star-X group
1–2 1 and 6 left, outer group 1
3–4 2 and 7 left, inner group 1
5–6 3 and 8 right, inner group 2
7–8 4 and 5 right, outer group 2

Thus the requested “octants 1–4 on the left” and “octants 5–8 on the right” are spatial slots in the M map. Treating them as official geographic octant numbers would instead split north from south, contradicting the left/right geometry and the historical plate arrangement.

flowchart LR
  subgraph M[Standard Cahill-Keyes M layout]
    Q1["slots 1–2<br/>octants 1 / 6"]
    Q2["slots 3–4<br/>octants 2 / 7"]
    Q3["slots 5–6<br/>octants 3 / 8"]
    Q4["slots 7–8<br/>octants 4 / 5"]
    Q1 --- Q2 --- Q3 --- Q4
  end

From M to X

Split the M-layout rectangle vertically between the second and third face pairs. Each half is square. Group 1 stays upright and moves below the carrier midpoint. Group 2 rotates around the center of its square and moves above the midpoint.

flowchart TB
  SRC["22 × 11 Cahill-Keyes source<br/>[ Q1 ][ Q2 ] | [ Q3 ][ Q4 ]"]
  SPLIT{"split into<br/>11 × 11 groups"}
  G1["group 1<br/>Q1 then Q2<br/>keep orientation"]
  G2["group 2<br/>Q3 then Q4<br/>rotate 180°"]
  PLACE["close the group gap"]
  SCALE["enlarge complete X 120%<br/>about page center"]
  FINAL["17 × 22 Star-X carrier<br/>top: Q4 Q3<br/>center: North-pole star<br/>bottom: Q1 Q2 + Antarctica"]

  SRC --> SPLIT
  SPLIT --> G1 --> PLACE
  SPLIT --> G2 --> PLACE
  PLACE --> SCALE --> FINAL

A compact page diagram is:

17 units wide
┌─────────────────┐
│   ┌─────┬─────┐ │
│   │ Q4↻ │ Q3↻ │ │  group 2, rotated 180 degrees
│   └──╲──┴──╱──┘ │
│        NP         │  northern polar copies bound the X center
│   ┌──╱──┬──╲──┐ │
│   │ Q1  │ Q2  │ │  group 1, original orientation
│   └─────┴─────┘ │
└─────────────────┘
22 units high

Here Q1 through Q4 are the four ordinary Cahill-Keyes north/south face pairs. A 180-degree rotation reverses both order and orientation, so the upper row reads Q4, Q3 from left to right. That is the same 4 3 / 1 2 plate ordering documented for the historical composition.

Why the center is the North Pole

In the lower group, northern polar vertices lie along its upper inward boundary. In the rotated upper group they lie along its lower inward boundary. Stacking those boundaries around the carrier midpoint makes the North Pole the conceptual center of the composition.

Because an unfolded polyhedron has cuts, the geographic North Pole is not forced into one shared planar coordinate. Its octant copies form a compact locus around the midpoint. The converging face edges outline an eight-rayed star or X; historical maps place a black star over this area. Preserving the copies maintains continuity inside every octant and avoids an artificial snap at exactly 90 degrees latitude.

The South Pole does not occupy the center. Group 2 carries its southern vertices toward the top edge after rotation, while group 1 carries them toward the bottom edge. The map can therefore be turned 180 degrees without giving one half a permanent visual “top.” Stages 6 and 13 introduced a single South-polar cap at the lower end; Stage 14 fixed its data-independent page registration. It is an explicit layer-aware cut and reassembly, not a collapse of the point projection’s polar copies.

Polar marks and Antarctica

The finished presentation uses two different kinds of polar context. The North Pole is a symbolic eight-point star over the central locus. Antarctica is a geographic component of the projection. The final compositor cuts every source at the fixed 60°S parallel and reassembles all content at or south of it around one South Pole at bottom center. The same result is obtained for the same frame and star_x_layout even when no physical-feature dataset is installed.

This distinction is perceptual as well as numerical. The star makes the rotation center immediately legible without pretending that all cut copies of the North Pole are one topological vertex. The Antarctic cap restores a recognizable continent where the ordinary octahedral net would divide it among outer faces. Every point keeps its original distance from its quadrant tip, so no independent inset scale is introduced. Geographic bearing is normalized around the shared pole to join Cahill-Keyes’s bent octant edges. Ocean, land, bathymetry, ice, linework, and graticules all use the same cap; the southern source portions are removed, so nothing is duplicated. Within each thematic layer, transformed Antarctic paths are serialized after every ordinary quadrant path and therefore paint on top.

The cap registration is fixed by its projected 60°S boundary. Let L(phi,lambda) be the radius-preserving cap point relative to the shared pole, in the usual page axes where y increases downward. The pole is registered as:

Cx = W / 2
clearance = H * (0.25 / 44)
Cy = H - clearance - max_lambda(Ly(-60°, lambda))

The boundary is sampled at quarter-degree longitude intervals, including both antimeridian limits. Therefore its bottommost point is exactly one quarter unit above the lower edge of a 34 × 44 carrier, with proportional clearance at every other valid 17:22 size. This is why the blue unified-cap edge remains visible instead of being clipped by the SVG view box. The placement is a carrier invariant, not a measurement of the Antarctic mainland.

Quadrants in the final carrier

The portrait carrier has four practical drawing quadrants. They are page regions rather than spherical quadrants:

Final page quadrant Source pair Geographic octants Orientation
upper left Q4 4 and 5 rotated 180 degrees
upper right Q3 3 and 8 rotated 180 degrees
lower left Q1 1 and 6 original
lower right Q2 2 and 7 original

This ordering makes Asia/Australia and Europe/Africa approach the central pole from above, while the Pacific and Americas approach it from below. The equatorial edges and outer octant boundaries create the diagonal strokes that give the net its X silhouette.

Aspect and margins

A tight stack of two square groups would have a 1:2 ratio. Star-X retains the historic four-panel carrier instead: two 17-by-22 portrait panels across and two down make 34 by 44, whose reduced ratio is 17:22.

Using height units, the exact layout is:

frame: 17/22 wide by 1 high
each group: 1/2 wide by 1/2 high
left and right margin: 3/22 each
signed carrier gap: R in [-1/2, 0]
default R: -9/88
page-centered enlargement E > 0
default E: 6/5

The margins are part of the frame contract, not anisotropic padding added after projection. Both group squares, their vertical spacing, and every Cahill-Keyes construction length scale uniformly with frame.height().

The “carrier gap” is signed because it describes the spacing between the two invisible square source regions. R=0 gives their former edge-to-edge placement. A negative value overlaps those regions while leaving every octant rigid. The default R=-9/88 translates each group inward by 9/176 of frame height. On the 34-by-44 generated example that is exactly 2.25 units per group: the lower group rises and the upper group descends toward the 22-unit centerline. Passing a zero ratio remains available when the older, wider central opening is desired.

After the gap is closed, the complete arrangement is uniformly enlarged about the page center. The default 6/5 factor reduces the historical margins without changing the 17:22 page ratio or distorting any face. On the 34-by-44 page this is the affine translation-and-scale matrix(1.2,0,0,1.2,-3.4,-4.4).

Cuts and continuity

Within one half-octant the projection is continuous. Discontinuities occur at selected octant edges, at the standard M-layout wrap, and at the new left/right group split. Those cuts are the price of laying an octahedral surface flat.

A renderer should group or clip a coastline, graticule, or network path by face before drawing. If two adjacent geographic samples project to opposite parts of the page, joining them directly can draw a false line across the carrier. Point markers such as those in augment_carto_geo_specific need no special seam treatment.

Orientation summary

flowchart TD
  LL["latitude / longitude"]
  CK["Cahill-Keyes half-octant formula"]
  M["assemble ordinary M-layout point"]
  SIDE{"native x < 0?"}
  LOWER["group 1<br/>translate to lower square"]
  UPPER["group 2<br/>rotate 180° and translate to upper square"]
  GAP["apply symmetric<br/>signed group gap"]
  ENLARGE["uniformly enlarge about<br/>the page center"]
  FRAME["scale into<br/>frame.frame_area"]
  COMPOSE["SVG composition:<br/>central star + fixed-60°S unified cap"]

  LL --> CK --> M --> SIDE
  SIDE -- yes --> LOWER --> GAP
  SIDE -- no --> UPPER --> GAP
  GAP --> ENLARGE --> FRAME
  FRAME -. layer-aware generation .-> COMPOSE

The checked API 3 runtime implements both components of the current Star-X forward and reverse transformation. Carrier component 0 reverses the Star-X group transform before applying the checked Cahill–Keyes inverse. Unified-cap component 1 recovers bearing around its registered South Pole and solves the bounded source-radius equation on [-90°,-60°]. A result retains a component identifier because the ordinary carrier and the top-painted cap can occupy overlapping page regions. The forward/reverse API defines candidate, cutoff, quadrant-seam, overlap, and South-Pole behavior.


Documentation index · Implementation notes · Bibliography