Spam
("maps" backwards) tackled Buckminster
Fuller's dymaxion map concept: casting the surface of the earth onto a
polyhedron, typically an icosahedron, and unwrapping it to lay flat.
Different initial offsets of the icosa result in different breaks on the
discontinuous map. For more explanation of the map, you can
watch a cool animation.
Original version was written
to take a file containing lat-long coordinates of shoreline data and for
each point:
-
determine which polyhedral
face the point lay on
-
convert lat,lon to x,y,z to
face local coordinates u,v
-
draw the faces flat using the
u,v data
It was implemented for the
Amiga and had a clunky interface.
I'd always wanted to develop
an interactive realtime 3D version of spam, and 8 years later i began. Here
is a screen shot of where it got to, using texture mapping and
World Up:
I wanted it to ultimately:
1. Be fully interactive
2. Be educational - should teach 3d math and map projections to the user in
a friendly way, including the pros and cons of various approaches to
texturing spheres
3. Run at a decent framerate on common machines
Problem: You can't use UV
mapping to warp a standard lat-long rectangular surface bitmap onto an
icosahedron. Look at each of the regions on the graph above on the left. No
3D renderer in the world will warp shapes like those on to a regular
triangle!