context freedom (contextfree.1) «
   

context freedom
records initial play
with Chris Coyne's
Context-Free Design Grammar;
a beautiful, simple and elegant
grammar and interface
that is a joy to
interact with.

There are
some very creative
uses that I am eagerly
beginning to explore
in more depth.

But first,
the hello worlds.

» first experiment

   
A kinky afro-ish hair growth.
 

 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_AFRO
// info: mandalabrot.net / kiddphunk.com / 2005

// note: i didn't save the code to these first experiments

A repeated patterning of circles around circles
results in an image that is like an interference pattern
crossed with a multiple-magnet magnetic pattern.
 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_INTERFERENCE_PATTERN
// info: mandalabrot.net / kiddphunk.com / 2005

// note: i didn't save the code to these first experiments

Spirals, twists and strands.
 

 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_SPIRALTWISTS
// info: mandalabrot.net / kiddphunk.com / 2005

startshape SPIRALTWISTS

rule SPIRALTWISTS {
	SPIRALTWISTS__EITHER { x 5 r 180 }
	SPIRALTWISTS__EITHER { x 5 }
}

rule SPIRALTWISTS__BOTH {
	SPIRALTWISTS__BL { r 30 }
	SPIRALTWISTS__BR { r -30 }
}

rule SPIRALTWISTS__EITHER { 
	SPIRALTWISTS__BL {}
}

rule SPIRALTWISTS__EITHER {
	SPIRALTWISTS__BR {} 
}

rule SPIRALTWISTS__BL {
	CIRCLE {}
	SPIRALTWISTS__WL { s 0.95 y 1.6 }
	SPIRALTWISTS { s .3 b .5 }
	SPIRALTWISTS { s .3 b .1 y 10 x 10 r 90 }
}

rule SPIRALTWISTS__WL { SPIRALTWISTS__BL { r -3 } }
rule SPIRALTWISTS__WL { SPIRALTWISTS__BL { r -4 } }
rule SPIRALTWISTS__WL { SPIRALTWISTS__BL { r -5 } }
rule SPIRALTWISTS__WL { SPIRALTWISTS__BL { r -6 } }
rule SPIRALTWISTS__WL { SPIRALTWISTS__BL { r -7 } }
rule SPIRALTWISTS__WL { SPIRALTWISTS__BL { r -3 } }
rule SPIRALTWISTS__WL { SPIRALTWISTS__BL { r -4 } }
rule SPIRALTWISTS__WL { SPIRALTWISTS__BL { r -5 } }
rule SPIRALTWISTS__WL { SPIRALTWISTS__BL { r -6 } }
rule SPIRALTWISTS__WL { SPIRALTWISTS__BL { r -7 } }
rule SPIRALTWISTS__WL { SPIRALTWISTS__BR { r -10 } }

rule SPIRALTWISTS__BR {
	CIRCLE {}
	SPIRALTWISTS__WR { s 0.95 y 1.6 }
	SPIRALTWISTS { s .3 b .3 }
	SPIRALTWISTS { s .3 b .1 x -10 y -10 r 45 }
}

rule SPIRALTWISTS__WR { SPIRALTWISTS__BR { r -3 } }
rule SPIRALTWISTS__WR { SPIRALTWISTS__BR { r -4 } }
rule SPIRALTWISTS__WR { SPIRALTWISTS__BR { r -5 } }
rule SPIRALTWISTS__WR { SPIRALTWISTS__BR { r -6 } }
rule SPIRALTWISTS__WR { SPIRALTWISTS__BR { r -7 } }
rule SPIRALTWISTS__WR { SPIRALTWISTS__BR { r -3 } }
rule SPIRALTWISTS__WR { SPIRALTWISTS__BR { r -4 } }
rule SPIRALTWISTS__WR { SPIRALTWISTS__BR { r -5 } }
rule SPIRALTWISTS__WR { SPIRALTWISTS__BR { r -6 } }
rule SPIRALTWISTS__WR { SPIRALTWISTS__BR { r -7 } }
rule SPIRALTWISTS__WR { SPIRALTWISTS__BL { r -10 } }
« top of experiment
Recursive pixie dust (after cantor dust).
 

 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_PIXIE_DUST
