Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python绘制龙曲线_Python_Fractals - Fatal编程技术网

用Python绘制龙曲线

用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

我正在尝试如何绘制龙的曲线,蟒蛇龟使用L系统或林登迈耶系统。我不知道,代码是这样的

龙曲线;初始状态='F',替换规则–将'F'替换为'F+F-F',替换次数=8,长度=5,角度=60

但我不知道如何将其转化为代码

第一次在谷歌上映的“龙曲线蟒蛇”:


您可能可以修改它以使用所选的绘图程序。我想试试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]()