gpt4 book ai didi

ros - 如果 Point 和 Vector3 几何消息完全相同,它们之间有什么区别?

转载 作者:行者123 更新时间:2023-12-04 03:05:47 24 4
gpt4 key购买 nike

我对 ROS 很陌生,但我正在操纵由 geometry_msgs/Point 组成的自定义消息。和 geometry_msgs/Vector3消息。当我打印出这条消息时,我注意到 PointVector3具有相同的 3 个属性( xyz ),这让我很好奇,因为它看起来多余......对吗?

进一步挖掘源代码后,发现 PointVector3完全一样。它们都由 float x 组成, float y , 和 float z .

但是看完docs ,这两个消息之间似乎存在差异。文档提到如果用户想要应用翻译,则应使用 Point ,而应使用 Vector3 仅表示方向(我猜是大小?)。

由于这两个消息的定义完全相同,我认为是否可以将翻译应用于 Point我也可以将翻译应用到 Vector3 .我没有看到 Point 之间有什么区别吗?和 Vector3那不是他们的名字吗?

最佳答案

即使 PointVector3具有相同的内容,tf2库检查消息的类型并对其采取不同的行动,具体取决于它是否是 PointVector3 .

最终,这是开发人员为了突出 Point 之间的概念区别而做出的决定。 (空间中不能旋转的点)和 Vector3 (在空间中没有确定位置但可以旋转的方向)。

开发人员不必进行这种区分,事实上许多物理库使用单个 Vector3处理方向、点、速度等的数据类型。

与颜色(红色、绿色、蓝色)和日期(年、月、日)以及许多其他可以表示为 Vector3 的东西一样。 ,最终归结为需要人为区分,以使用户和其他程序员更容易理解代码。

关于ros - 如果 Point 和 Vector3 几何消息完全相同,它们之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44703102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com