萝卜头IT论坛

搜索
查看: 4448|回复: 36
收起左侧

用turtle制作勾股海螺

[复制链接]
发表于 2022-3-19 21:41:12 | 显示全部楼层 |阅读模式
这周讲勾股定理,班主任突发奇想,让我编一个程序来画勾股海螺图(如图所示)
OIP-C.jpg


说起来容易,但对于我这个小白来说,实践起来真的很难!
因为要想知道画笔每次转动角度,还涉及到了三角函数知识(应该是九年级的吧?)
最终,after 4 hours……
I did it!
屏幕截图 2022-03-19 213744.png
屏幕截图 2022-03-19 213828.png
勾股海螺.png
(有种要崩溃的感觉
我肯定绕了弯路,恳请大佬指点!


源码:
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[n])
    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)

PT.py

761 Bytes, 下载次数: 223

回复

使用道具 举报

 楼主| 发表于 2022-3-19 21:44:29 | 显示全部楼层
顺便又编了一个计算机课脱控程序,打包成EXE,周一给计算机老师一个惊喜
屏幕截图 2022-03-19 214238.png
屏幕截图 2022-03-19 214223.png
回复

使用道具 举报

发表于 2022-3-20 10:43:37 | 显示全部楼层
LZ自学能力很强
回复

使用道具 举报

发表于 2022-3-20 11:23:53 | 显示全部楼层
可以学习折腾自己喜欢的东西好幸福,江苏的学生羡慕的想哭
回复

使用道具 举报

发表于 2022-3-20 12:13:36 | 显示全部楼层
楼主在折腾的道路上找到了正确的好方向,加油!
回复

使用道具 举报

发表于 2022-3-20 12:17:44 | 显示全部楼层
楼主参加这个活动,第二十三届全国学生信息素养提升实践活动。
http://huodong2000.ncet.edu.cn/
回复

使用道具 举报

发表于 2022-3-20 12:19:05 | 显示全部楼层
中央电化教育馆举办的活动,正规,权威!
回复

使用道具 举报

发表于 2022-3-20 12:40:21 | 显示全部楼层
楼主上初二下吧?
画这东西不应该用几何画板吗?
回复

使用道具 举报

联系我们(Contact)|手机版|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2024-4-27 03:01 , Processed in 0.099555 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表