《Think Python》练习4-5:用turtle画螺线

要求:阅读螺线(spiral)的相关知识; 然后编写一个绘制阿基米德螺线(或者其他种类的螺线)的程序。

阿基米德螺线

import turtle
from math import sin, cos, pi

bob = turtle.Turtle() # create a Turtle object
bob.delay = 0.01 # 设置延迟值


def spiral(t, a, n, w=6):
    ''' 画阿基米德螺线
    t: Turtle
    a: 每转w度增加的内径长度
    n: 圈数
    w: 精度.默认为6(每次转过的角度)(角度值)    
    '''
    

    theta = 0 # 转过角度初始化
    m = int(360 / w) * n # 精度w下转n圈所需循环次数
    #t.lt(w / 2) # 练习4-1第2问
    for i in range(m):
        dtheta = pi * w/ 180 # 精度变为弧度制
        
        # 勾股定理得到要移动的小距离
        length = pow((a*sin(dtheta)*(theta + dtheta))**2 +
                     (a*cos(dtheta)*(theta + dtheta) 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值