Lsystem: http://www.sidefx.com/docs/houdini/nodes/sop/lsystem.html
本篇文章要实现如下图案

代码如下:
from turtle import *
length = 10
angle = 90
def draw_path(path):
for symbol in path:
if symbol == 'F':
forward(length)
elif symbol == '-':
left(angle)
elif symbol == '+':
right(angle)
else:
print('invalid symbol')
def apply_rule(path):
rule = 'F-F+F+FF-F-F+F'
return path.replace('F', rule)
path = 'F-F-F-F'
path = apply_rule(path)
path = apply_rule(path)
# path = apply_rule(path)
speed(100)
draw_path(path)
exitonclick()
结果如下:(想要更复杂的图案,多执行几次apply_rule即可)


本文介绍如何使用Python实现Lsystem来创建二次科赫岛图案,通过多次应用规则可得到更复杂的图形。
最低0.47元/天 解锁文章
426

被折叠的 条评论
为什么被折叠?



