Sunday, May 1, 2016

Playing with light: "Hologram" (Pepper's Ghost) projector


There's a neat trick you can do with angled plastic to give the impression of an image floating in space. While this is technically a "Pepper's Ghost" illusion, it commonly goes online by the name "Pyramid Hologram." For our friends at Iguanatron, we put together a top-down projector implementation with a 20" computer monitor.

So here's how it went down.

The Basic Principle

The Pepper's Ghost trick involves projecting light onto a 45-degree angled, transparent surface. Since light also shines through the transparent surface, the mind composites the two images and assumes the reflected image comes from the transmission source.

Pepper's Ghost illusion



How We Made Ours

The hardware

After looking at a couple of videos on YouTube (and getting some advice from a team that had already done something similar for a hackathon), we were ready to start. Our approach was to build a pyramid of Lexan (1/8" thick) and suspend a screen over the pyramid; by arranging the screen just below eye level, we could hide the source of the image a bit (you can move the screen higher from the point of the pyramid, but doing so causes the reflected image to appear to be further toward the back of the reflector). 

Forty-five degree slope generally gives the best effect, but it's important to remember that this slope cuts your maximum image size about in half from the size of your projector. We had originally intended to use a Nexus 7, but a 2" high image didn't read well. So we instead went with a monitor with a vertical height of 10".


Measuring out the way the Lexan needed to be cut was a bit of trigonometry. Though the sides of the pyramid should slope at 45 degrees, the angles of each face of the pyramid aren't 45 degrees (because they need to meet in three dimensions). So we calculated the necessary measurements for the Lexan by figuring the height of one of the face triangles from the desired 45-degree face slope and the 10" base length.


Having run the calculations, the rest was chop-saw work, with just a bit of Scotch tape to keep the pieces together. Note: chop-sawing Lexan makes a hell of a smell; you probably want to do it in a ventilated area. Note also that since you'e working with triangles, you can get creative about the arrangement of them to save material.



A bit of tape, and we were ready to go.



To test, we found a few videos online and ran them while holding the projector. Note that there are two orientations generally used: top-down (as we did here) and bottom-up (for creating a smaller pyramid with a sheared-off top that rests on a smartphone or tablet). For top-down, you want videos where top is oriented to the center. The end result? Not so bad!




The Video

There are a couple of ways you can composite a video to run on the projector. For this project, Brian Gray of Iguanatron put together the final video.

If you want to do it on the cheap, you can composite your video in the free program Blender using transforms. The process is:
  1. Import your source clip; crop and offset as needed. Mute that strip.
  2. Add a "Transform" effect strip to scale the image down to a bit under half-size and flip it left-to-right (since it's going to be reflected, you'll need to account for the reflection with the left-to-right flip). Mute that strip.
  3. Add four "Transform" effect strips to the scaling effect strip (so they modify the results of the scale). Set the first one to "Replace" blend and the other three to "Alpha Over" blend. Use translation and rotation to move and rotate the source movie to create your quad of videos.
  4. Render and export. You're good to go! 

Lessons Learned

  1. Math first. We ran short on materials because we didn't think to run the measurements first, so we didn't realize a smartphone would only give us a 2" high image. Problem easily solved, but also avoidable.
  2. Durability vs. thickness. You'll want to use material sturdy enough that it won't distort under its own weight, but thickness matters; both the inner and outer surfaces of your reflector will reflect the light. Since we used 1/8" thick Lexan, we get a double-image effect that makes things a bit more blurry than I'd like. Some online tutorials recommend using a CD case; it's a good size for a smartphone, but was too small for this design.
  3. Projector distance. The further the projector is from the point of the pyramid, the further back the image appears to be. If the image source is too high, the reflection appears behind the pyramid and the effect doesn't work.
  4. Image orientation. Top towards the center of the screen for a top-down projection like this, top towards the edge of the screen for a bottom-up projection if the pyramid is upside-down, with the point resting on the screen. And flip the image left-to-right to account for the fact that the observer is seeing a reflection.
  5. Painting with light. The reflection is essentially adding light to that which is transmitted through your reflector, so think in terms of painting with light when designing your illusion. In particular:
    1. Black background works best (or a chroma background that is then replaced with #000000)
    2. Any ambient backlighting your projector casts is going to show up on the reflector as a bit of a glow (which, in my opinion, looks really cool ;) ); be sure your screen is large enough relative to the reflector that you don't reflect the screen's edge.
    3. The effect is stronger in a darker ambient setting. The original Pepper's Ghost illusion would regulate the light coming from the room behind the reflector to tune the ghost effect out; bright backing light washes out the illusion.

Acknowledgements

Iguanatron, of course, without whom we would not have had an excuse to do a cool thing. :)

Aaron, who continuously pulls me into doing fun things.

Adam, who did a similar project for a hackathon and was very generous in sharing his experiences in what worked and what didn't.

Pyramid Hologram Videos, a YouTube channel that collects what it says on the tin. Useful for reference testing.