我正在尝试使用An L-System或Lindenmayer系统研究如何使用蟒蛇龟绘制龙的曲线。我没有代码就像
龙曲线;初始状态='F',替换规则 - 用'F + F-F'替换'F',替换次数= 8,长度= 5,角度= 60但不知道如何将其放入代码中。
答案 0 :(得分:3)
答案 1 :(得分:3)
使用turtle
模块(由@John Fouhy建议)绘制龙曲线:
#!/usr/bin/env python
import turtle
from functools import partial
nreplacements = 8
angle = 60
step = 5
# generate command
cmd = 'f'
for _ in range(nreplacements):
cmd = cmd.replace('f', 'f+f-f')
# draw
t = turtle.Turtle()
i2c = {'f': partial(t.forward, step),
'+': partial(t.left, angle),
'-': partial(t.right, angle),
}
for c in cmd: i2c[c]()
答案 2 :(得分:0)
嗯,大概,你可以从定义开始:
def replace(s):
return s.replace('F', 'F+F-F')
然后你可以生成你的序列:
code = 'F'
for i in range(8):
code = replace(code)
我不熟悉turtle
所以我无法帮助你。