// info: mandalabrot.net / kiddphunk.com / 2005

startshape PIXIE_DUST

rule PIXIE_DUST {
	PIXIE_DUST__CIRCLE { y -2 x -1 s .5 r 180 }
	PIXIE_DUST__CIRCLE { y 2 x -1 s .5 }
	PIXIE_DUST__CIRCLE { x -1 r 0 }
	PIXIE_DUST__CIRCLE { x -1 r 180 }
}

rule PIXIE_DUST__CIRCLE {
	 CIRCLE {} 
	 PIXIE_DUST__CIRCLE { r -50 s 0.79 x -0.012 y 0.909 }
	 PIXIE_DUST__CIRCLE { r 90 s .4 x 2 }
	 PIXIE_DUST__CIRCLE { r 90 s .4 x -2 }
}

« top of experiment
I dug the close-up, high-resolution details
that this simple echo+translation effect
creates when used on a basic tree.
 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_BRAIN_TREE
// info: mandalabrot.net / kiddphunk.com / 2005

// note: this is actually a more interesting 
// version than what is pictured

startshape BRAIN_TREE

rule BRAIN_TREE {
	BRAIN_TREE__EITHER { x 5 r 180 }
	BRAIN_TREE__EITHER { x 5 }
}

rule BRAIN_TREE__BOTH {
	BRAIN_TREE__BL { r 30 }
	BRAIN_TREE__BR { r -30 }
}

rule BRAIN_TREE__EITHER { 
	BRAIN_TREE__BL {}
}

rule BRAIN_TREE__EITHER {
	BRAIN_TREE__BR {} 
}

rule BRAIN_TREE__BL {
	CIRCLE {}
	BRAIN_TREE__WL { s 0.95 y 1.6 }
	BRAIN_TREE { s .3 b .5 }
	BRAIN_TREE { s .3 b .5 y 20}
}

rule BRAIN_TREE__WL { BRAIN_TREE__BL { r 3 } }
rule BRAIN_TREE__WL { BRAIN_TREE__BL { r 4 } }
rule BRAIN_TREE__WL { BRAIN_TREE__BL { r 5 } }
rule BRAIN_TREE__WL { BRAIN_TREE__BL { r 6 } }
rule BRAIN_TREE__WL { BRAIN_TREE__BL { r 7 } }
rule BRAIN_TREE__WL { BRAIN_TREE__BL { r 3 } }
rule BRAIN_TREE__WL { BRAIN_TREE__BL { r 4 } }
rule BRAIN_TREE__WL { BRAIN_TREE__BL { r 5 } }
rule BRAIN_TREE__WL { BRAIN_TREE__BL { r 6 } }
rule BRAIN_TREE__WL { BRAIN_TREE__BL { r 7 } }
rule BRAIN_TREE__WL { BRAIN_TREE__BOTH {} }
rule BRAIN_TREE__WL { BRAIN_TREE__BR { r -10 } }

rule BRAIN_TREE__BR {
	CIRCLE {}
	BRAIN_TREE__WR { s 0.95 y 1.6 }
	BRAIN_TREE { s .3 b .2 }
	BRAIN_TREE { s .3 b .2 x 20 }
}

rule BRAIN_TREE__WR { BRAIN_TREE__BR { r -3 } }
rule BRAIN_TREE__WR { BRAIN_TREE__BR { r -4 } }
rule BRAIN_TREE__WR { BRAIN_TREE__BR { r -5 } }
rule BRAIN_TREE__WR { BRAIN_TREE__BR { r -6 } }
rule BRAIN_TREE__WR { BRAIN_TREE__BR { r -7 } }
rule BRAIN_TREE__WR { BRAIN_TREE__BR { r -3 } }
rule BRAIN_TREE__WR { BRAIN_TREE__BR { r -4 } }
rule BRAIN_TREE__WR { BRAIN_TREE__BR { r -5 } }
rule BRAIN_TREE__WR { BRAIN_TREE__BR { r -6 } }
rule BRAIN_TREE__WR { BRAIN_TREE__BR { r -7 } }
rule BRAIN_TREE__WR { BRAIN_TREE__BOTH {} }
rule BRAIN_TREE__WR { BRAIN_TREE__BL { r 10 } }
« top of experiment
A pair of curves, repeated and scaled
in an eight-petaled recursion.

 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_OCTA_ORBIT
