In my previous post, I explored generating hyperbolic, euclidean and spherical tilings using circle inversions. While it produced interesting pictures and animations, I wasn’t able to derive a formula to generate particular tilings. There’s another way to generate tilings that admits a beautifully simple unification of the three geometries. We will need a bit more machinery, but the…
In a previous post, I talked about generating interesting pictures by iterated folding operations. In this post I’m going to use another type of fold to draw both hyperbolic and spherical tilings. If you are already familiar with hyperbolic geometry and tilings, skip the next few paragraphs! There’s code down at the bottom. In order to simplify what we’re talking about, we can…
I’ve been fascinated by M.C. Escher’s “Square Limit” print for a while. In the hopes of understanding it better I decided to try to generate my own square limit images.
When I was researching Droste images for a previous post, I occasionally came across versions which depicted multiple spirals, rather than the ordinary single spiral. This led me down a rabbit hole to understand what is actually going on in these images, and to see what I could make with the effect.
The slit-scan effect is a classic analog special effect used in the “Stargate” sequence in 2001: A Space Odyssey, and a title sequence in Doctor Who. It turns out this effect is easy to implement, and the transformation can be done in only a few lines of code.
The Droste effect is a name given to pictures that contain themselves, like an infinite series of nesting dolls. The conventional Droste effect is interesting, but it was taken to new heights by M.C. Escher’s “Print Gallery.” I wanted to understand how Escher’s Print Gallery effect actually worked, and implement it myself.
Tutorials The Book of Shaders Good intro to GLSL fragment shaders in general. Raymarching Distance Fields How does raymarching work? This article has an introduction. RayMarching 101 Heavily-commented and unobfuscated raymarching examples. GLSL tools Fragmentarium Pixel shader playground. Shadertoy on the desktop, except you can also add UI elements (sliders, etc) to adjust uniforms on-the-fly.…