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 のアニメーション出力はお手軽でとてもよろしい……