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中用于去除空格的三个函数的使用小结
Apr 07 Python
python定时器(Timer)用法简单实例
Jun 04 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
Jul 30 Python
Python如何判断数独是否合法
Sep 08 Python
Python 获取中文字拼音首个字母的方法
Nov 28 Python
利用Python+阿里云实现DDNS动态域名解析的方法
Apr 01 Python
pandas实现to_sql将DataFrame保存到数据库中
Jul 03 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 Python
Jupyter Notebook 实现正常显示中文和负号
Apr 24 Python
Python HTMLTestRunner库安装过程解析
May 25 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
通过案例解析python鸭子类型相关原理
Oct 10 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使之能同时支持GIF和JPEG
2006/10/09 PHP
浅谈php命令行用法
2015/02/04 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
node.js中的fs.mkdirSync方法使用说明
2014/12/17 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
python网络编程学习笔记(一)
2014/06/09 Python
Python入门篇之数字
2014/10/20 Python
python实现网站的模拟登录
2016/01/04 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
英国女性时尚品牌:Apricot
2018/12/04 全球购物
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
自我评价格式
2014/01/06 职场文书
考试退步检讨书
2014/01/15 职场文书
贸易跟单员英文求职信
2014/04/19 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2014年信用社工作总结
2014/11/25 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
JS中如何优雅的使用async await详解
2021/10/05 Javascript
Go语言编译原理之源码调试
2022/08/05 Golang