Godel Escher Bach QR Code shadow cube
thingiverse.com
thingiverse.com
https://cubehero.com/physibles/iamwil/shadowblock
It's actually not too hard to do with OpenSCAD or any other modeling tool that allows you to do intersections. So I've tried other three letter acronyms: https://cubehero.com/physibles/iamwil/shadowblock/print
For the QR Code Shadowblock in the OP, I wonder how he dealt with supporting all the structures within, but not all combinations of pixels on each face will work. Maybe he just played with it and rotated the QR codes to find a combination that will work.
I have thought about a QR Code Quine, where the QU Code contains an OpenSCAD file that is a model of the QR Code. However, I wasn't sure exactly how to tackle that, since the QR Code decoder is non-trivial.
That small caveat aside, it's super easy to construct: start with a solid block of material, take QR code 1, and from one face carve out the white pixels all the way through, keeping any thin connector pieces as required. Rotate to another face, do the same for QR code 2, rotate again, and do the last face for QR code 3. The remaining structure is what you 3D print.
You mean, like the registration and alignment markers in three of the four corners?
The next time you feel someone is in error, consider presenting your argument in a nicer tone. The use of "did you even" and "obviously" makes you seem like a dick.
Platonic solid Matryoshka "dolls".
Essentially, I would like to have a sphere (admittedly not a Platonic solid) which splits in half to reveal an icosahedron which splits in half to reveal a dodecahedron and so on through octahedron, cube and tetrahedron. Making them fit nicely one inside the other.
Note that QR codes cannot be read in mirror image, so only
3 of the 6 possible cube orientations cast a readable
shadow.
Well, now I can't stop thinking about QR code rotations. How big is the subset of QR codes that are valid in more than one orientation? (some combination of rotated, flipped, or mirrored). Treating the marks for position/alignment/etc as a separate layer and flip/rotate/mirror the rest of the code.What about the different sizes of code? Can it only be done with, say Version 4 and not Version 3 codes?
Given the placement of the position and alignment markers in a valid QR code it looks like the only symmetry it can have is reflection (mirror-image) symmetry about its main diagonal (the line from the top-left to the bottom-right) [1]. If you take any given QR code and replace the part of it that is below the main diagonal with a mirror image of the part above it then in the worst case you will lose 50% of the information contained in the code (actually less since the pixels on the diagonal stay there no matter what). Now, the content of a QR code generated with the heaviest error correction settings can be recovered even if up 30% of its data is lost [2]. If you generate a QR code where the part above the main diagonal is similar enough to the one below it (meaning at least 50% - 30% = 20% of symmetrically located pixels are the same color) then such a QR code should survive being made fully symmetrical.
The above is a simplification, though, since, generally speaking, error correction in QR codes operates on blocks and not whole codes. In practice it also may or may not be possible to generate a sufficiently symmetrical code in the first place, let alone one with the specific content you want.
[1] See http://imgur.com/YMNIsgc. The red line show the diagonal, the green arrows point out pairs of symmetrical pixels.
[2] http://archive.is/20120915/http://www.tec-it.com/de/support/...
It looks awesome and someone clearly worked incredibly hard on it. I just want to understand it better.
One you have that 3D printed cuboid in your possession, you point a flashlight towards one face, have the opposite face face a white surface, and scan the resulting shadow with a smartphone– and boom! It's quite insane.
I don't understand how QR codes work well enough to know the answer.
Fractal Sundial gives a "digital" reading using the shadow cast by obscuring sunlight.
Fortunately, it should be relatively easy to tweak the shape for light sources at various distances. (though the easy way won't yield a cube.)
Note that QR codes cannot be read in mirror image
It should be simple to make a QR reader that also reads the image flipped horizontally and/or vertically. That way reflections of QR codes could be read too. Maybe some readers already do this. The use case ould be quite small though.So: yes.