pose_to_hom_mat3d (Pose, HomMat3D)
affine_trans_point_3d (HomMat3D, [0, 0], [0, 0], [0, 1], Qx, Qy, Qz)
halcon是这么做的
「
if (Qz[1] - Qz[0] > 0)
Pose[4] := Pose[4] + 180
Pose[5] := -Pose[5]
endif
」
另外一种容易理解的方式
「
if (Qz[1] - Qz[0] > 0)
create_pose (0, 0, 0, 0, 180, 0, 'Rp+T', 'gba', 'point', Pose1)
pose_compose (Pose, Pose1, PoseCompose)
endif
」
结果是一样的。绕自身旋转轴旋转的方式,更容易理解和记住。