python开发之thread实现布朗运动的方法


Posted in Python onNovember 11, 2015

本文实例讲述了python开发之thread实现布朗运动的方法。分享给大家供大家参考,具体如下:

这里我将给大家介绍有关python中thread来实现布朗运动的一个例子

下面是运行效果:

python开发之thread实现布朗运动的方法

代码部分:

# Brownian motion -- an example of a multi-threaded Tkinter program.
from tkinter import *
import random
import threading
import time
import sys
#画布大小
WIDTH = 400
HEIGHT = 300
SIGMA = 10
BUZZ = 2
RADIUS = 2
LAMBDA = 10
FILL = 'red'
stop = 0 # Set when main loop exits
def particle(canvas):
  r = RADIUS
  x = random.gauss(WIDTH/2.0, SIGMA)
  y = random.gauss(HEIGHT/2.0, SIGMA)
  p = canvas.create_oval(x-r, y-r, x+r, y+r, fill=FILL)
  while not stop:
    dx = random.gauss(0, BUZZ)
    dy = random.gauss(0, BUZZ)
    dt = random.expovariate(LAMBDA)
    try:
      canvas.move(p, dx, dy)
    except TclError:
      break
    time.sleep(dt)
def main():
  global stop
  root = Tk()
  canvas = Canvas(root, width=WIDTH, height=HEIGHT)
  canvas.pack(fill='both', expand=1)
  #粒子数目
  np = 30
  if sys.argv[1:]:
    np = int(sys.argv[1])
  for i in range(np):
    t = threading.Thread(target=particle, args=(canvas,))
    t.start()
  try:
    root.mainloop()
  finally:
    stop = 1
main()

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
Python实现批量更换指定目录下文件扩展名的方法
Sep 19 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
Mar 05 Python
Python实现的维尼吉亚密码算法示例
Apr 12 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
PyQt5 多窗口连接实例
Jun 19 Python
Django ORM 聚合查询和分组查询实现详解
Aug 09 Python
python爬取Ajax动态加载网页过程解析
Sep 05 Python
python matplotlib 绘图 和 dpi对应关系详解
Mar 14 Python
Python tornado上传文件的功能
Mar 26 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
Apr 20 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
Apr 27 Python
python开发之基于thread线程搜索本地文件的方法
Nov 11 #Python
python开发之tkinter实现图形随鼠标移动的方法
Nov 11 #Python
Python复制文件操作实例详解
Nov 10 #Python
Python中对元组和列表按条件进行排序的方法示例
Nov 10 #Python
Python 文件管理实例详解
Nov 10 #Python
Python list操作用法总结
Nov 10 #Python
python控制台中实现进度条功能
Nov 10 #Python
You might like
php中文本操作的类
2007/03/17 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
2009/11/14 Javascript
javascript 隔行换色函数代码
2010/10/24 Javascript
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
jQuery封装的tab选项卡插件分享
2015/06/16 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
浅析jQuery操作select控件的取值和设值
2016/12/07 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
JavaScript惰性载入函数实例分析
2019/03/27 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
Python常用知识点汇总
2016/05/08 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
python等差数列求和公式前 100 项的和实例
2020/02/25 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
数控专业推荐信范文
2013/12/02 职场文书
社团活动总结
2014/04/28 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
民主评议党员个人总结
2015/02/13 职场文书
工会文体活动总结
2015/05/07 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers
使用Apache Camel表达REST服务的方法
2022/06/10 Servers