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中的decode()方法的使用
May 18 Python
Python运算符重载详解及实例代码
Mar 07 Python
使用Python 统计高频字数的方法
Jan 31 Python
python字符串循环左移
Mar 08 Python
在python image 中安装中文字体的实现方法
Aug 22 Python
python实现连续变量最优分箱详解--CART算法
Nov 22 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
Feb 16 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
Mar 23 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 Python
PyChon中关于Jekins的详细安装(推荐)
Dec 28 Python
python re模块和正则表达式
Mar 24 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不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
2011/08/12 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
js中匿名函数的创建与调用方法分析
2014/12/19 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
javascript 封装Date日期类实例详解
2017/05/28 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
微信小程序实现下拉框功能
2019/07/16 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
详解实现vue的数据响应式原理
2021/01/20 Vue.js
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
Python如何把多个PDF文件合并代码实例
2020/02/13 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
html5模拟平抛运动(模拟小球平抛运动过程)
2013/07/25 HTML / CSS
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
2016/03/12 面试题
保安岗位职责
2014/02/21 职场文书
医学生自我鉴定范文
2014/03/26 职场文书
铁路安全事故反思
2014/04/26 职场文书
小学校长先进事迹材料
2014/05/13 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
经典毕业生求职信
2014/07/12 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
公司财务经理岗位职责
2015/04/08 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python