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 相关文章推荐
用Python进行基础的函数式编程的教程
Mar 31 Python
python显示生日是星期几的方法
May 27 Python
详解Python发送邮件实例
Jan 10 Python
使用python实现省市三级菜单效果
Jan 20 Python
Python的mysql数据库的更新如何实现
Jul 31 Python
Python实现的朴素贝叶斯分类器示例
Jan 06 Python
Python实现将Excel转换成xml的方法示例
Aug 25 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
python多线程扫描端口(线程池)
Sep 04 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
python pandas利用fillna方法实现部分自动填充功能
Mar 16 Python
python如何查看网页代码
Jun 07 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
用PHP控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
简单的pgsql pdo php操作类实现代码
2016/08/25 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
document.forms[].submit()使用介绍
2014/02/19 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
微信小程序实现留言功能
2018/10/31 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
js实现列表向上无限滚动
2020/01/13 Javascript
js实现简单音乐播放器
2020/06/30 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
python远程登录代码
2008/04/29 Python
python实现各进制转换的总结大全
2017/06/18 Python
python制作填词游戏步骤详解
2019/05/05 Python
python+pygame实现坦克大战
2019/09/10 Python
通过实例解析python描述符原理作用
2020/01/22 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
实习自我鉴定
2013/12/15 职场文书
教师个人的自我评价分享
2014/01/02 职场文书
寄语学生的话
2014/04/10 职场文书
安全生产大检查方案
2014/05/07 职场文书
酒店员工培训方案
2014/06/02 职场文书
人事任命书格式
2014/06/05 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
本溪关门山导游词
2015/02/09 职场文书
Django展示可视化图表的多种方式
2021/04/08 Python