Introduction: Image Relief in Color

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.

Welcome to the next Instructable in my Image Relief collection, in which I give 2D images depth by assigning each pixel a height equal to its brightness. This time, the relief was assembled from a series of full color cross sections, printed to 16 layers of acrylic using a flatbed UV printer. Many thanks to Local Language, an art, design, and fabrication studio in Oakland, who donated the use of the printer and material costs.


  • -Acrylic box, custom built by Tap Plastic
  • -16 1/16” sheets of acrylic
  • -Mimaki UV flatbed printer
  • -mineral oil

Step 1: The Relief and Cross Sections

Imagine each pixel in an image as a rectangular column, with a height equal to its intensity. A dark blue pixel would have a short height, while a bright orange pixel would be relatively tall.

Simple Frames

Luckily, it is not necessarily to model this three dimensional relief in order to find its cross sections. Think of the first horizontal cross section, at the base of the relief (0% intensity). This cross section would include the entire rectangular breadth of the relief, and therefore, every pixel in the image.

Simple Frames

Now, imagine the next cross section up, a little bit higher, 1/16th of an inch up. Any pixel with intensity below 6.25% would not be included in this cross section, but all the pixels above this intensity would be. In this way, more and more pixels are filtered out of each cross section.

Simple Frames

At the last cross section, only pixels with an intensity of at least 93.75% are included.

Simple Frames

I wrote software to accomplish this filtering. At every cross section, any pixel below the intensity of the current cross section was replaced with white. For this to work correctly, the source image could not have any pure white pixels. I adjusted the image’s curves in Photoshop to make sure of this.

Step 2: Printing

I chose to work with an image of a port because the resulting relief would have a cube like surface, which would echo the shape of the containers.

Prior to printing to acrylic, we printed on paper a reference image, and taped down acrylic runners to help ensure that each acrylic sheet could be registered to the same location.

Each 2d dimensional cross sections was printed to acrylic on a UV printer. Most printers are designed to print on white, not clear materials, and so do not print white. The Mimaki UV printer, however, can print a separate layer of white behind the color layer, so that each cross section is opaque (second image above).

Step 3: Assembly

The sixteen sheets of acrylic were placed into a water tight acrylic box (custom built by Tap Plastic). To reduce the visibility of the sheets, mineral oil was poured into the box. Mineral oil has an index of refraction very close to acrylic (1.49 versus 1.47), which means it bends light in nearly the same way, making the box, sheets, and oil appear as one solid cube.

The weight of mineral oil was enough such that the box bowed out. This was with walls .25" thick. Thicker walls may have prevented this. After filling the box to the brim, the top of the box was sealed on using acrylic cement. Make sure the top edges of the box are clean of oil before trying to seal the box.