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の三角形としてはすっきりしていていいと思う。