Shimmia Zoobie Yinyo SnakeCharmer Resonata Squared Rosaly Dragoria Curlicor Dragoric Curlicue Fractal Quadrina Toroidia Net of Indra Trochor


Filed under: Processing — frm @ 1:19 pm

This is an animation based on  toroids, and what happens when circles of circles go in circles of circles: an image of endless four-dimensional convergence.

Long, long ago, when the Internet was young and so was I, Compuserve ran a successful collection of forums on many and varied topics. Their Science & Maths Forum in particular brought me delight and illumination; reading lucid explanations of difficult topics, and attempting to produce them myself, had a great formative influence on me as a potential scientist and educator. There’s nothing quite like explaining something to get it straight in your own head.

One of the internet-friends I made there was an American named Jeff Werbock, who came bearing a vision of the universe as a unified whole composed of space multiply curved in on itself, and forever converging and diverging: a sort of universal hypertoroid. Though I’m not convinced that it entirely captures the way the cosmos works, I very much like its focus on curvature and movement as fundamental features of the structure of spacetime, and I think it has great aesthetic appeal.

So when it struck me one day that I knew exactly how to create a visualisation of it using POCO, the animation-based C variant that I was programming in at that time, I was pleased to sit down and make it. This was one of the first mathematical animations I ever created, and the interactive version you see here is on extremely similar lines.

We start by drawing a toroid, which is a circle swept out in a circle, like a geometrically perfect bagel. The circles that make up the toroid are rotating, so the toroid is forever converging and diverging. Dragging the mouse left or right changes the degree to which this toroid is twisted around on itself. This gives us a rough approximation – or at least a cross-section – of a hypertoroid, which is a toroid swept out in circle.

Drag the mouse up and down in the frame to change the size of thing, and hold down the shift key while you do it to change the minor radius independently from the major radius.

I am currently working on a mobile version of this using Processing for Android, and a narrative version to accompany Jeff’s in-depth explanations of how he sees this all working…

Leave a Reply