Higher-Dimensional Geometry and Fractals

Presented at 31C3 (2014), Dec. 29, 2014, 11:30 p.m. (30 minutes)

Extending the common 3-space-to-2-space projections to 4D and higher and how certain types of fractals can be presented using these expansions. After that we'll have a closer look at Fractal Flames as used in Electric Sheep.

This talk will be split into 3 parts; first: extending the common 3D-to-2D projections - used by libraries such as OpenGL - to also allow projecting hypothetical 4D or higher constructs to a 2D screen.

Second: making pretty fractal pictures by rendering iterated function systems with affine transformations in 4D and higher. This part explains how the chaos game works and how to do an alternate, discrete render which works better in higher dimensions than 2D.

The third and final part takes a look at the Fractal Flames by Scott Draves, a different kind of iterated function system used in the Electric Sheep screen saver. The original algorithm for this is inherently 2D, but parts of it can be extended to higher dimensions, producing interesting results.

Due to time constraints, it is assumed that the audience is already roughly familiar with - or willing to believe in - the general method for 3D projections, including vector and matrix maths. There will also be pretty pictures.

The presentation will have live demo segments mixed in, which make use of a F/OSS 4D+ primitive and fractal renderer called "Topologic" (see links, below).


Presenters:

  • Magnus
    Previously freelancing, now corporate computer scientist living in Ireland. Free time tends to be spent contributing to F/OSS, evangelising about Tor, tracing script kiddies and trying to apply maths to make pretty pictures. Also video games. Almost a decade ago, I started the eINIT and kyuba F/OSS projects to improve system init/rc experience across different unices. I then went on to study computer science while working - first part-time, then full-time - for several small companies. Those projects were loosely database-related. Before I could finish my studies, I was offered a position as an SRE for huge distributed storage systems for a medium-sized multinational. As nice a day job as that is, I was always fascinated by hyper-geometry, a concept that came up a lot during some of the later physics classes I took back in uni. I wrote the Topologic app, which is now F/OSS and on github, and which can be used to visualise and manipulate certain higher-dimensional geometric primitives to get an actual "feeling" for how those theoretical spaces would - or could - work. Other side-projects include a node.js server to trace script kiddies trying to access servers they're not supposed to with Google Analytics, a C++ maths library, various XSLT magicks, proof-of-concept rogues in SQLite and other fun stuff.

Links: