Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在特定的视角内与另一个代理(anylogic)进行通信?_Java_Anylogic_Agent Based Modeling - Fatal编程技术网

Java 如何在特定的视角内与另一个代理(anylogic)进行通信?

Java 如何在特定的视角内与另一个代理(anylogic)进行通信?,java,anylogic,agent-based-modeling,Java,Anylogic,Agent Based Modeling,我尝试使用Anylogic步行库进行建模,其中一个代理(A)将与另一个代理(B)进行通信,前提是另一个代理在A的特定视角和弧半径范围内。传统的通信方式是定义特定的基于距离的通信,其中定义的距离在代理周围形成一个球体。但我想建立一个模型,即代理将无法与其他不在其视角范围内的代理进行通信(如圆锥投影&一定距离)。例如,代理不应该能够与他身后的其他人通信。我怎么能做到 此外,我还试图通过代理状态图对个体代理行为(上述行人代理)进行建模。不幸的是,在我的模型中,代理状态并没有根据通信而改变。是因为使用步

我尝试使用Anylogic步行库进行建模,其中一个代理(A)将与另一个代理(B)进行通信,前提是另一个代理在A的特定视角和弧半径范围内。传统的通信方式是定义特定的基于距离的通信,其中定义的距离在代理周围形成一个球体。但我想建立一个模型,即代理将无法与其他不在其视角范围内的代理进行通信(如圆锥投影&一定距离)。例如,代理不应该能够与他身后的其他人通信。我怎么能做到

此外,我还试图通过代理状态图对个体代理行为(上述行人代理)进行建模。不幸的是,在我的模型中,代理状态并没有根据通信而改变。是因为使用步行图书馆吗?我们能用状态图来模拟行人代理的行为吗?
如果有人能回答这些问题,那将是一个很大的帮助。

您可以只使用多边形节点或区域,并像这样使用它:

如果您想评估行人或代理是否在视野内,您需要获得该代理的x和y,并执行以下操作:

if(fieldOfVision.contains(x,y))
//communicate with that dude

非常感谢Felipe的回复!在我的模型中,当代理不断移动时,我如何才能找到X&Y的值,因为它不是固定值?如果您能指导我如何知道谁在这个多边形节点中,这将非常有帮助。此外,fieldOfVision是内置函数吗?另外,在代理状态图中绘制多边形节点后,如何将该区域/视觉信息合并到代码中?对不起,我的问题接二连三。我忍不住要从你这样的专家那里获得洞察力。再次感谢。你在问题中说,你找到在一定距离的代理,然后根据该过滤器找到他们的x,y坐标,并检查他们是否在视野内。。。