Image Relief in Water





Introduction: Image Relief in Water

About: Michael Koehle is the CNC shop assistant at Autodesk Pier 9. His background is in engineering and in art. He combines these to make work using drawing, painting, CNC, 3D printing, and laser cutting.

Have you noticed how water gets darker as it gets deeper, but shallow water is more transparent? I've worked at controlling that phenomenon to make images. This is done by creating a relief based on an image's intensity, and machining this relief into a lightly colored material. The dark areas will be carved deeper; the lights will be shallow. Then we’ll fill the relief with tinted water. The deeper the relief, the more water, making darker shades. The less water, the more the white material is visible.

This project was a collaboration with the artist Tressa Pack ( Tressa's photos possess a stillness and depth that I very much wanted this piece to have.


  • an image
  • ArtCAM
  • DMS 5-axis CNC
  • A sheet of Corian
  • water and dye

Step 1: Image Prepping

Light doesn’t attenuate linearly in water (or any substance really). This means you can’t just scale intensity with depth. For example, if your water appears black beginning at 1” deep, at 1/2" deep it won’t be true neutral, but much darker. True neutral might happen closer to 1/4" deep. The relationship between intensity and depth is governed by this exponential equation:

Simple Frames

Which looks like this:

Simple Frames

You can try to mimic this effect by modifying the curves in photoshop, or by feeding your intensity values into the above equation to get your depths. More about this is in this Instructable (which also includes some code):

Last step for image prep is that you might want to add a wall around your print, to enclose the water. This can be done by simply drawing a white border around the entire image.

Step 2: Image to Relief

Now we need to convert the image into a three dimensional relief, based on the intensity of the image (also called a height map or displacement map). There are many ways to do this:

  • Blender:
  • Processing:
  • Octave:

For this instructable, I’m using Autodesk software called ArtCAM, which among other things, handles really well machining reliefs based on images. In other workflows, anything bigger than around 1000 pixels on one side starts to get unwieldy, at least by other CAM programs I’ve used. ArtCAM is able to handle much larger images. I think this is because it doesn’t bother converting the image into a meshed model, but performs its calculations on a point cloud.

If using ArtCAM, the generation of this model is pretty straightforward. Load the image into the software, and choose your dimensions. For my piece, the size I want to machine at is 28x42”x.2” deep.

Step 3: CAM and CNC

I used ArtCAM for generating toolpaths. I roughed using a 1/2” ball mill, then finish with a 1/4" ball mill. The stepover for the finishing was .035”. Although not really equivalent, I tend to think of stepover in terms of pixel size. 1/.035 is about 28 dpi. I then used a 3/8 end mill in a profile pass to cut the material from the stock. Careful on this part! I ruined one sheet of material because my profile pass was too tight, ruining the wall that was intended to enclose the water.

The total machining time was about 8 hours.

Step 4: Just Add Water

Add some ink to water. I used a small, 3d printed prototype to figure out the correct ratio. Pour the water into your relief, and watch the image magically appear.



    • Clocks Contest

      Clocks Contest
    • Creative Misuse Contest

      Creative Misuse Contest
    • Water Contest

      Water Contest

    9 Discussions


    1 year ago

    This is so cool! How did you chose a value of for A when calculating attenuation? What did you use to do the image processing? I want to try doing this by pouring tinted resin instead of water, so the whole thing can be moved around.

    You are Incredible!! wooowwww!!! Thank you!!

    I love the idea!

    But Mr. Obvious says: 'you need a taller lip around the edges or a more level picture or really both. It is not necessary to fill all the way to the top of the lip, but without a level picture, the water will tend to the low side. I know everyone knows this, but you did not demonstrate it as you keep trying to "fill" the spots where the water wasn't by pouring water on the "dry" spots. If it was level (or had a taller lip) it would only be necessary to pour the water in one and/or any place.'

    I really like this idea, though. Have you experienced that when it dries out the pigment settles more in the deeper spots and less in the shallower spots, thus leaving the picture "colorized" when dry?

    Very clever. Love your instructables too!

    This was the piece that hung with me the most after the AiR show. Great work, really inspiring stuff - thanks for posting some of the science behind the project.


    2 years ago


    Im a huge fan. Your pieces are gorgeous. I love them!

    Im a huge fan. Your pieces are gorgeous. I love them!