Soccer Ball - Truncated Icosahedron
Run the Soccer Ball MicroSim Fullscreen
Edit the Soccer Ball MicroSim with the p5.js editor
You can include this MicroSim on your website using the following iframe:
<iframe src="https://dmccreary.github.io/geometry-course/sims/soccer-ball/main.html" height="520px" width="100%" scrolling="no"></iframe>
Description
This MicroSim presents an interactive 3D model of a soccer ball, which is mathematically known as a truncated icosahedron or Buckyball. The classic soccer ball design consists of:
- 12 black pentagonal panels (5-sided)
- 20 white hexagonal panels (6-sided)
- 60 vertices where three panels meet
- 90 edges connecting the vertices
The truncated icosahedron is one of the 13 Archimedean solids and is created by "cutting off" (truncating) the vertices of a regular icosahedron. This shape is also famous in chemistry as the structure of the C60 carbon molecule (Buckminsterfullerene).
Key Geometric Properties
| Property | Value |
|---|---|
| Faces | 32 (12 pentagons + 20 hexagons) |
| Vertices | 60 |
| Edges | 90 |
| Vertex Configuration | 5.6.6 (one pentagon and two hexagons meet at each vertex) |
How to Use
- Rotation Speed Slider: Adjust how fast the soccer ball rotates
- Click on the ball: Save a screenshot as
soccer-ball.png - Observe how the black pentagons and white hexagons tile the surface of a sphere
Learning Objectives
Students will:
- Understand the geometric structure of a truncated icosahedron - Bloom's Taxonomy: Understanding
- Identify the relationship between pentagons and hexagons in spherical tessellation - Bloom's Taxonomy: Understanding
- Apply Euler's formula (V - E + F = 2) to verify the soccer ball structure - Bloom's Taxonomy: Applying
- Analyze why exactly 12 pentagons are needed to close a sphere - Bloom's Taxonomy: Analyzing
Lesson Plan
Introduction (5 minutes)
- Show students a real soccer ball and ask: "How many different shapes make up this ball?"
- Introduce the terms pentagon and hexagon
- Ask students to predict: "Are there more pentagons or hexagons?"
Exploration (10 minutes)
- Display the MicroSim and let students observe the rotating ball
- Have students count the pentagons (12) and hexagons (20)
- Use the rotation speed slider to slow down and examine the structure
- Discuss the pattern: every pentagon is surrounded by hexagons, and no two pentagons touch
Key Discussion Points
- Why pentagons? A flat surface of hexagons would be infinite (like a honeycomb). Adding pentagons creates curvature, allowing the surface to close into a sphere.
- Why exactly 12 pentagons? This comes from Euler's formula and the geometry of sphere tessellation.
- Golden Ratio Connection: The vertices of a truncated icosahedron can be described using the golden ratio (φ ≈ 1.618).
Mathematical Verification
Use Euler's formula: V - E + F = 2
- Vertices (V) = 60
- Edges (E) = 90
- Faces (F) = 32
Check: 60 - 90 + 32 = 2 ✓
Practice Activities (10 minutes)
- Calculate the total number of edges:
- Each pentagon has 5 edges, each hexagon has 6 edges
- Total edge-face incidences: (12 × 5) + (20 × 6) = 180
-
Since each edge borders 2 faces: 180 ÷ 2 = 90 edges ✓
-
Calculate the total number of vertices:
- Each vertex has 3 edges meeting
- Total edge-vertex incidences: 90 × 2 = 180
- Vertices: 180 ÷ 3 = 60 vertices ✓
Assessment Questions
- What are the two shapes that make up a soccer ball?
- How many pentagons and hexagons are on a soccer ball?
- Why can't a soccer ball be made of only hexagons?
- What is the mathematical name for the soccer ball shape?
- Verify Euler's formula using the soccer ball's properties.
Extension Activities
- Research other Archimedean solids and their properties
- Explore why C60 (Buckminsterfullerene) has the same shape
- Investigate the dual of the truncated icosahedron (the pentakis dodecahedron)
- Calculate the surface area and volume of a truncated icosahedron
Grade Level
High School Geometry (Grades 9-12)
Prerequisites
- Understanding of polygons (pentagons and hexagons)
- Basic knowledge of 3D solids
- Familiarity with Euler's formula (helpful but not required)
Duration
Typical engagement time: 15-20 minutes for exploration and discussion
Technical Implementation
This MicroSim is built using p5.js in WEBGL mode and features:
- 3D rendering of a truncated icosahedron with 60 mathematically accurate vertices
- Black pentagonal faces and white hexagonal faces (classic soccer ball colors)
- Interactive rotation speed and zoom controls
- Width-responsive canvas that adapts to container size
- Click-to-save screenshot functionality
How the Drawing Algorithm Works
The soccer ball is rendered using a three-step process that leverages the mathematical properties of the truncated icosahedron:
Step 1: Generate the 60 Vertices Using the Golden Ratio
The vertices of a truncated icosahedron can be expressed using the golden ratio (φ = (1 + √5) / 2 ≈ 1.618). The 60 vertices are organized into groups based on coordinate permutations:
let phi = (1 + Math.sqrt(5)) / 2; // Golden ratio
// Examples of vertex coordinates (before scaling):
// (0, ±1, ±3φ) and cyclic permutations
// (±2, ±(1+2φ), ±φ) and cyclic permutations
// (±1, ±(2+φ), ±2φ) and cyclic permutations
Each vertex is stored as a 3D vector and scaled by a radius factor to control the ball's size.
Step 2: Define the 32 Faces as Vertex Index Arrays
The faces are defined by listing the indices of vertices that form each polygon:
- 12 Pentagon faces (indices 0-11): Each pentagon is defined by 5 vertex indices
- 20 Hexagon faces (indices 12-31): Each hexagon is defined by 6 vertex indices
// Example pentagon face (5 vertices)
this.faces.push([42, 38, 30, 2, 34]);
// Example hexagon face (6 vertices)
this.faces.push([0, 2, 34, 58, 56, 32]);
The vertex ordering matters—vertices must be listed in the correct winding order (clockwise or counter-clockwise) for proper rendering.
Step 3: Render Faces with Different Materials
The show() method draws the ball in three passes:
- Black Pentagons: Uses standard
fill(30, 30, 30)with stroke for the 12 pentagon faces - White Hexagons: Uses
emissiveMaterial(255, 255, 255)to ensure pure white regardless of lighting conditions - Hexagon Outlines: Draws strokes separately since emissive materials don't support stroke
// Pentagon rendering (affected by lighting)
fill(30, 30, 30);
stroke(50);
// ... draw pentagon shapes
// Hexagon rendering (pure white, unaffected by lighting)
noStroke();
emissiveMaterial(255, 255, 255);
// ... draw hexagon shapes
// Hexagon outlines (separate pass)
stroke(50);
noFill();
// ... draw hexagon outlines
Why Use Emissive Material for White Faces?
In 3D rendering, surface colors are affected by scene lighting. A white surface facing away from a light source appears gray or dark. By using emissiveMaterial(), the white hexagons "emit" their own light and always appear pure white, creating the classic soccer ball appearance where the white panels are uniformly bright.
Standards Alignment
This MicroSim aligns with Common Core State Standards for Mathematics:
- CCSS.MATH.CONTENT.HSG.GMD.B.4: Identify the shapes of two-dimensional cross-sections of three-dimensional objects
- CCSS.MATH.CONTENT.HSG.MG.A.1: Use geometric shapes, their measures, and their properties to describe objects
Credits
- Vertex coordinates based on the mathematical definition of the truncated icosahedron using the golden ratio
- Adapted from the Coding Train dodecahedron example
- Created using p5.js library for educational purposes in geometry instruction
Click on the soccer ball to save a screenshot (soccer-ball.png) for social media previews and navigation thumbnails.