微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在显示区域内投影负坐标

如何解决在显示区域内投影负坐标

我正在使用受限区域 minX=-3000m,maxX=3000m,minY=-3000m and maxY=3000m 测试 RandomWaypointmobility@display 字符串集 bgp=6000,6000。结果是坐标系负部分中的节点被渲染到显示/画布区域之外。

是否有一些参数可以用来告诉 OMNeT++/INET 坐标系的原点位于显示器/画布的中心?我试过了

*.visualizer.sceneVisualizer.sceneMaxX = 3000m
*.visualizer.sceneVisualizer.sceneMinX = -3000m
*.visualizer.sceneVisualizer.sceneMaxY = 3000m
*.visualizer.sceneVisualizer.sceneMinY = -3000m
*.visualizer.sceneVisualizer.sceneMaxZ = 3000m
*.visualizer.sceneVisualizer.sceneMinZ = -3000m

但它并没有像我希望的那样工作。

我意识到对于 RandomWaypointmobility,我只能使用仅具有正坐标的约束区域,这会将对象保留在画布内。但是,我的下一个任务是提取包含负坐标的移动性轨迹。我是否需要手动移动所有坐标以使它们变为正值并留在画布/显示中,还是有更智能的处理方式?

任何提示表示赞赏!

谢谢, 德拉戈斯

解决方法

您设置的实际上是 bgb=6000,6000 设置模块的大小。确实有计划将一个名为 bgp 的标签直接添加到 OMNeT++ 中,这会引入偏移量,但最终没有实现。原因是一旦你进入那个兔子洞,你还想实现缩放,然后旋转等。所以基于默认显示字符串的可视化尽可能简单,所有这些转换的东西都留给模型代码。>

确实,INET 中的 SceneCanvasVisualizer 有一个 viewScaleviewTranslation 参数可用于这些目的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。