turtle画图实例之 直角三角形旋转
2022-06-19 本文已影响0人
小鱼儿_yzh

效果图:
![]()
分析:
直角三角形按照一定角度旋转,形成一个完整的规则图形。
算法:
- 导入 turtle 库
- 定义画笔的粗细、颜色、速度
- 定义一个画直角三角形的函数
- 画一个直角三角形
- 旋转一个角度
- 循环执行4-5步,循环次数根据旋转角度决定。
代码:
from turtle import *
speed(8)
width(2)
color('red')
def draw_sanjiaoxing():
fd(80)
rt(90)
fd(80)
goto(0,0)
a=0
for i in range(12):
seth(a)
draw_sanjiaoxing()
a=a+30
ht()
动画效果:

改进程序:
- 给画三角形函数设置两个参数 l_1 和 l_2 ,做为直角边的边长;
- 把旋转角度和循环次数联系起来,设置旋转角度 b,则循环次数为 360/b
这样,通过改变参数三个参数 l_1 、l_2 、b ,就可以画出不同的图形。
改进后代码
from turtle import *
speed(8)
width(2)
color('red')
def draw_sanjiaoxing(l_1,l_2):
fd(l_1)
rt(90)
fd(l_2)
goto(0,0)
a=0
b=45
l_1=80
l_2=80
for i in range(int(360/b)):
seth(a)
draw_sanjiaoxing(l_1,l_2)
a=a+b
ht()


