You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AnyLogic中如何获取多层嵌套嵌入式Agent的全局显示坐标?

解决AnyLogic嵌套旋转Agent的全局坐标获取问题

要在main中获取与agent2动画显示完全一致的全局坐标,需考虑多层Agent的坐标变换(包括平移、旋转),以下是两种可行方案:

  • 方案一:使用内置全局坐标方法(推荐)
    如果agent2是空间类型Agent(如Ped、Vehicle或自定义空间Agent),直接调用agent2.getGlobalX()和agent2.getGlobalY()即可。这两个方法会自动计算所有父级Agent(agent1、main)的位置偏移与旋转变换,返回的坐标完全匹配动画显示位置。

  • 方案二:手动坐标转换
    若agent2不是空间Agent,可通过层级转换计算全局坐标:

    1. 先获取agent2在agent1空间内的局部坐标:agent2.getX()、agent2.getY()
    2. 调用agent1的坐标变换方法,将局部坐标转换为main空间下的全局坐标:
      Point2D agent2GlobalPos = agent1.transformPoint(agent2.getX(), agent2.getY());
      

    该方法会自动叠加agent1的旋转角度与位置偏移,得到正确的全局坐标。

内容的提问来源于stack exchange,提问作者Anat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 01:10:11