Inverse-CFDG, or Japanese Manhole Covers

Let the developers know what you think of the software and what can be done to either improve the CFDG language or the Context Free program.

Moderators: MtnViewJohn, chris, mtnviewmark

Post Reply
interiot
Posts: 4
Joined: Wed Jul 06, 2005 11:59 am

Inverse-CFDG, or Japanese Manhole Covers

Post by interiot »

First off, AWESOME work guys. I've always tried to get my head around building organic structures using only digital tools and otherwise pure random numbers. Anybody who can give tools to users that allows them to be expressive deserves praise in my book.

The first thing I thought of when I saw some of the examples is Japanese Manhole Covers (non-english pages).

Image

Image

Image

It seems to me that the only way to draw these is to go backwards... start with an outer circle, and then use nested decomposition.

For the first example, the first thing you'd probably do is pop out the center circle, so the entire center can be filled with the flower. For the second example, the first thing you'd do is split it into 3 wedges. For the third example, the first thing you'd do is pop out the center, and then break the outer part into 5 wedges. And then, from there, each subsequent piece would be further broken apart, until you either stop recursing (as with these real-life examples), or get to very small sizes (as in the many wonderful CFDG examples).

Anyway, I don't know if this fits within the Suggestions must remain context free! rule, but if it isn't, somebody should still build a separate program that was capable of drawing randomized japanese manhole covers.

Also, this idea would probably require formal polygons, though the reverse isn't true.

interiot
Posts: 4
Joined: Wed Jul 06, 2005 11:59 am

Post by interiot »

I think it IS context-free, isn't it?

For example, it would not be context free if you said for the third picture "the symbols inside the five circles must all be unique, you can't have duplicates". But it would be context-free if you said "choose whatever symbol you want, randomly", right? I don't know.

Anyway, some sort of polygon-clipping/intersection code would be needed, something like this... CFDG is already using some of the Anti-Grain code.

Post Reply