Python绘制六角星、多角星、小太阳、小风车《打包好的各种游戏源码,画图源码》
日期: 2021-04-24 分类: 个人收藏 720次阅读

绘制如下图的,多角图形。思路。
(1)每个角是一个标准的等边三角形,把绘制等边三角形作为一个标准函数。
(2)观察图形,可以看出,画的三角形在不断的旋转和移动,因此第一步找到三角形画法起始点的海龟头旋转角度
(3)转动海龟头后,把海龟移动到新的绘制起点处。
(4)此时的海龟头刚好与绘制三角形的第一条直线的起始方向相反,因此在转动海龟头180度
(5)循环化三角即可
重点:如果计算,相邻两个三角旋转的角度。利用通用公式进行计算。先算内角,360/N,在算外角180-360/N
代码:
还有更多好玩的游戏和画图源码,关注公众号:学习py最风sao的方式
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()展现图

六角星
代码:
from turtle import * #引入turtle库
for i in range(6):
    forward(100)
    right(120)
    forward(100)
    left(60)
#第一个循环画外部边线
for n in range(6):
    right(60)
    forward(100)
#第二个循环画内部六边形
done()  #窗口画完后不自动关闭 
 
小风车
代码:
import turtle
turtle.speed("fastest")
turtle.pensize(1)
for y in range(200):
       turtle.forward(3*y)
       turtle.left(20)
       turtle.right(175) 
 


 除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
上一篇: 什么是哈希函数?
精华推荐

