All posts by Mikael Hvidtfeldt Christensen

Generative Art

The Syntopia logo above was created by my first script in Context Free, a program I can highly recommend. It is a bit like Logo (does anyone remember this?) on steroids.

However, I’ve been thinking of ways of extending Context Free into 3D, and will start posting some of my design sketches for Structure Synth – an IDE/Language for creating generative art (like Context Free).

I plan to write it in C++/Qt4.3/OpenGL and it should be runnable on Windows/Mac/Linux.

Variation on the Syntopia Logo

Variation on the Syntopia Logo

For an example of a Context Free script, the syntax for the above picture can be downloaded here: circles.cfdg.

The syntax for Structure Synth will be quite similar to CFDG-script but with a few twists: like the ability to ‘retire’ rules after a certain number of either recursions or iterations, and the option to change (rendering) settings when a rule is executed. Naturally the ‘state’ operators (like rotations and deformations) also need to be adapted to a 3D world.

There will be an integrated OpenGL viewer, and I plan to add PovRay support for creating high-quality views of the 3D-models.

More details will follow in the next weeks.

Modern Wonders

Dark Roasted Blend is a daily updated photo blog with “weird and wonderful things”. And yes, some of them really are. This blog entry is a highlight of some of my favorite sights.

Tokyo Storm Water System

Tokyo Storm Water System

Tokyo Storm Water System. (from this entry)

Located below Tokyo and looking like something straight out of Total Recall, these cathedral-like caverns are built as buffers to prevent flooding during heavy rain and typhoon seasons.
Be sure to check out the original photos as well.

Dubai Architecture

Dubai has a lot of fascinating architecture. Their artificial islands are some of the more prominent. They can also be found on Google Maps.

Dubai artificial islands

Dubai artificial islands. (from this entry)

Mega Machines and Big Structures

Almost a trademark of Dark Roasted Blend. A few selected entries:
Creepy High Voltage Installations
Alternative Energy Super Projects
Ultimate Moving Experience II
The Biggest and Hungriest Machines
Even Bigger Machines Dig Bigger Holes

NASA Space Shuttle Transport Platform

NASA Space Shuttle transport Platform. (from this entry)

Russian High Voltage Pulse Generator

Russian High Voltage Pulse Generator. (from this entry)

Solar Thermal Power Plants

Solar Thermal Power Plants. (from this entry)

Krupps Excavator 288

Krupps Excavator 288. (from this entry)

Now that is one mean machine. Can’t help thinking of Naked Lunch: “I use a Krupps Dominator myself. Company policy.


Microsoft Photosynth recreates a 3D environment from a number of 2D photos.

This is of course no trivial task, but the reason I have included it here, is because of its quite… futuristic interface, which has to be experienced. It runs directly inside your browser (also in Firefox! – but why isn’t it based on Silverlight?). Cool (and confusing).

Actually, though it is not quite as polished, the Automatic Photo Pop-up 2D to 3D conversion project, seems even more impressive:

It is possible to run the software yourself:

You will need to convert your input image to PNM format, but ImageMagick supports this format. After that you will need to run the ‘segment’ program to create the superpixel image. (Notice that the link is to source files – on Windows, VS2003 is able to compile it after changing ‘random()’ to ‘rand()’ a few places. I’ve also uploaded a Windows binary, in case you are too lazy).

After that download the Automatic Photo Pop-up software and follow the readme file. There are some detailed instructions here.

I must admit that my humble attempts (requires a VRML viewer) with the software was nowhere as impressive as in the video. Also be aware that the conversion can be very slow for complicated pictures (~30 minutes for my tests).

The Edge of Chaos is a site for visualizing complex networks (though the actual entries seems to cover a lot more than just network visualization).

Leonardo Solaas’ Dreamlines is one of the more intriguing visualizations: the user enters a couple of keywords which it uses to pull pictures from Google Image Search. It then creates a slowly morphing visualization based on the images, without ever showing the images explicitly.

A dream about ‘war’

Dreamlines freely associating about ‘war’

The Clock of the Long Now

Attempting to build a clock that will run for 10000 years is a daunting task.

Never the less, that is exactly what the Long Now Foundation is trying to do.

The clock uses binary digital logic, but is mechanical. Time is stored as a 28-bit number where each bit is represented by a mechanical lever.

It is built using the following principles:

  • Longevity: With occasional maintenance, the clock should reasonably be expected to display the correct time for the next 10,000 years.
  • Maintainability: The clock should be maintainable with bronze-age technology.
  • Transparency: It should be possible to determine operational principles of the clock by close inspection.
  • Evolvability: It should be possible to improve the clock with time.
  • Scalability: It should be possible to build working models of the clock from table-top to monumental size using the same design.

Virtual Art III

Digital Art Software showdown:

Processing is a Java-based environment for creating digital art. ProcessingBlogs often showcases examples of Processing creations. This Flock of birds demo and the Webcam controlled video pong are nice examples.

VVVV is a realtime video synthesis framework. It is a Windows only flowgraph based system, which seems to be built on top of DirectX and DirectShow. As seen on the Eno Henze image above, VVVV is also very suitable for creating static pictures.



For Mac OS X users, NodeBox looks very impressive (short summary: “NodeBox does less, prettier, in Python. Processing does more, uglier, in Java“) Their gallery page has lots of good examples.

Just-In-Time Programming

ChucK is an audio programming language for real-time performance. It is possible to add and modify code without stopping the audio stream, which makes live coding sessions possible. I played a bit around with ChucK in the miniAudicle editor, which can be recommended – the real Audicle (a spectacular OpenGL interfaced IDE) on the other hand proved to be quite unstable.

For a more extreme version of live coding check out Quoth (now this is weird – a Zork-inspired user interface).