1
Iは、次のコードを有する:再帰の制御深さ
from turtle import *
speed(0)
def polygon(xangle, steps):
n = 360 // xangle # number of sides required for chosen exterior angle
for i in range(n):
forward(steps)
right(xangle)
def corner_polygons(xangle, steps):
n = 360 // xangle
for i in range(n):
draw_polygon(xangle, steps//5) # draw smaller polygon
forward(steps)
right(xangle)
def double_corner_polygons(xangle, steps):
n = 360 // xangle
for i in range(n):
corner_polygons(xangle, steps//5)
forward(steps)
right(xangle)
最初の関数は、指定された外角(xangle
)とsteps
に等しい辺の長さを有するポリゴンを描画します。 2番目の関数は以前と同じポリゴンを描画しますが、各コーナーに小さなポリゴンを配置します。第三の機能は、たとえば、1つのレベル深く行く:
double_corner_polygons(60, 150)
ができます:
を私がするように私は、描画がどのようになるの深い制御し、他のパラメータ、recursions
を追加します毎回新しい機能を書く必要はありません。私はそれがかなり正しいように見えることはできません。
def corner_polygons_recursive(xangle, steps, recs):
n = 360 // xangle
for i in range(n):
for j in range(1, recs+1):
corner_polygons(xangle, steps//5*j)
forward(steps)
right(xangle)