Motion-generated Cityscape

Motion-generated Cityscape Render 01

Spent most of today trying to pull off an idea that I had in my head since the last time I wrote. The idea came to me as soon as I saw a piece called Ephimicropolis by contemporary artist Peter Root. Most of his work is pretty compelling, visually dense, and labor-intensive.

But I thought, hey, I love doing stuff that creates visual rhythm with similar shapes and iteration (see here and here and here and here). And I’m really into this idea that my captured motion data can be turned into something structural, becoming an input stream for a different set of dimensions. I’m almost literally painting an entire world here.

Anyway, now I need to actually start playing with how this thing looks. With lighting and the camera and texture and distribution of elements. Oh, and all of this was built using Cinder.

Here’s a time-lapse render, so you can see it build up:

Here are some of the in-progress renders that happened along the way as I was stumbling my way through all this:

Motion-generated Cityscape Render 02

Motion-generated Cityscape Render 03

Motion-generated Cityscape Render 04

Motion-generated Cityscape Render 05

Motion-generated Cityscape Render 06

  • felix

    looks cool. is there any options for sunflow type rendering with cinder? That would be sweet.

  • Mike Creighton

    FELIX! You wouldn’t believe what I’ve been doing for the last two hours:

    Trying to figure out a way to render this stuff in Sunflow (and researching general radiosity renderers / global illumination systems).

    Here’s my current thinking:

    This week I’m gonna create a proof-of-concept. I’ll try to take all this data and write it out to a Sunflow scene file. Much like toxi did with some point data a long time ago. Since Sunflow is a Java-based renderer, the only way to get the data in will be through its scene file format.

    My current hang-ups are based on translating the default “camera” from Cinder plus the inversion of the y-coordinates into something that’s Sunflow-friendly. Easiest way to get going will be to create a default OpenGL “camera” (though there’s no such thing, really), and rewrite all my positioning logic to fit in that space.

    In my mind’s eye, I really want these final renders to have ambient occlusion, depth of field, and all that good stuff. We’ll see if I can make it happen because I really want this stuff to look good.

  • Dan Lipert

    Love it! It’s always interesting (to me at least) to see how human created systems mirror those created by ‘less-intelligent’ lifeforms. A visually recognizable system of a modern city arises with what is probably not a terribly complex algorithm. This work definitely makes me question humanity’s free-will in urban development.

  • Andy

    Really nice – hope its ok, i ran a post on it over at digital urban –

    Andy :)

  • Bobby

    Would you ever consider Publishing a DVD Teaching Series on some of these things?

    I’m so busy with so many technologies that I don’t have time to get into the generative research I’ve done on Bayesian Networks (HMM) and Petri-Nets.

    I would gladly pay money to learn from you Amazing level of experience.

    I’m so far behind, do you have an Archive of all your categories related to Flash ActionScript 3.0 and C++, the two environments I work in.

    I use Flash CS5 & FlashBuilder4 on the Mac, and on my BOOTCAMP I have Windows Server 2008 R2 installed and am developing experiments in Visual Studio 2010.

    The reason I’m busy is I just got kicked off Medicaid because of State Budget problems.

    The reason I’ve been slow to research (2 1/2 years reading Musimatics, Music and Probability and brushing up on the process of solving systems of Linear Equations, and of course MATLIB.

    But in the end my Epilepsy condition slows me down. But that’s part of the reason I do research.

    Please say you’ll provide an Archive of your work, OR better yet, Courseware that can be purchased at a later time.

    Your one of the most amazing talents I’ve seen in ActionScript 3.0, 3D and C++

    I have yet to delve into Cinder and “Generative”

    I have used Max/MSP and Jitter.

    Thanks for your cool posts.