// info: mandalabrot.net / kiddphunk.com / 2005

startshape OCTA_ORBIT

rule OCTA_ORBIT {
	OCTA_ORBIT__SHAPE {}
	OCTA_ORBIT__SHAPE { r 45 }
}

rule OCTA_ORBIT__SHAPE {
	OCTA_ORBIT__WING { r 0 }
	OCTA_ORBIT__WING { r 90 }
	OCTA_ORBIT__WING { r 180 }
	OCTA_ORBIT__WING { r 270 }
}

rule OCTA_ORBIT__WING {
	OCTA_ORBIT__LEFT {}
	OCTA_ORBIT__RIGHT {}
	OCTA_ORBIT { s .2 x 10 }
}

rule OCTA_ORBIT__RIGHT {
	 CIRCLE {} 
	 OCTA_ORBIT__RIGHT { r 1 s 0.982 y .2309067 }
}

rule OCTA_ORBIT__LEFT {
	 CIRCLE {} 
	 OCTA_ORBIT__LEFT { r -1 s 0.982 y .309067 }
}


« top of experiment
Abstract leaf.
 

 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_PLANT_LEAF
// info: mandalabrot.net / kiddphunk.com / 2005
	
// note: due to randomness, this may need to run
// a few times before producing this shape

startshape PLANT_LEAF

rule PLANT_LEAF {
	PLANT_LEAF__EITHER { x 5 r 180 }
	PLANT_LEAF__EITHER { x 5 }
}

rule PLANT_LEAF__BOTH {
	PLANT_LEAF__BL { r 30 }
	PLANT_LEAF__BR { r -30 }
}

rule PLANT_LEAF__EITHER { PLANT_LEAF__BL {} }

rule PLANT_LEAF__EITHER { PLANT_LEAF__BR {} }

rule PLANT_LEAF__BL {
	CIRCLE {}
	PLANT_LEAF__WL { s 0.95 y 1.6 }
}

rule PLANT_LEAF__WL { PLANT_LEAF__BL { r 3 } }

rule PLANT_LEAF__BR {
	CIRCLE {}
	PLANT_LEAF__WR { s 0.95 y 1.6 }
	PLANT_LEAF { s .3 b .3 }
	PLANT_LEAF { s .3 b .3 x -10 y -10 r 45 }
}

rule PLANT_LEAF__WR { PLANT_LEAF__BR { r 3 } }
« top of experiment
A spontaneous rotation of the sitename using
the sample font results in a new logo,
a pixelated sun mandala.
 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_MANDALABROT_LOGO
// info: mandalabrot.net / kiddphunk.com / 2005

// note: this could have been done recursively, however 
// doing so in a manner where it infinitely paints 
// upon itself ruins the otherwise excellent anti-aliasing...

// note: the example font is graciously utilized here

include i_pix.cfdg

startshape MANDALABROT_LOGO

rule MANDALABROT_LOGO {
	MANDALABROT_LOGO__MANDALA {}
	MANDALABROT_LOGO__MANDALA { r 10 }
	MANDALABROT_LOGO__MANDALA { r 20 }
	MANDALABROT_LOGO__MANDALA { r 30 }
	MANDALABROT_LOGO__MANDALA { r 40 }
	MANDALABROT_LOGO__MANDALA { r 50 }
	MANDALABROT_LOGO__MANDALA { r 60 }
	MANDALABROT_LOGO__MANDALA { r 70 }
	MANDALABROT_LOGO__MANDALA { r 80 }
	MANDALABROT_LOGO__MANDALA { r 90 }
	MANDALABROT_LOGO__MANDALA { r 100 }
	MANDALABROT_LOGO__MANDALA { r 110 }
	MANDALABROT_LOGO__MANDALA { r 120 }
	MANDALABROT_LOGO__MANDALA { r 130 }
	MANDALABROT_LOGO__MANDALA { r 140 }
	MANDALABROT_LOGO__MANDALA { r 150 }
	MANDALABROT_LOGO__MANDALA { r 160 }
	MANDALABROT_LOGO__MANDALA { r 170 }
	MANDALABROT_LOGO__MANDALA { r 180 }
	MANDALABROT_LOGO__MANDALA { r 190 }
	MANDALABROT_LOGO__MANDALA { r 200 }
	MANDALABROT_LOGO__MANDALA { r 210 }
	MANDALABROT_LOGO__MANDALA { r 220 }
	MANDALABROT_LOGO__MANDALA { r 230 }
	MANDALABROT_LOGO__MANDALA { r 240 }
	MANDALABROT_LOGO__MANDALA { r 250 }
	MANDALABROT_LOGO__MANDALA { r 260 }
	MANDALABROT_LOGO__MANDALA { r 270 }
	MANDALABROT_LOGO__MANDALA { r 280 }
	MANDALABROT_LOGO__MANDALA { r 290 }
	MANDALABROT_LOGO__MANDALA { r 300 }
	MANDALABROT_LOGO__MANDALA { r 310 }
	MANDALABROT_LOGO__MANDALA { r 320 }
	MANDALABROT_LOGO__MANDALA { r 330 }
	MANDALABROT_LOGO__MANDALA { r 340 }
	MANDALABROT_LOGO__MANDALA { r 350 }
}

