#PHC(n)Draw.py
import turtle as t
order = eval(input("请输入你想绘制的希尔伯特曲线的阶数:"))
#定义n阶, 大小为a像素的伪希尔伯特曲线
def PHC(a, n):
#绘制1阶伪希尔伯特曲线并在绘制结束后将画笔角度和坐标复原:
if n == 1:
t.penup()
t.fd(a/4)
t.left(90)
t.fd(a/4)
t.pendown()
for angle in [0, 90, 90]:
t.right(angle)
t.bk(a/2)
t.penup()
t.fd(a/4)
t.left(90)
t.fd(a/4)
#绘制n阶伪希尔伯特曲线:
else:
#绘制连线
for (x_2, y_2, angle_2) in [(-a/2**(n+1), -a/2**(n+1), 0), (-a/2+a/(2**(n+1)), -a/(2**(n+1)), 90), (a/2-a/(2**(n+1)), -a/(2**(n+1)), 90)]:
#将画笔分别移动到对应位置, 并保持朝向不变(角度为0°):
t.penup()
t.fd(x_2)
t.left(90)
t.fd(y_2)
t.right(90)
#绘制特定的连线:
t.left(angle_2)
t.pendown()
t.fd
伪希尔伯特曲线Python实现
于 2023-05-05 19:07:13 首次发布