爱电脑的昕宇 发表于 2022-3-19 21:41:12

用turtle制作勾股海螺

这周讲勾股定理,班主任突发奇想,让我编一个程序来画勾股海螺图(如图所示)



说起来容易,但对于我这个小白来说,实践起来真的很难!
因为要想知道画笔每次转动角度,还涉及到了三角函数知识(应该是九年级的吧?)
最终,after 4 hours……
I did it!



(有种要崩溃的感觉{:26:})
我肯定绕了弯路,恳请大佬指点!


源码:
from turtle import *
import math

colorName=['blue','yellow']
n=-1

speed(10)
dir=pos()
c=100
begin_fill()
backward(100)
right(90)

while True:
    if n==1:
      n=0
    else:
      n=n+1
    begin_fill()
    a=c
    b=100
    fillcolor(colorName)
    forward(100)
    dir1=pos()
    goto(dir)
    c=(c ** 2+10000) ** 0.5
    end_fill()
    A = math.degrees(math.acos((a * a - b * b - c * c) / (-2 * b * c)))
    B = math.degrees(math.acos((b * b - a * a - c * c) / (-2 * a * c)))
    C = math.degrees(math.acos((c * c - a * a - b * b) / (-2 * a * b)))
    left(90-A)
    goto(dir1)

    #测试
    print("当前边长:\n")
    print("a="+str(a))
    print("b="+str(b))
    print("c="+str(c))
    print("-"*20)

爱电脑的昕宇 发表于 2022-3-19 21:44:29

顺便又编了一个计算机课脱控程序,打包成EXE,周一给计算机老师一个惊喜{:7_338:}

nkc3g4 发表于 2022-3-20 10:43:37

LZ自学能力很强

新空气 发表于 2022-3-20 11:23:53

可以学习折腾自己喜欢的东西好幸福,江苏的学生羡慕的想哭

jyssysz 发表于 2022-3-20 12:13:36

楼主在折腾的道路上找到了正确的好方向,加油!

jyssysz 发表于 2022-3-20 12:17:44

楼主参加这个活动,第二十三届全国学生信息素养提升实践活动。
http://huodong2000.ncet.edu.cn/

jyssysz 发表于 2022-3-20 12:19:05

中央电化教育馆举办的活动,正规,权威!

信标守护者 发表于 2022-3-20 12:40:21

楼主上初二下吧?
画这东西不应该用几何画板吗?
页: [1] 2 3 4 5
查看完整版本: 用turtle制作勾股海螺