Anylogic-视线

时间:2018-11-12 18:10:57

标签: anylogic

是否有一种方法可以检查假设有建筑物和演示标记的两个特工之间是否存在视线? (意味着一个功能,该功能可以检查两个特工在建筑物和墙壁之间是否可以看到对方)

2 个答案:

答案 0 :(得分:0)

欢迎来到SOF。

不,没有内置函数afaik。您将不得不手动编写一些代码,这是可能的,但并非直接。如果您需要帮助,则需要提供更多详细信息。

答案 1 :(得分:0)

这是我过去曾经做过的事情。唯一的问题是,如果您需要每秒进行数千次该计算,则速度可能会很慢。而且只有2D模式。如果您需要3D,则想法没什么不同。

1)将您所有的建筑节点以及所有可能在这两个特工之间造成障碍的一切都添加到集合中。您可能想在建筑物周围放置一个矩形节点,以将所有内容保留在一个集合中(假设您正在对节点使用空间标记)

2)生成增量距离增量(例如等于1),并找到穿过两个代理的直线的角度。

3)从agent1的位置到agent2的位置循环。会是这样的:

trait2