Page 1 of 1

I'm having way too much fun

Posted: Sun Jun 12, 2005 7:19 pm
by futrelle
This one fills a square with various-sized circles with arrows in them of all pointing in one of the four map directions. Based on "quadcity". If someone can clean up the "corners" this would look great.

startshape quad

rule quad {
boq { x -0.5 y 0.5 }
boq { x 0.5 y 0.5 }
boq { x -0.5 y -0.5 }
boq { x 0.5 y -0.5 }
}

rule boq 2 {
rBox { }
corners { }
}
rule boq 1 { quad { s 0.5 } }

rule corners {
corner { x -0.425 y -0.425 s 0.147 r 90}
corner { x 0.425 y -0.425 s 0.147 r 180 }
corner { x -0.425 y 0.425 s 0.147 r 0 }
corner { x 0.425 y 0.425 s 0.147 r -90 }
}

rule corner {
boq { s 1.005 }
cFill { x 0.8 y 0.21 s 0.59 }
dFill { y -0.8 x -0.21 s 0.59 r -90 }
}

rule cFill {
boq { }
// corner { x -0.31 y -0.653 s 0.33 }
cFill { x 0.8 y 0.208 s 0.59 }
}

rule dFill {
boq { }
// corner { y 0.66 x -0.333 s 0.33 r 90 }
dFill { x 0.8 y -0.208 s 0.59 }
}

rule rBox { box { r 0 } }
rule rBox { box { r 90 } }
rule rBox { box { r 180 } }
rule rBox { box {r -90 } }

rule box {
CIRCLE { s 0.99 }
CIRCLE { s 0.89 b 1 }
arrow { x -0.3 s 0.17 }
}

rule arrow {
SQUARE { s 0.5 }
SQUARE { s 0.5 x 0.5 }
SQUARE { s 0.5 x 1.0 }
SQUARE { s 0.5 x 1.5 }
SQUARE { s 0.5 x 2.0 }
SQUARE { s 0.5 x 2.5 }
triangle { x 3 }
}

rule triangle {
triArm { r 0 }
triArm { r 120 }
triArm { r -120 }
}

rule triArm {
CIRCLE { }
triArm { x 0.1 s 0.9 }
}

Posted: Sun Jun 12, 2005 9:28 pm
by chris
Love it!

Here's a derivative work. I really like yours and had some fun playing with (1) brightnesses, and (2) polygons instead of circles. It looks more reckless I guess.

startshape quad4

rule quad4 {
quad {}
quad {x 2}
quad {x 2 y 2}
quad {y 2}
}

rule quad {
boq { x -0.5 y 0.5 }
boq { x 0.5 y 0.5 }
boq { x -0.5 y -0.5 }
boq { x 0.5 y -0.5 }
}

rule boq 2 {
rBox { }
corners { }
}
rule boq 1 { quad { s 0.5 } }

rule corners {
corner { x -0.425 y -0.425 s 0.147 r 90}
corner { x 0.425 y -0.425 s 0.147 r 180 }
corner { x -0.425 y 0.425 s 0.147 r 0 }
corner { x 0.425 y 0.425 s 0.147 r -90 }
}

rule corner {
boq { s 1.005}
cFill { x 0.8 y 0.21 s 0.59 }
dFill { y -0.8 x -0.21 s 0.59 r -90 }
}

rule cFill {
boq { }
// corner { x -0.31 y -0.653 s 0.33 }
cFill { x 0.8 y 0.208 s 0.59 }
}

rule dFill {
boq { }
// corner { y 0.66 x -0.333 s 0.33 r 90 }
dFill { x 0.8 y -0.208 s 0.59 }
}

rule rBox { box { r 0 } }
rule rBox { box { r 90 } }
rule rBox { box { r 180 } }
rule rBox { box {r -90 } }

rule box {
signoutline { }
}
rule signoutline 8 {
polygon11sided { s 0.99 }
polygon6sided { s 0.85 b 0.95 x 0.01 }
arrow { x -0.3 s 0.17}
}
rule signoutline 8 {
polygon11sided { s 0.99 }
polygon7sided { s 0.85 b 0.85 x 0.01 }
arrow { x -0.3 s 0.17}
}
rule signoutline 8 {
polygon11sided { s 0.99 }
polygon8sided { s 0.85 b 0.65 x 0.01 }
arrow { x -0.3 s 0.17}
}
rule arrow {
SQUARE { s 0.5 }
SQUARE { s 0.5 x 0.5 }
SQUARE { s 0.5 x 1.0 }
SQUARE { s 0.5 x 1.5 }
SQUARE { s 0.5 x 2.0 }
SQUARE { s 0.5 x 2.5 }
triangle { x 3 }
}

