我的Project Tango设备记录了两次Java TangoPoseData观察。如何计算这两个观测值之间的距离(以米为单位)?
答案 0 :(得分:0)
来自Coordinate Pair Frames Documentation:
对于所有坐标系对,测量单位为米。
也...
Project Tango使用右手的本地级框架作为START_OF_SERVICE和AREA_DESCRIPTION坐标系。该惯例将Z轴设置为与重力对齐,Z +向上指向,并且X-Y平面垂直于与地平面局部齐平的重力。
因此,对于使用 START_OF_SERVICE和AREA_DESCRIPTION坐标系的坐标,坐标可以与JTS Topology Suite等标准库一起使用。
public static Coordinate coordinate(TangoPoseData pose){
return new Coordinate(pose.translation[TangoPoseData.INDEX_TRANSLATION_X],
pose.translation[TangoPoseData.INDEX_TRANSLATION_Y],
pose.translation[TangoPoseData.INDEX_TRANSLATION_Z]);
}
坐标提供distance method:
double distanceInMeters = coordinate(pose1).distance(coordinate(pose2));