Pascalの三角形 #7

歪みの原因が分かった。
ノードはsierpinski.gによって不可視になったり塗り潰されたりするだけで、
label属性自体は生きているため下の方ほどlabelが長くなっているのだった。
つまりノードの大きさが場所によって異なることが原因なので単にlabel属性を同じものにすればいい。

sierpinski2.g
...snip
N {
  if (label % 2 == 0) {
    style = "invis";
  } else {
    style = "filled";
    fillcolor = "black";
  }
  label = "_";
}
...snip

ここではアンダースコアに置き換えたが別にスペース文字でも何でもいい。

$ gvpr -fpascal3.g -a60 | gvpr -c -fsierpinski2.g | dot -Tpng -osierpinski2.png


曲線状に柔らかく歪んでいるのも悪くはないが、
まっすぐなこちらの方がSierpinskiの三角形としてはすっきりしていていいと思う。