rule triangle {
triArm { r 0 }
triArm { r 120 }
triArm { r -120 }
}

rule triArm {
CIRCLE { }
triArm { x 0.1 s 0.9 }
}


rule polygon6sided {
SQUARE {size 0.5 x 0.183013 y 0 rotate 0}
SQUARE {size 0.5 x 0.0915063 y 0.158494 rotate 60}
SQUARE {size 0.5 x -0.0915064 y 0.158494 rotate 120}
SQUARE {size 0.5 x -0.183013 y 0 rotate 180}
SQUARE {size 0.5 x -0.0915063 y -0.158494 rotate 240}
SQUARE {size 0.5 x 0.0915064 y -0.158494 rotate 300}
CIRCLE {s 0.866025}
}

rule polygon7sided {
SQUARE {size 0.433884 x 0.233543 y 0 rotate 0}
SQUARE {size 0.433884 x 0.145611 y 0.182591 rotate 51.4286}
SQUARE {size 0.433884 x -0.0519681 y 0.227687 rotate 102.857}
SQUARE {size 0.433884 x -0.210415 y 0.10133 rotate 154.286}
SQUARE {size 0.433884 x -0.210415 y -0.10133 rotate 205.714}
SQUARE {size 0.433884 x -0.0519681 y -0.227687 rotate 257.143}
SQUARE {size 0.433884 x 0.145611 y -0.182591 rotate 308.571}
CIRCLE {s 0.900969}
}

rule polygon8sided {
SQUARE {size 0.382683 x 0.270598 y 0 rotate 0}
SQUARE {size 0.382683 x 0.191342 y 0.191342 rotate 45}
SQUARE {size 0.382683 x 0 y 0.270598 rotate 90}
SQUARE {size 0.382683 x -0.191342 y 0.191342 rotate 135}
SQUARE {size 0.382683 x -0.270598 y 0 rotate 180}
SQUARE {size 0.382683 x -0.191342 y -0.191342 rotate 225}
SQUARE {size 0.382683 x 0 y -0.270598 rotate 270}
SQUARE {size 0.382683 x 0.191342 y -0.191342 rotate 315}
CIRCLE {s 0.92388}
}


rule polygon11sided {
SQUARE {size 0.281733 x 0.33888 y 0 rotate 0}
SQUARE {size 0.281733 x 0.285084 y 0.183212 rotate 32.7273}
SQUARE {size 0.281733 x 0.140776 y 0.308256 rotate 65.4545}
SQUARE {size 0.281733 x -0.0482277 y 0.335431 rotate 98.1818}
SQUARE {size 0.281733 x -0.221919 y 0.256109 rotate 130.909}
SQUARE {size 0.281733 x -0.325153 y 0.0954735 rotate 163.636}
SQUARE {size 0.281733 x -0.325153 y -0.0954736 rotate 196.364}
SQUARE {size 0.281733 x -0.221919 y -0.256109 rotate 229.091}
SQUARE {size 0.281733 x -0.0482277 y -0.335431 rotate 261.818}
SQUARE {size 0.281733 x 0.140776 y -0.308256 rotate 294.545}
SQUARE {size 0.281733 x 0.285084 y -0.183212 rotate 327.273}
CIRCLE {s 0.959493}
}

Posted: Sun Jun 12, 2005 10:14 pm
by futrelle
OK, check this out: notice that the arrows all point "in", and "in" always leads to a black circle. I think I'm starting to get the knack of having the graphic illustrate the grammatical structure of the result:

--
startshape cell
// hzg

rule cell {
boq { s 1 r 180 }
CIRCLE { s 0.5 x 0.5 }
wing { }
wing { r 120 }
wing { r -120 }
}

rule wing { boq { x 1 s 1 } }

rule boq 0.5 { rBox { } }
rule boq { cell { s 0.5 } }

rule rBox { box { r 180 } }
//rule rBox { box { r 60 } }
//rule rBox { box { r 120 } }
//rule rBox { box {r -60 } }
//rule rBox { box { r -120 } }
//rule rBox { box { r 180 } }

rule box {
CIRCLE { }
CIRCLE { s 0.9 b 1 }
arrow { x -0.3 s 0.17 }
}

rule arrow {
SQUARE { s 0.5 }
SQUARE { s 0.5 x 0.5 }
SQUARE { s 0.5 x 1.0 }
SQUARE { s 0.5 x 1.5 }
SQUARE { s 0.5 x 2.0 }
SQUARE { s 0.5 x 2.5 }
triangle { x 3 }
}

rule triangle {
triArm { r 0 }
triArm { r 120 }
triArm { r -120 }
}

rule triArm {
CIRCLE { }
triArm { x 0.1 s 0.9 }
}