cfdg/scanner.cfdg

204 lines
3.8 KiB
Plaintext

startshape go
background { b -1.0 }
rule go {
crosshairs { h 30 b 0.75 sat 0.9 a 1}
sweeps {h 70 b 0.8 sat 0.8 a -0.7}
rings {h 110 b 0.25 sat 0.7 a 0.6}
artifacts {h 210 b 1 sat 1 a -0.5}
}
rule crosshairs {
2 * {r 45 a -0.5} {
2 * {r 22.5 a -0.75} {
3 * {r 0.3} crosshair {r -0.3}
}
}
}
rule crosshair {
SQUARE {s 0.01 20}
SQUARE {s 20 0.01}
}
rule sweeps { 7 * {r 51 s 0.75} {sweepo {} } }
rule sweepo 3 { sweepr1 {} }
rule sweepo 1 {}
rule sweepr1 { sweepr2 {r -63} }
rule sweepr1 { sweepr2 {} }
rule sweepr1 { sweepr2 {r 63} }
rule sweepr2 { sweepr3 {r -21} }
rule sweepr2 { sweepr3 {} }
rule sweepr2 { sweepr3 {r 21} }
rule sweepr3 { sweep {r -7} }
rule sweepr3 { sweep {} }
rule sweepr3 { sweep {r 7} }
rule sweep {
radialw {h 20 a -0.75}
curl {s 10.2 b 0.9 a -0.9}
}
rule radialw { radials {} }
rule radialw { radials {s 0.75 1} }
rule radialw { radials {s 0.5 1} }
rule radialw { radials {s 0.25 1} }
rule radials {
8 * {s 0.85 1} {
TRIANGLE {a -0.1 y -6.5 s 1 11.5}
}
}
rule curl {
3 * {s 0.97} { 3 * {s 0.99} curl1a {} }
}
rule curl {
3 * {s 0.97} { 3 * {s 0.99} curl2a {} }
}
rule curl {
3 * {s 0.97} { 3 * {s 0.99} curl3a {} }
}
rule curl {
3 * {s 0.97} { 3 * {s 0.99} curl4a {} }
}
rule curl {
3 * {s 0.97} { 3 * {s 0.99} curl5a {} }
}
rule curl {
3 * {s 0.97} { 3 * {s 0.99} curl6a {} }
}
path curl1a {
MOVETO {x 0.0 y -1.0}
ARCTO {x -0.6 y -0.8 r 1 p cw}
STROKE {width 0.25 p roundcap}
}
path curl2a {
MOVETO {x 0.0 y -1.0}
ARCTO {x -0.8 y -0.6 r 1 p cw}
STROKE {width 0.25 p roundcap}
}
path curl3a {
MOVETO {x 0.0 y -1.0}
ARCTO {x -1.0 y 0.0 r 1 p cw}
STROKE {width 0.25 p roundcap}
}
path curl4a {
MOVETO {x 0.0 y -1.0}
ARCTO {x -0.8 y 0.6 r 1 p cw}
STROKE {width 0.25 p roundcap}
}
path curl5a {
MOVETO {x 0.0 y -1.0}
ARCTO {x -0.6 y 0.8 r 1 p cw}
STROKE {width 0.25 p roundcap}
}
path curl6a {
MOVETO {x 0.0 y -1.0}
ARCTO {x 0.0 y 1.0 r 1 p cw}
STROKE {width 0.25 p roundcap}
}
rule rings {
10 * {s 0.75 b 0.1 a 0.1} ring {s 10}
}
rule ring {
5 * {s 0.995 a -0.25} cycle {}
5 * {s 1.005 a -0.25} cycle {}
}
path cycle {
MOVETO {x 0 y 1}
ARCTO {x 0 y -1 r 1 p cw}
ARCTO {x 0 y 1 r 1 p cw}
STROKE {width 0.005}
}
rule artifacts {
4 * {x 0.1} artifactx1 {}
}
rule artifactx1 {artifactx2 {x -3}}
rule artifactx1 {artifactx2 {}}
rule artifactx1 {artifactx2 {x 3}}
rule artifactx2 {artifactx3 {x -1}}
rule artifactx2 {artifactx3 {}}
rule artifactx2 {artifactx3 {x 1}}
rule artifactx3 {artifactx4 {x -0.6}}
rule artifactx3 {artifactx4 {}}
rule artifactx3 {artifactx4 {x 0.6}}
rule artifactx4 {artifacty1 {x -0.2}}
rule artifactx4 {artifacty1 {}}
rule artifactx4 {artifacty1 {x 0.2}}
rule artifacty1 {artifacty2 {y -3}}
rule artifacty1 {artifacty2 {}}
rule artifacty1 {artifacty2 {y 3}}
rule artifacty2 {artifacty3 {y -1}}
rule artifacty2 {artifacty3 {}}
rule artifacty2 {artifacty3 {y 1}}
rule artifacty3 {artifacty4 {y -0.6}}
rule artifacty3 {artifacty4 {}}
rule artifacty3 {artifacty4 {y 0.6}}
rule artifacty4 {artifact {y -0.2}}
rule artifacty4 {artifact {}}
rule artifacty4 {artifact {y 0.2}}
rule artifact {
12 * {s 0.9 a 0.1} CIRCLE {s 0.25}
caption {}
}
rule caption {
bracket {}
label1 {x -4.8 y -0.85 b -0.4 a -0.4 sat -0.2}
label2 {x -1.1 y -1.15 b -0.4 a -0.4 sat -0.2 r 180}
}
path bracket {
MOVETO {x 0 y 0}
LINETO {x -1 y -1}
LINETO {x -5 y -1}
STROKE {width 0.05}
}
rule label1 {
24 * {x 0.1} symbolc {s 0.2}
}
rule label2 {
12 * {x 0.1} symbolc {s 0.2}
}
rule symbolc {symbolr {}}
rule symbolc {symbolr {h 90}}
rule symbolc {symbolr {h 120}}
//rule symbolc {symbolr {h 180}}
//rule symbolc {symbolr {h 240}}
//rule symbolc {symbolr {h 270}}
rule symbolc {}
rule symbolr {symbol{}}
rule symbolr {symbol{r 90}}
rule symbolr {symbol{r 120}}
rule symbolr {symbol{r 180}}
rule symbolr {symbol{r 240}}
rule symbolr {symbol{r 270}}
rule symbol { TRIANGLE {} }
rule symbol { SQUARE {} }
rule symbol { CIRCLE {} }