2.7 实验
下面有一些方法可以进一步尝试螺线。
1.现在你已知道如何画圆,请写一个程序来绘制随机的对数螺线。找到参数形式的对数螺线方程,然后用它来绘制螺线。
2.你可能已经注意到,画曲线时,海龟光标总是朝右,但这不是海龟移动的方式!请调整海龟的方向,在绘制曲线时,让它朝向绘制的方向(提示:每步计算连续点之间的方向矢量,用turtle.setheading()方法来调整海龟的方向)。
3.尝试用海龟绘制Koch snowflake(科赫雪花),它是利用递归(即调用自身的函数)的分形曲线。可以像这样组织递归函数调用:
# recursive Koch snowflake
def kochSF(x1, y1, x2, y2, t):
# compute intermediate points p2, p3
if segment_length > 10:
# recursively generate child segments
# flake #1
kochSF(x1, y1, p1[0], p1[1], t)
# flake #2
kochSF(p1[0], p1[1], p2[0], p2[1], t)
# flake #3
kochSF(p2[0], p2[1], p3[0], p3[1], t)
# flake #4
kochSF(p3[0], p3[1], x2, y2, t)
else:
# draw
# ...
时间: 2025-01-31 06:07:40