-1

An L-SystemまたはLindenmayerシステムを使用してpythons turtleを使用して、ドラゴンの曲線を描く方法を考え出そうとしています。コードは次のようなものです

ドラゴン曲線; 初期状態 = 'F'、置換規則 – 'F' を 'F+F-F' に置換、置換数 = 8、長さ = 5、角度 = 60

しかし、それをコードに入れる方法がわかりません。

4

3 に答える 3

3

「dragons curve python」の Google での最初のヒット:

http://www.pynokio.org/dragon.py.htm

おそらく、選択したプロット プログラムで動作するように変更できます。私はmatplotlibを試してみます。

于 2009-04-19T08:30:21.450 に答える
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]()
于 2009-06-29T15:46:15.033 に答える
0

おそらく、次のように定義することから始めることができます。

def replace(s):
    return s.replace('F', 'F+F-F')

次に、シーケンスを次のように生成できます。

code = 'F'
for i in range(8):
    code = replace(code)

私はそこに詳しくturtleないので、あなたを助けることができません。

于 2009-04-19T22:56:20.853 に答える