Python turtle 绘制六角星、多角星、小太阳

 

绘制如下图的,多角图形。思路。

(1)每个角是一个标准的等边三角形,把绘制等边三角形作为一个标准函数。

(2)观察图形,可以看出,画的三角形在不断的旋转和移动,因此第一步找到三角形画法起始点的海龟头旋转角度

(3)转动海龟头后,把海龟移动到新的绘制起点处。

(4)此时的海龟头刚好与绘制三角形的第一条直线的起始方向相反,因此在转动海龟头180度

(5)循环化三角即可

重点:如果计算,相邻两个三角旋转的角度。利用通用公式进行计算。先算内角,360/N,在算外角180-360/N

 

import turtle

L=50  #边长
N=12   #角的个数
jiaodu=180-360/(N)  #每个三个型相对于上一个三角的角度,left转动
tl=turtle.Turtle() #海龟的对象
#tl.speed(0)
tl.screen.delay(0) #绘画延时为0

def f1():
    tl.fillcolor("yellow")  #三角形填充颜色
    tl.begin_fill()   #填充开始
    for i in range(3):
        tl.fillcolor()
        tl.forward(L)
        tl.right(120)
    tl.end_fill() #填充结束


#画外部的三角
for i in range(N):
    tl.left(jiaodu) #下一个三角形的角度
    tl.penup()
    tl.forward(L)#新三角的起始位置
    tl.pendown()
    tl.right(180) #转动到画三角形的相对0度
    f1()

#画内部的多边形
tl.fillcolor("red") #填充颜色
tl.begin_fill()
for i in range(N):
    tl.left(jiaodu)
    tl.forward(L)
    tl.right(180) #转动到画三角形的相对0度
tl.end_fill()
tl.screen.mainloop()

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值