Introduction: Creating Topographical Maps From Images in Rhino

To make topo maps from photos, you will be using the 'heightfield' and 'contour' commands in Rhino.  Many things can be done with the resulting lines; you can etch them, mill them, print them, what have you, but this Instructable starts with the basics!


Step 1: Using Heightfield

Heightfield is a marvelously powerful command in Rhino.  Essentially, it turns a 2-dimensional photograph into a 3-dimensional form by converting lightness/darkness into a specific height.  In this Instructable, you will learn how to make topographical lines out of a 2D image, for instance, this MRI image of my boyfriend's shoulder.  

First, in Rhino, enter "heightfield" into the command bar.   It will prompt you to open an image file, and then prompt you to place the image on the C plane.  This is fairly basic-you make the bounding rectangle as large as you want your resulting image to be.  

A dialogue box will pop up, (Image 1) asking number of sample points, height, and how to create the surface.  Sample points are exactly what they mean-the more sample points, the more detailed your model will be.  Height is again, how tall your object will be.  The difference between "control points at sample locations" and "interpolate surface through samples" is the amount of detail you get in your heightfield.  In the image I posted (Image 2), I made some examples, using one of my own MRIs.  As you can see, lower resolution and control points results in a very low, soft surface, while a high resolution and a surface that is interpolated results in a surface that is extremely detailed and jagged.  For topo/contour purposes, I find that the control point method is ideal. 

Step 2: Contours

Contours will "slice" your model, much in the same way that a topo map "slices" geography.  

To create contours, simply use the 'contour' command in the command line.  

We'll start out again with the heightfield of the shoulder MRI.  Select the heightfield, and type in 'contour.'  Some prompts come up in the command line.  First, select your contour plane base point.  Click to make a point below your surface, or at the very base of your surface.  This is where the contours will begin.

Then, when prompted, select the direction perpendicular to the contour planes.  If you want your contours to be perpendicular to the C plane, click along the bottom of your surface and then, while holding 'shift', click some point above your surface.  This makes your selected direction exactly perpendicular to your surface.  (Image 2)  If you want contours that are diagonal to your surface, this is where you can set that as well.

Your contours are created! (Images 3 & 4)

To flatten the contours to create a topo image, select them and command "ProjectToCPlane" and the lines are now all on the the C Plane, ready to be milled, drawn, or laser-cut!  

Step 3: Examples

Image 1 - Using a CNC machine with a drawing tool and a pen instead of a bit, I drew the contours taken from MRIs of my heart

Image 2 - A laser cutter using the topo lines as cutting lines, of my spine

Image 3 - Wood laser-etched with an MRI of my spine