2017-04-29 回答

# 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 实现 几何布朗运动相关推荐

  1. python模拟行星运动_如何用PYTHON程序模拟一个太阳系?

    描述一个星系和描述一所学校有的思维方式是一样的,其实和python关系不大.都可用面向对象思维来抽象.描述某个物体通常都要先思考几个问题:该物体是什么? 该物体有什么特征? 该物体有什么能力? 该物体 ...

  2. python md5加密_如何用python“优雅”的调用有道翻译?

    前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js"斗争"的 ...

  3. python做网站开发_如何用Python做网站开发

    很多人想要用Python做网站开发,但是又不知从何入手,接下来小编介绍用Python做网站开发需要学习哪些知识,又应该以什么样的顺序来学. 第一步:HTML(超文本标记语言)是网页的核心,学好HTML ...

  4. 怎么用python启动谷歌浏览器_如何用python控制浏览器

    selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口.selenium webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持进行web ...

  5. python怎么读_如何用Python读写文件

    前面我们已经介绍了很多Python相关的基础知识,大家是不是对Python已经有了进一步认识了呢?作为人工智能时代的热门编程语言,开始接触并学习Python的孩子越来越多,家长们都不想让自己的孩子落于 ...

  6. python旅游推荐系统_如何用Python搭建一个简单的推荐系统?

    推荐系统的相关知识我们已在前文中提到,在这篇文章中,我们会介绍如何用Python来搭建一个简单的推荐系统. 本文使用的数据集是MovieLens数据集,该数据集由明尼苏达大学的Grouplens研究小 ...

  7. 用python开启相机_如何用Python打开realsenseD435相机并获取相机参数

    如何用Python打开realsenseD435相机 import pyrealsense2 as rs import numpy as np import cv2 if __name__ == &q ...

  8. python读取二进制文件_如何用python读取二进制文件?

    我发现用Python读取二进制文件特别困难.你能帮我一把吗?我需要读取这个文件,在Fortran 90中,该文件很容易被int*4 n_particles, n_groups real*4 group ...

  9. python求平均值_如何用python求平均值

    学习了Python相关数据类型,函数的知识后,利用字符串的分割实现了输入任意多个数据,并计算其平均值的小程序.思路是接收输入的字符串,以空格为分隔符,将分割的数据存入列表(lst1)中,将lst1中的 ...

  10. python小助手_如何用python写个人专属群聊提醒小助手?

    前言 大家还记得教会父母玩微信是什么时候吗?父母学会后,我们的生活就发生了「质」的变化,父母也许会吐槽你的微信头像不好,要你换一个头像. 最近 pk哥 又被母后大人吐槽了,原因是亲戚微信群里某个亲戚生 ...

最新文章

  1. Java程序员【资源大全】
  2. OFFICE——Word与Excel交互处理——邮件合并
  3. python保持登录状态_Python-保持登录状态进行接口测试
  4. 排除某个类_Spark Troubleshooting(故障排除)
  5. 《Web前端工程师修炼之道(原书第4版)》——互联网与Web
  6. STC学习:八位数码管滚动显示
  7. python分离数字_python从字符串中提取数字_filter
  8. 中国住户收入调查(CHIP)数据及问卷(1988-2008年)
  9. Informatic学习总结_day03
  10. MATLAB常见非线性可视化绘制方法-分岔图与庞加莱截面(混沌可视化、Poincare截面、Logistic、Henon、Lorenz、Rossler、Duffing系统)
  11. Linux性能分析工具perf基础使用介绍
  12. java后台定时弹框提醒活动脖子(myeclipse)
  13. 定时启动你的Android App
  14. OpenWrt软路由安装可道云
  15. woo 10到任意进制,任意数值到十进制 之间转换
  16. WINDOWS网络服务第一章预习导图
  17. F - Queen Collision (模拟题,找规律)
  18. FCKeditor源代码分析(一)-----fckeditor.js的中文注释分析(原创)
  19. 潮位调和分析工具学习(2)——使用T_tide时遇到的问题
  20. W: 由于文件‘git_2.17.1-1ubuntu0.8.dsc‘无法被用户‘_apt‘访问,已脱离沙盒并提权为根用户来进行下载。 - pkgAcquire::Run (13: 权限不够)

热门文章

  1. C#实现简单的加密防止拷贝复制软件
  2. 拆解一个老式电感电容表
  3. JS基础知识点大汇总
  4. Smartbi制作报表教程:热销车型分类排名总表
  5. 谷歌浏览器保存网页为PDF
  6. Spring AOP中的责任链设计模式
  7. Oracle 小写金额转换为大写金额
  8. 获赞36w,小红书近期的流行趋势是什么?
  9. 互联网晚报 | 1月17日 星期一 | 飞猪推出买机票送核酸检测券服务;洋码头首个文旅场景免税店开业;2022年春运今日开启...
  10. 计算机毕业设计ssm毕业论文管理系统b909r系统+程序+源码+lw+远程部署