用Python绘制龙曲线
我正在尝试如何绘制龙的曲线,蟒蛇龟使用L系统或林登迈耶系统。我不知道,代码是这样的 龙曲线;初始状态='F',替换规则–将'F'替换为'F+F-F',替换次数=8,长度=5,角度=60 但我不知道如何将其转化为代码 第一次在谷歌上映的“龙曲线蟒蛇”:用Python绘制龙曲线,python,fractals,Python,Fractals,我正在尝试如何绘制龙的曲线,蟒蛇龟使用L系统或林登迈耶系统。我不知道,代码是这样的 龙曲线;初始状态='F',替换规则–将'F'替换为'F+F-F',替换次数=8,长度=5,角度=60 但我不知道如何将其转化为代码 第一次在谷歌上映的“龙曲线蟒蛇”: 您可能可以修改它以使用所选的绘图程序。我想试试matplotlib 那么,您可以从定义以下内容开始: def replace(s): return s.replace('F', 'F+F-F') 然后,您可以生成序列,如下所示: cod
您可能可以修改它以使用所选的绘图程序。我想试试matplotlib 那么,您可以从定义以下内容开始:
def replace(s):
return s.replace('F', 'F+F-F')
然后,您可以生成序列,如下所示:
code = 'F'
for i in range(8):
code = replace(code)
我不熟悉
海龟
,因此我无法帮助您。使用海龟
模块(建议)绘制龙曲线:
哈如果你手动压缩,它几乎可以放在一个推特上;从functools导入部分作为p;n、 a,s,c=(8,60,5,'f');对于范围(n)内的uu:c=c。替换('f','f+f-f');t=海龟。海龟();i={'f':p(t.forward,s),'+':p(t.left,a),'-':p(t.right,a)};对于c:i[b]()中的b,不幸的是,您发布的链接不再有效了?
#!/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]()