Context Free 日記

だいぶ慣れてきた。思いついたらサクっと書けるぐらいに。

network


もっと不規則に散らしたいなあ,と思ったけど,ランダムにすると接続が難しいので,規則的に並べてみた。

startshape Start
rule Start {
  Net {h 10 r 10 skew 10 0}
}
rule Net {
  Node {}
  Arm {}
  Net {y 1 r 90}
}
rule Net {
  Node {}
  Arm {}
  Net {y 1 r -90}
}
rule Net 0.1 {
  Star {}
  Net {}
}
rule Net 0.05 {
  Node {}
}
rule Node {
  CIRCLE {s 4 z -2 b 0.8}
  CIRCLE {s 2.1 z -1}
  CIRCLE {s 2.0 b 1 z 1}
  CIRCLE {s 0.6 b 0.9 sat 1 z 2}
}
rule Arm {
  SQUARE {s 0.25 1 y 0.5 b 0.9 sat 1 z 2}
}
rule Star {
  12*{r 15} CIRCLE {s 3 0.03 z 3 h 30 b 1 sat 1 a -0.4}
}

metro


地下鉄路線図風。

startshape Start
rule Start {
  6*{h 100 y (0.6*3) r 45} Point {}
}
rule Point {
  Arm {}
  Point {y 0.6 r 45 h 1}
}
rule Point {
  Arm {}
  Point {y 0.6 r -45 h 1}
}
rule Point 0.09 {
  Dot {}
}
rule Arm {
  Dot {}
  SQUARE {s 0.15 0.6 y 0.3}
  SQUARE {s 0.06 0.6 y 0.3 b 1 z 1}
}
rule Dot {
  CIRCLE {s 0.4}
  CIRCLE {s 0.3 b 1 z 1}
  CIRCLE {s 0.2 b 1 sat 1 z 2}
}

bounce & bang


のたうちまわった挙げ句に爆発。乱数によっては不発に終わるときも。

startshape Start
rule Start {
  CIRCLE {y -0.5 b 0.2}
  Bounce {b 0.2}
}
rule Bounce {
  SQUARE {}
  Bounce {s 0.995 y 0.5 r 2}
}
rule Bounce 0.01 {
  CIRCLE {s 10 8 z -2}
  CIRCLE {s 10.5 8 y -0.2 b 1 z -1}
  CIRCLE {s 1.7 y 1}
  Bounce {r -180 s 1.7}
}
rule Bounce 0.001 {
  CIRCLE {}
  Bang {z -1 sat 1 b 1 a -0.5}
}
rule Bang {
  Streak {}
  Bang {s 1.05 r 7 skew 3 0 h 3}
}
rule Bang 0.1 {}
rule Streak {
  9*{r 20} CIRCLE {s 10 0.2}
}

おまけ

network のアニメーション。 Context Free のアニメーション出力はお手軽でとてもよろしい……

Context Free 日記

だんだんコツが分かってきたような気がするけど,どこをどうすれば,というのを言葉にするのは難しくて……自転車に乗るのを覚えているような感じ。ともかく楽しいよ!

fleas

startshape Start
rule Start {
 10*{} Bar1 {b 0 sat 0 h 240 a -0.3}
}
rule Bar1 {
  SQUARE {s 0.04 0.04}
  Bar1 {s 0.95 x 0.1 r 10 b 0.01}
}
rule Bar1 0.05 {
  Star {}
  Bar2 {r -90 s 1.4 skew 15 0}
}
rule Bar1 0.005 {}
rule Bar2 {
  SQUARE {s 0.04 0.04}
  Bar2 {s 0.95 x 0.1 r -10 b 0.01}
}
rule Bar2 0.05 {
  Star {}
  Bar1 {r -90 s 1.4 skew -15 0}
}
rule Bar2 0.005 {}
rule Star {
  6*{r 30} CIRCLE
    {s 0.5 0.005 a -0.3 z -1}
}

knitting

startshape Start
rule Start {
  Chain {}
}
rule Chain {
  Arc {}
  Bubble {}
  Chain {r 90 x 1 y 1 h 0.1}
}
rule Chain {
  Arc {}
  Bubble {}
  Chain {flip 90 r -90 x 1 y 1 h 0.1}
}
rule Chain 0.01 {}
rule Bubble {
  CIRCLE {y 1 s 1.4 b 1 sat 1 h 3}
}
path Arc {
  MOVETO {x -0 y 0}
  ARCTO {x 1 y 1}
  STROKE {width 0.3}
  STROKE {b 1 width 0.1 p squarecap}
}