数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 13584|回复: 7

NS模型交通模拟--自制python库

  [复制链接]
发表于 2016-10-5 17:19:13 | 显示全部楼层 |阅读模式
写今年B题的时候自己写了一个库(交通仿真的,自己觉得应该比网上流传的那个matlab版本适用面更广,效率也更高)
例子:
定义两条道路:
入口道路rd  
  • 长度为1000m
  • 车道数量为2
  • 最大限速60km/h
  • 初始时均匀放置100辆初速度为30km/h的小型汽车(每条车道都是100)
  • 边界条件为每离开一辆车就自动添加一辆新的相同初始条件的车
出口道路rd2:  
  • 长度为500m
  • 车道数量为2
  • 最大限速为60km/h
  • 初始时道路是空的

运行时截图:
( 车的颜色代表的是运行状态,红色代表车速很慢,黄色代表车速较慢,绿色代表畅通)


可以得到各种数据:
- 车辆大小
- 车辆上司机的视野距离
- 车辆当前速度
- 车辆行驶道路的速度限制
- 车辆的加速度
- 车辆的减速度
- 道路的车道数
- 道路的长度
etc
ps.每一辆运行的车、每一条道路的参数都可以独立定制

整个比赛期间零零散散写了上千行吧(当时写的比较急,不是OOP的)  后面觉得丢掉挺可惜的,就把它重构了好几次
现在放在github上面,等到项目真正成形了我会放到 PyPi上面的
github项目地址:
https://github.com/xiongbeer/Imp ... -Traffic-Simulation
使用的话,需要会Python和有一定的面向对象编程的知识

现在能稳定使用的库是basicroad,另外的库都是不完善的(正在努力开发)
欢迎大家使用,更欢迎Pull Request  一起开发~~~


 楼主| 发表于 2016-10-5 17:20:20 | 显示全部楼层
截图怎么不见了...如何补发呢0.0
 楼主| 发表于 2016-10-5 17:56:50 | 显示全部楼层
初始状态:
exp_2.png (9.47 KB, 下载次数: 0)
发表于 2016-10-6 01:40:00 | 显示全部楼层
赞一个!
网上有很多基于Javascript的模拟器,可以参考一下。

竞赛成绩怎么样?省奖已经评出来了吧。
 楼主| 发表于 2016-10-7 00:15:34 | 显示全部楼层
amao 发表于 2016-10-6 01:40
赞一个!
网上有很多基于Javascript的模拟器,可以参考一下。

感谢大大支持!~ 之前的确有有在github上找到过js的元胞自动机....但是好像是针对水流的
陕西区成绩还没出来.....学校厉害的人太多了  今年还有一个美赛特等提名的队伍又参加国赛了....不敢抱太大希望QAQ
发表于 2016-10-8 10:54:18 | 显示全部楼层
EmdeBoas 发表于 2016-10-7 00:15
感谢大大支持!~ 之前的确有有在github上找到过js的元胞自动机....但是好像是针对水流的
陕西区成绩还没 ...

每次竞赛都有偶然性,所以虽然结果重要,但不是那么重要,也说明不了所有的问题。
用js+html5的好处是容易可视化。像你这样用matplotlib画,比较费劲。
发表于 2016-10-8 11:17:27 | 显示全部楼层
EmdeBoas 发表于 2016-10-7 00:15
感谢大大支持!~ 之前的确有有在github上找到过js的元胞自动机....但是好像是针对水流的
陕西区成绩还没 ...

每次竞赛都有偶然性,所以虽然结果重要,但不是那么重要,也说明不了所有的问题。
有收获有提高就好。
用js+html5的好处是容易可视化。像你这样用matplotlib画,比较费劲。
 楼主| 发表于 2016-10-8 21:15:19 | 显示全部楼层
amao 发表于 2016-10-8 11:17
每次竞赛都有偶然性,所以虽然结果重要,但不是那么重要,也说明不了所有的问题。
有收获有提高就好。
...

谢谢您的鼓励和建议,单纯以matplotlib来可视化的确过于麻烦,但是我对于js并不熟悉....所以打算用 PyOpenGL + PyQt4来做可视化
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2021-10-24 05:03 , Processed in 0.066063 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表