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开发的单词频率统计工具wordsworth使用方法
Jun 25 Python
Python中捕捉详细异常信息的代码示例
Sep 18 Python
python多线程操作实例
Nov 21 Python
python采集百度百科的方法
Jun 05 Python
Linux下python制作名片示例
Jul 20 Python
python 获取微信好友列表的方法(微信web)
Feb 21 Python
PyCharm中代码字体大小调整方法
Jul 29 Python
扩展Django admin的list_filter()可使用范围方法
Aug 21 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
Python sorted排序方法如何实现
Mar 31 Python
python 从list中随机取值的方法
Nov 16 Python
python中slice参数过长的处理方法及实例
Dec 15 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
Terran剧情介绍
2020/03/14 星际争霸
php 中文处理函数集合
2008/08/27 PHP
PHP计算2点经纬度之间的距离代码
2013/08/12 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
PHP简单实现断点续传下载的方法
2015/09/25 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
javascript简单实现滑动菜单效果的方法
2015/07/27 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序
2017/02/19 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
2018/11/14 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
2020/08/10 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
python GUI模拟实现计算器
2020/06/22 Python
Gap中国官网:美式休闲风服饰
2017/02/05 全球购物
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
水务局局长岗位职责
2013/11/28 职场文书
网站客服岗位职责
2014/04/05 职场文书
争做文明公民倡议书
2014/08/29 职场文书
论群众路线学习笔记
2014/11/06 职场文书
大连导游词
2015/02/12 职场文书
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python
java中用float时,数字后面加f,这样是为什么你知道吗
2021/09/04 Java/Android