Epcot + WebGL = Spaceship Earth
To make this happen I had to do some quick research.
Spaceship Earth (Epcot) has the following information that provided the best source of a starting point:
Geometrically, Spaceship Earth is derived from the Class 2 geodesic polyhedron with frequency of division equal to 8. Each face of the polyhedron is divided into three isosceles triangles to form each point. In theory, there are 11,520 total isosceles triangles forming 3840 points. In reality, some of those triangles are partially or fully nonexistent due to supports and doors; there are actually only 11,324 silvered facets, with 954 partial or full flat triangular panels.[8]
Grabbed myself a copy of Blender, activated the Geodesic Domes Add-on, and proceeded to do the following:
- Add Mesh -> Geodesic Dome
- Object: Geodesic
- Class: Class 2
- Hedron: Icosahedron
- Point ^: PointUp
- Shape: tri
- Round: spherical
- Frequency: 8
- Radius: 25
Once my object was created and centered at 0,0,0 I exported it as spaceship-earth-25.obj
The provided spaceship-earth-25.obj was a complete geodesic polyhedron, so I had to further subdivide the faces into additional triangles, and those supplimentary faces needed to be offset to create the known dimpling on the structure.
dimplify.php was created to do the following:
- Import all vertexes and faces
- Subdivide the faces and offset the newly created faces by 0.5 to create the dimples
- Output as a wavefront OBJ file
Thus spaceship-earth-dimpled-25_0.5.obj was created.
Plugging spaceship-earth-dimpled-25_0.5.obj back into blender to attach a texture to it and regenerate the normals.
I created silver_64x64.png as a texture to apply to the object.
Plugging both back into blender and following a simple youtube video to unwrapping we get our vt texture maps.
The end result is spaceship-earth.obj
Using three.js we'll be importing in spaceship-earth.obj and placing lights at all the geodesic points.
index.html is where the show starts!
All the coordinates where the PointLights will exist are stored as vertexes in the pre-dimlified spaceship-earth-25.obj