How?

Algorithms
  1.  Obtain an altimetric/bathymetric dataset (see resources).  The particular dataset I used specified altitude (or depth below sea level) for the entire planet in 30 arc-second intervals in both latitude and longitude.

  2.  
  3. Decide on the size of your globe.  Write a program that takes each coordinate in the dataset (in polar coordinates), converts it to cartesian coordinates, and determines the descretized coordinates (in "brickspace") that each point lies.  Don't forget the aspect ratio of a single brick unit (height is 1.2xwidth).
  4. For each brick that has dataset points assigned to it, determine if that brick should be land or water.  There are many ways to do this -- I used simple voting  of whether each point was land or water.  I also tried different thresholds and weighting each "vote" by the corresponding altitude or sea depth. Write this dataset of brick coordinates to a file.

    The program READGIS was written to perform these operations.  It reads  in a geophysical datafile and, for a globe of a given size, calculates the color and 3D coordinates of the bricks which will make up the surface of the globe.

Graphics

Using the dataset of brick coordinates, 3 programs were written to generate and display the various 2D and 3D images that were created.    These programs are listed below.  Click on the image to be taken to the appropriate image gallery for each program.
 
 
DRAWGLOBE  this program draws all of the bricks in the dataset in 3D space. creating the various 3D images shown on these pages.  Keyboard commands allow zooming in and out, rotating in both the phi and theta directions, and writing the currently viewed image out to a PNM file, a standard bitmap format which can be converted into many other formats by various graphical software packages.  I tried to integrate some rudimentary ability to edit brick colors with the mouse, but it didn't work too well .... converting an X,Y mouse coordinate to a projected x,y,z point on the surface of the globe and also considering which type of 3D projection OpenGL was using was rather nontrivial ....
FLATGLOBE  this program takes all of the bricks in the brick dataset and projects them onto a 2D latitude/longitude image (like the original data set).  This image provides an idea of how well "sampled" the original data is -- the latitudes towards the equator are represented with better resolution than the latitudes towards the poles.  Obviously, the larger the radius of the globe, the better the sampling.  This program also allowed panning and zooming, as well as toggling the color of individual bricks, writing the modified dataset, and writing the displayed image to a PNM file. 
CROSSSECTION  You guessed it.  This program views horizontal (z plane) crossections through the brick dataset and can write them to individual files.  These are used for the actual construction of the globe. 
 
Construction

The biggest challenge to building the globe was structural stability - it should not implode or fall apart when handled! The Master Builders at Lego® use glue for their creations, but that takes half the challenge out of it!  Another challenge is getting started with the initial construction, since the base has a rather small diameter at the bottom and then rapidly expands outward.

Before I had finished writing the software (described above) to determine the colors of the surface elements, I started building prototype spheres of smaller sizes.  I started at the bottom (south pole) and built upwards.  In general, I found that for sufficient structural stability, you need the internal structure of the first 3-4 levels of bricks to be relatively solid.  After that, a cross-like structure which rises vertically through the center of the globe is rather rugged, and provides a decent base upon which to expland outward for support when completing the top 4-5 levels of bricks. Here are two pictures of the half-completed globe:

 

The final creation is 28.8 cm in diameter (36 brick widths, 30 brick heights, 11.3 inches). I estimate that it utilized the eqivalent of about 4 of the 1000-or-so brick "brick-buckets", however a lot of the smaller (1x2,1x1) bricks went unused.  Here is a picture of the final creation.  Click on the photo to be taken to the gallery with more pictures.

NEXT  Resources (where I got the data set, software used, etc)
BACK to Why I did this
BACK to Planet Brick
BACK to Rob Butera's Home Page
 

rob@butera.org