当前位置: 首页 > wzjs >正文

外贸网站手机无人区离线地图app

外贸网站,手机无人区离线地图app,中国建设银行东莞市网站,做静态网站的步骤系列文章 序号直达链接Tkinter1Python李峋同款可写字版跳动的爱心2Python跳动的双爱心3Python蓝色跳动的爱心4Python动漫烟花5Python粒子烟花Turtle1Python满屏飘字2Python蓝色流星雨3Python金色流星雨4Python漂浮爱心5Python爱心光波①6Python爱心光波②7Python满天繁星8Pytho…

七彩花朵

系列文章

序号直达链接
Tkinter
1Python李峋同款可写字版跳动的爱心
2Python跳动的双爱心
3Python蓝色跳动的爱心
4Python动漫烟花
5Python粒子烟花
Turtle
1Python满屏飘字
2Python蓝色流星雨
3Python金色流星雨
4Python漂浮爱心
5Python爱心光波①
6Python爱心光波②
7Python满天繁星
8Python五彩气球
9Python白色飘雪
10Python七彩花朵
11Python 3D星空
12Python大雪纷飞
13Python一闪一闪亮星星
14Python爱心泡泡
15Python爱心射线
16Python圣诞礼物
17Python礼物圣诞树
18Python浪漫星空
19Python飞舞蝙蝠
20Python万圣礼物
21Python蓝色飘雪
Pygame
1Python跨年烟花
2Python炫酷烟花
3Python黑客帝国字母雨
敬请期待……

写在前面

Python绘制七彩花朵动画的完整代码。

技术需求

  1. Turtle 图形库

    • 利用 turtle 模块实现图形绘制与动画控制。作为 Python 的标准图形化编程库,turtle 提供了直观的绘图功能。
    • 通过 Pen 类创建画笔对象,灵活调整其位置、颜色、方向和路径,以绘制花朵及其动态效果。
  2. 随机数生成

    • 借助 random 模块生成随机数,使花朵的位置、颜色、大小及运动速度等属性随机化,提升动画的多样性和趣味性。
    • random.randint()random.uniform() 分别用于生成整数和浮点数,确保花朵属性的随机分配。
  3. 数学函数

    • 运用 math 模块中的 sin() 函数,模拟花朵的左右摆动。借助正弦波,实现花朵在水平方向上的周期性运动,营造自然漂浮的效果。
  4. 面向对象编程(OOP)

    • 定义 Flower 类,每朵花均为该类的实例。此类包含花朵的属性(如位置、颜色、大小)和方法(如移动、绘制),赋予每个花朵独立的行为和状态。
  5. 动画与画面更新

    • 使用 tu.tracer(0)tu.update() 调节动画更新频率,消除画面闪烁,确保动画流畅。
    • 在每次画面更新前调用 t.clear() 清除先前内容,实现动态变化效果。
  6. 无限循环与事件驱动

    • 采用 while True 实现无限循环,持续更新和绘制花朵,保证动画连续运行。
    • tu.mainloop() 启动主事件循环,维持图形窗口开启状态,直至用户关闭窗口。

完整代码

import turtle as tu
import random as ra
import math
tu.setup(1.0, 1.0)
t = tu.Pen()
t.ht()
colors = ['red','skyblue','orange','yellow','lime','pink','violet']
class Flower():    #每个花朵(花朵类)def __init__(self):self.r = ra.randint(8,12)        #花朵的半径self.x = ra.randint(-1000,1000)   #花朵的横坐标self.y = ra.randint(-500,500)     #花朵的纵坐标self.f = ra.uniform(-3.14,3.14)   #花朵左右移动呈正弦函数self.speed = ra.randint(5,10)     #花朵移动速度self.color = ra.choice(colors)    #花朵的颜色self.outline = 1                  #花朵的外框大小(可不要)def move(self):                    #花朵移动函数if self.y >= -500:            #当花朵还在画布中时self.y -= self.speed     #设置上下移动速度self.x += self.speed * math.sin(self.f)    #设置左右移动速度self.f += 0.1            #可以理解成标志,改变左右移动的方向else:                        #当花朵漂出了画布时,重新生成一个花朵self.r = ra.randint(8,12)self.x = ra.randint(-1000,1000)self.y = 500self.f = ra.uniform(-3.14,3.14)self.speed = ra.randint(5,10)self.color = ra.choice(colors)self.outline = 1
……

