The idea of perceiving things in ways that they are not has always fascinated me. This project was inspired by thinking about how we could visualize this distorted reality.
How to create something that is something else?
Step 1: Simplified Theory
Images are composed by pixels in two dimensions, by adjusting the 3rd invisible dimension, images can be converted into 3D models that, depending on the viewer's angle, can create more than one image.
In the sketch you can see a simplified explanation, where pixels from one image are intersected with pixels from the other. Pay attention to how I am only mixing the 'z' coordinates from one drawing with the 'x' coordinates from the other.
Step 2: The Code
I used Processing to automate this process instead of manually identifying and repositioning each pixel.
To summarize what is going on, I am first organizing the pixels of both images on the y axis since this will be the axis both pictures share.
Then I simply replace the z coordinate of one image with the x of the other, and that is basically it.
If you download the code you will see two variables at the beginning that you can modify to achieve your desired results. Also, you might notice I have no formal training in coding, so I apologize if it is hard to read.
One last thing regarding the code, make sure both images are the same height and that they both start and finish at the top and bottom edges.
Step 3: Generating a Stl
At this point the code will output an obj file, which can easily be transformed into a stl in programs like Meshmixer, unfortunately there might be some problems with it and it might not be ready to print. Also depending of the size of the voxels (think about pixels in 3D) the object will not be connected and could not be printed without some support to hold the voxels in place.
Being at P9 we have access to some amazing Objet printers capable of doing multimaterials, one of them being a clear resin. With this in mind I made the voxels small for them to look almost like dots inside the finished print.
If you wanted to print this out of a single material on a fdm printer you could play with the size of the voxels to make them connect. You will loose significant resolution but end up with one (or close to) solid part that can be printed in many more machines. You will also need to create a solid out of the mesh first.
Step 4: Booleans
Since I wanted the voxels to be really small and floating in space I needed to create two parts, one with the voxels and another one to be the space around it.
I used inventor since that is what I already knew how to use but I am sure other programs could do a faster job at it.
Here come a bunch of tricky steps that might take some effort (at least from your computer). First download the mesh enabler for inventor. This will allow you to convert a stl into something inventor can work with.
Then I created a cube to fully enclose the voxels, placed them together in an assembly and saved the file. Here you are going to derive the files, to do so open an new part, go to manage>derive and select the previous assembly you just saved. Here you can do a bunch of things like merge both geometries, in this case we want to subtract one from the other.
So now you have two parts and one fits perfectly inside the other. This was probably one of the most frustrating steps since my computer was running really slow, but you have to constrain one part inside the other such that they are perfectly aligned.
Finally, when you export as an stl make sure to go into options and select the one file per part instance.
Note:Aligning this two parts together could be skipped if instead of having a colored material inside the clear part you could use the support material (whitish yelow).
Step 5: 3D Printing ...sanding... Sanding and Polishing
Not quite done yet...
3DP are amazing machines but we are not quite done yet. As you can see from the second image there is a lot of polishing that needs to be done. I first started with a sander but that proved to be too aggressive and I quickly lost all my planes and corners. I had to run it through the table saw and started again.
Start from 80 and go all the way to 2000, going through every number. From 600 onwards use water to avoid quickly clogging the sandpaper with the dust generated. This will also generate some visually stimulating images on the sandpaper.
Finally I used a 3 step plastic polisher to achieve a clear see through effect.
Step 6: Enjoy!
At the end my voxels were a little too small and it was hard to see the robots without a illuminated background. I ended up making a little light box to bring the robots to life.
Finally I discovered that I could achieve better effects by laser etching inside a block of glass, this way the clarity would be significantly better and the resolution a lot better. Did I mentioned you would also save hours by not having to polish all faces?