EmdeBoas 发表于 2016-10-5 17:19:13

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

写今年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/Improved-Nagel-Schreckenberg-Traffic-Simulation
使用的话,需要会Python和有一定的面向对象编程的知识

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


EmdeBoas 发表于 2016-10-5 17:20:20

截图怎么不见了...如何补发呢0.0

EmdeBoas 发表于 2016-10-5 17:56:50

初始状态:

一段时间后平稳运行:

amao 发表于 2016-10-6 01:40:00

赞一个!
网上有很多基于Javascript的模拟器,可以参考一下。

竞赛成绩怎么样?省奖已经评出来了吧。

EmdeBoas 发表于 2016-10-7 00:15:34

amao 发表于 2016-10-6 01:40
赞一个!
网上有很多基于Javascript的模拟器,可以参考一下。



感谢大大支持!~ 之前的确有有在github上找到过js的元胞自动机....但是好像是针对水流的
陕西区成绩还没出来.....学校厉害的人太多了今年还有一个美赛特等提名的队伍又参加国赛了....不敢抱太大希望QAQ

amao 发表于 2016-10-8 10:54:18

EmdeBoas 发表于 2016-10-7 00:15
感谢大大支持!~ 之前的确有有在github上找到过js的元胞自动机....但是好像是针对水流的
陕西区成绩还没 ...

每次竞赛都有偶然性,所以虽然结果重要,但不是那么重要,也说明不了所有的问题。
用js+html5的好处是容易可视化。像你这样用matplotlib画,比较费劲。

amao 发表于 2016-10-8 11:17:27

EmdeBoas 发表于 2016-10-7 00:15
感谢大大支持!~ 之前的确有有在github上找到过js的元胞自动机....但是好像是针对水流的
陕西区成绩还没 ...

每次竞赛都有偶然性,所以虽然结果重要,但不是那么重要,也说明不了所有的问题。
有收获有提高就好。
用js+html5的好处是容易可视化。像你这样用matplotlib画,比较费劲。

EmdeBoas 发表于 2016-10-8 21:15:19

amao 发表于 2016-10-8 11:17
每次竞赛都有偶然性,所以虽然结果重要,但不是那么重要,也说明不了所有的问题。
有收获有提高就好。
...

谢谢您的鼓励和建议,单纯以matplotlib来可视化的确过于麻烦,但是我对于js并不熟悉....所以打算用 PyOpenGL + PyQt4来做可视化
页: [1]
查看完整版本: NS模型交通模拟--自制python库