Folding Animated Hyperbolic & Spherical Tilings

Posted on Wed 12 April 2017 in misc

Continue reading

3D Kaleidoscopic Fractals: Folding the Koch Snowflake

Posted on Tue 03 January 2017 in glsl • Tagged with glsl

How to fold space into a Koch snowflake.

Continue reading

Building Escher's Square Limit in Pixels

Posted on Sat 31 December 2016 in misc

Continue reading

Infinite Regression: Many Pictures From One Function

Posted on Wed 20 July 2016 in misc

Imitating a variety of Escherian limit tilings, as well as a squared-up Droste, by manipulating a simple function.

Continue reading

Drawing fractal Droste images

Posted on Tue 17 May 2016 in glsl • Tagged with droste

When I was researching Droste images for a previous post, I occasionally came across strange versions which depicted multiple spirals, rather than the customary single spiral, like this one by David Pearson. 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.

Continue reading

Fun with interference patterns

Posted on Wed 04 May 2016 in misc

Ordinary trigonometric functions can produce really interesting, structured patterns if you use sufficiently large numbers.

Continue reading

Recreating the Doctor Who Time Tunnel in GLSL

Posted on Wed 27 April 2016 in glsl • Tagged with drwho, glsl

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 absolutely begging to be implemented as a WebGL fragment shader, and the transformation can be done in only a few lines of code!

Continue reading

Implementing the Droste effect in WebGL

Posted on Mon 25 April 2016 in glsl

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.

Continue reading