rule MANDALABROT_LOGO__MANDALA {
	M_5by5 {}
	A_5by5 { x 1.2 }
	N_5by5 { x 2.4 }
	D_5by5 { x 3.6 }
	A_5by5 { x 4.8 }
	L_5by5 { x 6.0 }
	A_5by5 { x 7.2 }
	B_5by5 { x 8.4 }
	R_5by5 { x 9.6 }
	O_5by5 { x 10.8 }
	T_5by5 { x 12.0 }
	N_5by5 { x 14.4 }
	E_5by5 { x 15.6 }
	T_5by5 { x 16.8 }
	SQUARE { x 13 s .25 }
}
« top of experiment
A simple dartboard-like star pattern ad infinitum.
 

 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_SIMPLE_STAR
// info: mandalabrot.net / kiddphunk.com / 2005

startshape SIMPLE_STAR

rule SIMPLE_STAR {
	SIMPLE_STAR__SHAPE { x 0 r -35 }
}

rule SIMPLE_STAR__SHAPE {
	CIRCLE {} 
	SIMPLE_STAR__SHAPE { r 30 s 0.99 x -5 y 0 }
	SIMPLE_STAR__SHAPE { s .2  x 0 }
}
« top of experiment
Spirals of spirals of spirals of spirals of...
 

 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_INFINITE_SPIRAL
// info: mandalabrot.net / kiddphunk.com / 2005

startshape INFINITE_SPIRAL

rule INFINITE_SPIRAL {
	INFINITE_SPIRAL__EITHER { x 5 r 180 }
	INFINITE_SPIRAL__EITHER { x 5 }
}

rule INFINITE_SPIRAL__BOTH {
	INFINITE_SPIRAL__BL { r 30 }
	INFINITE_SPIRAL__BR { r -30 }
}

rule INFINITE_SPIRAL__EITHER { INFINITE_SPIRAL__BL {} }

rule INFINITE_SPIRAL__EITHER { INFINITE_SPIRAL__BR {} }

rule INFINITE_SPIRAL__BL {
	CIRCLE {}
	INFINITE_SPIRAL__WL { s 0.95 y 1.6 }
	INFINITE_SPIRAL { s .3 b .3 }
	INFINITE_SPIRAL { s .4 b .3 x -10 y -10 r 45 }
}

rule INFINITE_SPIRAL__WL { INFINITE_SPIRAL__BL { r -17 } }

rule INFINITE_SPIRAL__BR {
	CIRCLE {}
	INFINITE_SPIRAL__WR { s 0.95 y 1.6 }
	INFINITE_SPIRAL { s .3 b .3 }
	INFINITE_SPIRAL { s .4 b .3 x -10 y -10 r 45 }
}

rule INFINITE_SPIRAL__WR { INFINITE_SPIRAL__BR { r -17 } }
« top of experiment
...spirals of spirals of spirals of spirals of...
 

 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_INFINITE_SPIRAL
// info: mandalabrot.net / kiddphunk.com / 2005

startshape INFINITE_SPIRAL

