まず generate コンポーネント(右側)の方にの generate 関数に ’f’ の機能を追加します。
elif ptn[i] == 'f': p = p + v
‘F’ と同様に「座標を前に進め」ますが、違うのは線を描かないこと。
rewritingの方は、ルール適用の途中で書き換わらないように、いったん’X’,’Y’などに置き換えてから、最後に’F’,’f’に置き換えるといいでしょう。
s = "F+F+F+F" for i in range(int(x)): s = rewrite(s,'F',"X") s = rewrite(s,'f',"Y") s = rewrite(s,'X',"F+f-FF+F+FF+Ff+FF-f+FF-F-FF-Ff-FFF") s = rewrite(s,'Y',"ffffff") print s a = s
Comments are closed.