Home▸Mathematics▸2D Geodesic Dome Net — Flattened Icosahedron Subdivision

📐 2D Geodesic Dome Net — Flattened Icosahedron Subdivision

2D orthographic wireframe projection of geodesic-dome triangle subdivision. Change frequency (1V-4V), watch the real vertex/face/edge counts from 10n²+2, and see the actual small set of distinct strut lengths a real dome must be built from.

Mathematics2DAdvanced60 FPS📱 Mobile-adapted⇄ 3D version
2d-geodesic-domes ↗ Open standalone

📐 2D Geodesic Dome Net — Flattened Icosahedron Subdivision

A flat orthographic-projection view of real geodesic-dome subdivision math: an icosahedron's 20 triangular faces are each split into frequency² smaller triangles and pushed onto a sphere, then rotated and projected to 2D. Unlike a full 3D orbiting model, this view exists to make the edge-length problem visible: colour each strut by its real chord length and see how few distinct lengths a buildable dome actually needs.

🔬 What It Demonstrates

Real barycentric subdivision: each icosahedron face is split into n² triangles via A + (B−A)u + (C−A)v, then every new vertex is normalized onto the unit sphere. Vertex count follows V = 10n² + 2, faces F = 20n², edges E = 30n² — all verified live against Euler's formula.

🎮 How to Use

Pick a frequency (1V–4V). Drag the canvas to rotate the flattened net. Switch between colouring struts by their real length class or by projection depth. The legend lists every distinct strut length and how many edges share it.

💡 Did You Know?

A 1V icosahedron has exactly one strut length — all 30 edges are identical. By 4V, the same sphere needs several distinct chord factors, which is exactly why real dome kits ship struts pre-cut into a handful of labelled lengths rather than one.

About the 2D Geodesic Net

This simulation performs the same geodesic subdivision as a 3D dome model — splitting each face of an icosahedron into frequency² triangles and projecting the new vertices onto a sphere — but renders the result as a flat, orthographically projected wireframe instead of an orbiting 3D scene. Dragging rotates the underlying sphere; the canvas itself stays 2D throughout.

The point of the flattened view is the strut-length legend: every edge in the mesh is measured in real 3D and grouped by its exact chord length. A 1V icosahedron has one length; higher frequencies split that into a handful of distinct classes. This is precisely the "chord factor" table a real dome fabricator needs — proof that a geodesic sphere with hundreds of triangles can still be built from only a few unique strut sizes.

Frequently Asked Questions

How is this different from the 3D geodesic dome simulation?

The 3D version renders a real WebGL scene with a free-orbiting camera and a dome/sphere toggle. This 2D version computes the identical subdivision math but draws it as a flat, orthographically projected wireframe on a plain canvas, and adds a strut-length legend that groups every edge by its exact chord length — the practical question a 3D orbit view doesn't answer directly.

What does frequency change here?

Frequency n controls how many times each of the icosahedron's 20 faces is subdivided into a grid of n² smaller triangles before every new point is projected onto the sphere. Vertices follow V = 10n² + 2, faces F = 20n², and edges E = 30n².

What are the coloured strut classes?

Each edge's real 3D length is measured and rounded to four decimal places, then grouped with every other edge of the same length. The legend lists each distinct length and how many edges share it — these are the actual chord factors a dome would need to be manufactured from.

Why does a 1V icosahedron have only one strut length?

At frequency 1 there is no subdivision — the mesh is just the original icosahedron, whose 30 edges are all geometrically identical by construction. Every higher frequency introduces new edges created by projecting subdivided points onto a curved sphere, which stretches them by different amounts depending on their position on the face.

Is the projection a true 3D-to-2D transform?

Yes. Every vertex is stored as a real (x, y, z) point on the unit sphere. Dragging applies actual rotation matrices around the X and Y axes, and the on-screen position is an orthographic projection (dropping the resulting z) of the rotated coordinates — the same math a 3D engine uses before it also applies perspective.

Why do some edges look fainter than others?

In "By depth" mode, opacity is scaled by each edge's projected z after rotation, so struts on the far side of the sphere fade slightly — a simple depth cue on an otherwise flat 2D canvas, without any hidden-line removal.

Does the vertex count really follow 10n² + 2?

Yes — this is the closed-form Euler-formula result for a Class-I icosahedral geodesic subdivision: F = 20n² faces, E = 30n² edges (each triangle contributes 3 edges, each shared by 2 faces, giving 3F/2), and V = F/2 + 2 = 10n² + 2, satisfying V − E + F = 2 for every frequency.

Why does the number of distinct lengths grow with frequency?

Subdividing a flat triangle produces points at even, regular spacing in the flat plane, but projecting those points radially onto a curved sphere stretches them unevenly — points nearer a face's original corners move further than points nearer its centre. Higher frequencies sample more positions across that curvature, producing more distinct stretch amounts and hence more strut-length classes.

⚙ Under the hood

2D orthographic-projection companion to the 3D geodesic dome builder: real icosahedron barycentric subdivision (frequency n splits each of 20 faces into n^2 triangles, each new vertex normalized onto the unit sphere), analytic V=10n^2+2, F=20n^2, E=30n^2 counts verified against Euler's formula, drag-to-rotate flattened wireframe, and a live legend clustering every edge's real 3D chord length into the small set of distinct strut-length classes a buildable dome actually needs.

Geodesic DomeIcosahedronBuckminster FullerChord FactorStrut LengthOrthographic ProjectionEuler's Formula

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)