rule INFINITE_SPIRAL {
	INFINITE_SPIRAL__EITHER { x 5 r 180 }
	INFINITE_SPIRAL__EITHER { x 5 }
}

rule INFINITE_SPIRAL__BOTH {
	INFINITE_SPIRAL__BL { r 30 }
	INFINITE_SPIRAL__BR { r -30 }
}

rule INFINITE_SPIRAL__EITHER { INFINITE_SPIRAL__BL {} }

rule INFINITE_SPIRAL__EITHER { INFINITE_SPIRAL__BR {} }

rule INFINITE_SPIRAL__BL {
	CIRCLE {}
	INFINITE_SPIRAL__WL { s 0.95 y 1.6 }
	INFINITE_SPIRAL { s .3 b .3 }
	INFINITE_SPIRAL { s .3 b .3 x -10 y -10 r 45 }
}

rule INFINITE_SPIRAL__WL { INFINITE_SPIRAL__BL { r -17 } }

rule INFINITE_SPIRAL__BR {
	CIRCLE {}
	INFINITE_SPIRAL__WR { s 0.95 y 1.6 }
	INFINITE_SPIRAL { s .3 b .3 }
	INFINITE_SPIRAL { s .3 b .3 x -10 y -10 r 45 }
}

rule INFINITE_SPIRAL__WR { INFINITE_SPIRAL__BR { r 3 } }

« top of experiment
Playing with squiggles.
Fading the brightness with each iteration
results in a more three-dimensional feeling.
 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_SQUIGGLES_1
// info: mandalabrot.net / kiddphunk.com / 2005

startshape SQUIGGLES_1

rule SQUIGGLES_1 {
	SQUIGGLES_1__BOTH {}
}

rule SQUIGGLES_1__BOTH {
	SQUIGGLES_1__LEFT { r 44.3 }
	SQUIGGLES_1__RIGHT { r -44.3 }
	SQUIGGLES_1__BOTH { y 6 s .4 }
	SQUIGGLES_1__BOTH { y 6 s .4 }
	SQUIGGLES_1 { r 60 s .5 x 10 }
	SQUIGGLES_1 { r -60 s .5 x 10 }
	SQUIGGLES_1 { r 120 s .5 x 20 y 20 }
	SQUIGGLES_1 { r -120 s .5 x 20 y 20 }
}

rule SQUIGGLES_1__RIGHT {
	CIRCLE {} 
	SQUIGGLES_1__RIGHT { r -1.8 s 0.992 y .509067 }
}

rule SQUIGGLES_1__LEFT {
	CIRCLE {} 
	SQUIGGLES_1__LEFT { r -1.8 s 0.992 y .509067 }
}
« top of experiment
A final squiggle variation brings
to a close an initial round with
context freedom.
 

« prev | next »

// namespace: NET_MANDALABROT
// name: NET_MANDALABROT_SQUIGGLES_2
// info: mandalabrot.net / kiddphunk.com / 2005

startshape SQUIGGLES_2

rule SQUIGGLES_2 {
	SQUIGGLES_2_HEAD {}
	SQUIGGLES_2 { s .8 b .1 r 10 x 10 }
}

rule SQUIGGLES_2_HEAD {
	SQUIGGLES_2__BOTH {}
}

rule SQUIGGLES_2__BOTH {
	SQUIGGLES_2__LEFT { r 44.3 }
	SQUIGGLES_2__RIGHT { r -44.3 }
	SQUIGGLES_2__BOTH { y 6 s .3 b .4 }
	SQUIGGLES_2__BOTH { y 6 s .3 b .4 }
	SQUIGGLES_2 { r 60 s .3 x 10 }
	SQUIGGLES_2 { r -60 s .3 x 10 }
	SQUIGGLES_2 { r 120 s .5 x 20 y 20 }
	SQUIGGLES_2 { r -120 s .5 x 20 y 20 }
}

rule SQUIGGLES_2__RIGHT {
	 CIRCLE {} 
	 SQUIGGLES_2__RIGHT { r -1.8 s 0.992 y .509067 }
}

rule SQUIGGLES_2__LEFT {
	 CIRCLE {} 
	 SQUIGGLES_2__LEFT { r -1.8 s 0.992 y .509067 }
}



« top of experiment