代码分析

这段代码利用 Python 的 Turtle 图形库和随机模块,通过定义一个花朵类来模拟屏幕上随机漂浮的花朵。核心在于主循环中随机生成花朵的位置、颜色、大小及运动方式,使花朵呈现出自由飘动的效果。以下是代码的详细分析。

1. 模块导入与初始设置

import turtle as tu
import random as ra
import math
tu.setup(1.0, 1.0)
t = tu.Pen()
t.ht()
colors = ['red', 'skyblue', 'orange', 'yellow', 'lime', 'pink', 'violet']
  • turtle 模块用于图形绘制和动画,此处别名为 tu
  • random 模块生成随机数,支持花朵的随机生成与运动。
  • math 模块提供数学函数,如正弦函数 (math.sin) 控制花朵的左右移动。
  • tu.setup(1.0, 1.0) 设置画布为全屏模式。
  • t = tu.Pen() 创建 Pen 对象用于绘图,t.ht() 隐藏画笔箭头。
  • colors 列表存储花朵可能的颜色,供随机选择。

2. 花朵类(Flower)

花朵类是动画的核心,描述每朵花的属性和行为。

2.1 构造方法(__init__

class Flower:def __init__(self):self.r = ra.randint(8, 12)        # 花朵半径self.x = ra.randint(-1000, 1000)   # 横坐标self.y = ra.randint(-500, 500)     # 纵坐标self.f = ra.uniform(-3.14, 3.14)   # 左右移动角度self.speed = ra.randint(5, 10)     # 移动速度self.color = ra.choice(colors)     # 颜色self.outline = 1                   # 外框大小
  • self.r 设定花朵半径,范围 8 至 12。
  • self.xself.y 分别设定横纵坐标,范围分别为 -1000 至 1000 和 -500 至 500。
  • self.f 决定左右摇动程度,范围 -π 至 π。
  • self.speed 设定移动速度,范围 5 至 10。
  • self.color 随机选择颜色。
  • self.outline 固定外框大小为 1。

2.2 移动方法(move

该方法更新花朵坐标,通过正弦函数实现水平波动运动。

  • self.y -= self.speed 实现向下移动。
  • self.x += self.speed * math.sin(self.f) 通过正弦函数实现周期性左右摆动。
  • self.f += 0.1 更新方向,改变摆动周期。
  • self.y < -500,表示花朵移出画布,重新生成并重置纵坐标为 500。

2.3 绘制方法(draw

控制是否绘制路径,移动到初始位置,设置方向和颜色,填充形状,绘制花瓣。

  • t.penup()t.pendown() 控制绘制路径。
  • t.goto(self.x, self.y) 移动至初始位置。
  • t.setheading(self.x) 设置方向。
  • t.color(self.color) 设置颜色。
  • t.begin_fill()t.end_fill() 填充形状。
  • for i in range(5): 循环绘制花瓣,使用 t.circle(self.r, extent=144) 绘制圆弧形花瓣,形成花朵整体形态。

3. 主程序

  • Flowers 列表存储所有花朵对象。
  • for i in range(100): 循环创建 100 个花朵对象。
  • tu.bgcolor('black') 设置背景色为黑色,突出花朵颜色。

4. 动画循环

  • tu.tracer(0) 禁用自动更新,避免闪烁,提高效率。
  • t.clear() 清除旧图形。
  • for i in range(50): 控制每帧 50 朵花的移动和绘制。
  • Flowers[i].move()Flowers[i].draw() 分别移动和绘制花朵。
  • tu.update() 更新画面显示花朵。

5. 事件循环

  • tu.mainloop() 启动主事件循环,持续显示窗口并响应输入。

6. 总结

此代码通过随机生成、运动和绘制花朵,实现了动态漂浮效果。每次运行时花朵表现不同,结合 turtle 库和 random 模块,展示了 Python 在图形和动画编程中的能力。

写在后面

我是一只有趣的兔子,感谢你的喜欢!


文章转载自:

http://wMaO1XFx.pcrjL.cn
http://XsZfO6Yp.pcrjL.cn
http://DGrI1irJ.pcrjL.cn
http://h4YjUpBz.pcrjL.cn
http://7PqpaETz.pcrjL.cn
http://yxHGnx9X.pcrjL.cn
http://lDIed91d.pcrjL.cn
http://zNkdSqbJ.pcrjL.cn
http://Y0PuKa6z.pcrjL.cn
http://01RrsYT4.pcrjL.cn
http://o1pW6RTY.pcrjL.cn
http://Hqr15M8A.pcrjL.cn
http://4HaXPz7i.pcrjL.cn
http://E4Dsm2bb.pcrjL.cn
http://U5tD5hFS.pcrjL.cn
http://m1HRss9C.pcrjL.cn
http://q5n55oUh.pcrjL.cn
http://f58RA4wm.pcrjL.cn
http://t2V0WO77.pcrjL.cn
http://TnEFXHaw.pcrjL.cn
http://clvpCzeQ.pcrjL.cn
http://NGmYbM9l.pcrjL.cn
http://EJfIuxOe.pcrjL.cn
http://IjAKvG2P.pcrjL.cn
http://UmVSUupZ.pcrjL.cn
http://OXMpsgW7.pcrjL.cn
http://v1CtoC9Y.pcrjL.cn
http://4vOu6Vgy.pcrjL.cn
http://wR2OjfxL.pcrjL.cn
http://FgqygmCZ.pcrjL.cn
http://www.dtcms.com/wzjs/628459.html

相关文章:

  • 淘宝内部优惠券网站怎样做的福州企业宣传片制作公司
  • 怎么建立一个网站让外国人浏览建设网站最强
  • 腾讯云主机能给几个网站备案故事式软文广告300字
  • 专门做黄漫的网站曲靖手机网站建设
  • 网站备案有什么坏处长春模板网站建站
  • vf建设银行网站百度贴吧官网入口
  • 网站开发讲座梧州论坛手机红豆网
  • 人才招聘网站开发 源代码源码做网站教程
  • 关键词那种网站桔子seo工具
  • 河北省和城乡住房建设厅网站明年做哪个网站能致富
  • 餐馆效果图网站上海 .net网站建设
  • 小程序代理模板seo信息网
  • 郑州做网站hnqfu网站建设工期安排表
  • 新网 网站建立百度搜索广告价格
  • 东莞网站建制作公司网站建设比较好的公司
  • 免费浏览的不良网站比较好的前端网站
  • 如何在局域网内做网站策划公司起名
  • 美发营销型网站一级a做爰片视频免费观看网站
  • 常州青竹网络做网站3d建模软件有哪些
  • 嘉兴电子商务网站建设瑞安网站建设优化
  • 石家庄个人建站网站策划建站制作企业
  • 凡科建站电话咨询软装设计用什么软件
  • 服务器网站建设建站教程pdf
  • 电影网站带采集哪个建站系统适合外贸网站建设
  • 中文个人网站欣赏怎么用域名建网站
  • 网站设计版式什么是企业营销型网站?
  • php做网站完整视频学设计的基础是什么
  • 沈阳求做商城 网站做网站运营工资是不是很低
  • 做网站江西商务网站设计实训报告
  • 网站建设与设计意义网站关键词描述