栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python:绘制雪花动态图

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python:绘制雪花动态图

绘制雪花动态图

1、设置函数绘制雪花图;
2、设置函数绘制雪地图;
3、调用两个函数方法。

要求:

  • 控制雪花数量,随机设置雪花颜色RGB,随机设置雪花边数与大小,雪花生成的位置随机飘落。
  • 控制雪地数量,雪地设置为白色,透明度不一样,雪地地址大小随机。
  • 背景为晚上黑色。
import turtle as p
import random
# 创建雪花函数
def snow(snow_count): # snow_count:雪花数量
    p.hideturtle() # 隐藏笔
    p.speed(600) # 笔速
    p.pensize(2)# 笔粗
    for i in range(snow_count):  #设置颜色RGB
        r = random.random()
        g = random.random() 
        b = random.random() 
        p.pencolor(r, g, b) # 随机颜色
        p.pu() # 提笔
        p.goto(random.randint(-350, 350), random.randint(1, 270)) # goto笔前进
        p.pd() # 落笔
        dens = random.randint(6, 10) # 雪花的分叉数
        snowsize = random.randint(12, 16) # 单个雪花的大小
        for _ in range(dens):
            p.forward(snowsize) # 向当前画笔方向移动snowsize像素长度
            p.backward(snowsize) # 向当前画笔相反方向移动snowsize像素长度
            p.right(360 / dens) # 顺时针移动360 / dens度

# 创建雪地函数        
def ground(ground_line_count): # 雪地个数
    p.hideturtle() 
    p.speed(600)
    for i in range(ground_line_count):
        p.pensize(random.randint(5, 10))
        x = random.randint(-400, 350)
        y = random.randint(-280, -1) 
        r = -y / 280
        g = -y / 280 
        b = -y / 280
        p.pencolor(r, g, b) # 颜色为白色基调
        p.penup()
        p.goto(x, y) # 让画笔移动到 x,y位置
        p.pendown() 
        p.forward(random.randint(40, 100)) # 眼当前画笔方向向前移动40~100距离
        
def main():
    p.setup(800, 600, 0, 0) 
#     p.tracer(False) # 隐藏绘图,直接显示绘画结果
    p.bgcolor("black") # 背景黑色
    snow(33) # 调用雪花函数
    ground(33)# 调用雪地函数
    
main() # 调用主函数


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/444782.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号