绘制科赦曲线

科赦曲线是一种像雪花的曲线,所以又称雪花曲线。
1、画一个等边三角形。
2、将每条边都三等分,取中间线段,以该线段长度为边长,向外画等边三角形,然后擦去该线段。
3、依此类推,一直画下去

在python中绘制科赦曲线要安装swampy包,利用其中的TurtleWorld模块
Turtle绘制图形库:默认以画布中心为坐标原点,默认在“standard”模式下坐标原点上有一条面朝x轴正方向的小乌龟
  • turtle.fd(distance):画笔向当前方向移动distance的距离
  • turtle.rt(angle):绘制方向向右旋转angle度
  • turtle.lt(angle):绘制方向向左旋转angle度
  • turtle.delay:    绘图延迟
try:
    from swampy.TurtleWorld import * #从Swampy的程序包中导入TurtleWorld模块的全部成员
except ImportError:
    from TurtleWorld import * #如果下载了Swampy但没有安装


def koch(t, n):  #递归   
    """Draws a koch curve with length n."""
    if n<3:
        fd(t, n)
        return
    m = n/3.0
    koch(t, m)
    lt(t, 60)
    koch(t, m)
    rt(t, 120)
    koch(t, m)
    lt(t, 60)
    koch(t, m)


def snowflake(t, n):
    """Draws a snowflake (a triangle with a Koch curve for each side)."""
    for i in range(3):
        koch(t, n)
        rt(t, 120)


world = TurtleWorld() #建立一个TurtleWorld对象,赋值给变量world
bob = Turtle() #建立一个Turtle对象,赋值给bob
bob.delay = 0 #绘图延迟

bob.x = -150
bob.y = 90    #设置起始位置
bob.redraw()

snowflake(bob, 300)

world.mainloop()
运行程序,绘制的图形如下图所示:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值