我想在这里创建一个流量模拟器:http://www.doobybrain.com/wp-content/uploads/2008/03/traffic-simulation.gif但是我对此并不深入。

我会创建班车。每辆车都有自己的颜色,位置等。

我可以用数组创建道路。

但是如何告诉汽车去哪里?我可以听到你的想法吗?

编辑:是否禁止从好程序员那里获得新想法?为什么有些人想关闭此线程?还是问这样的问题?我不了解他们。 :(

EDIT2:下次我会去游戏者。到目前为止,我喜欢这些想法。谢谢!

有帮助吗?

解决方案

有一个基于Java的软件包,称为 加工 这是针对艺术家和非或初学者程序员,其中包含一些非常好的可视化功能,同时呈现简化的开发环境(例如,没有“公共静态void main(string [] args)”。查看显示粒子系统的演示,以了解如何建模单个汽车。此代码调用有python的演绎 pyprocessing 这是相同的简单编程习语。

这是我的小 “特斯拉”小程序 - 在两个球形电极之间移动小鼠。

其他提示

你不告诉汽车去哪里。无论如何,由于其速度。通过向前看(从现在起,还有一些时间段,还有一条路吗?)您可以查看是否需要调整速度。

道路不是阵列;这是矩阵或位图。您不能在角落里走那么快,也不能从道路上飞来。

首先清楚地制定目标和范围总是一个好主意。在这种情况下,您将考虑建模的程度(涉及的物理)和汽车运动的复杂性(碰撞,弯曲道路等)。

我发现,如果您可以用普通英语(或我的情况下荷兰语)清楚地陈述您的概念,那么编写代码会变得容易得多,有时几乎是微不足道的。

编辑

为了清楚起见,当我谈论的是速度时,我说的是一个矢量,该向量既有幅度(10mph)又有方向。您的向量将有2个元素, Xy, ,除非您还想要飞机或想要建模山丘等(您不想要山丘,因为您还必须考虑重力:) z 使用位置和速度。

每辆车都有一个位置,速度,方向/轨迹/目的地。基于此信息和其他汽车的相对位置,(最终)存在“路标”,您可以计算每辆车的下一个位置,以及汽车是否会放慢或加速。

当您在模拟中添加新车时,只需设置其初始位置,速度和目的地即可。

您还需要考虑碰撞检测,不一定是汽车本身之间的碰撞,但是当在其他车辆附近刹车时,您需要一种告诉代理(AI)的方法。您可以使用每辆车周围的边界球进行此操作。

我鼓励您为此使用自己的项目。叫做 Garlicsim, ,它是制作模拟的平台,它将非常适合您想到的模拟。 (顺便, 就在昨天 我发行了大型版本,版本0.4)。

都是Python,它也会给您一个不错的GUI。

如果您对此很认真,我可以帮助您编写Simpack。如果要这样做,请在邮件列表上发送邮件。

模拟器背后的理论是Queing理论。我在母校的一门课程中找到了一个页面,该页面将向您展示一些关键字,可以帮助您 - https://www.erasmus.cvut.cz/prospectus/fts/11tho-e.html. 。模拟器本身将“更容易”。

第一个问题:模拟的范围是什么?

您可以在离散时间或与完整的物理系统(甚至可以在发动机中的化学反应建模!)一样,在离散时间或复杂的情况下,可以做到这一点,也可以像一维的蜂窝自动机一样简单。 。

在两者之间,有很多可能性。考虑一下您可以做什么以及想学的东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top