set_origin_poseT_set_origin_poseSetOriginPoseSetOriginPose (Operator)


set_origin_poseT_set_origin_poseSetOriginPoseSetOriginPose — Translate the origin of a 3D pose.


set_origin_pose( : : PoseIn, DX, DY, DZ : PoseNewOrigin)

Herror T_set_origin_pose(const Htuple PoseIn, const Htuple DX, const Htuple DY, const Htuple DZ, Htuple* PoseNewOrigin)

void SetOriginPose(const HTuple& PoseIn, const HTuple& DX, const HTuple& DY, const HTuple& DZ, HTuple* PoseNewOrigin)

HPose HPose::SetOriginPose(double DX, double DY, double DZ) const

static void HOperatorSet.SetOriginPose(HTuple poseIn, HTuple DX, HTuple DY, HTuple DZ, out HTuple poseNewOrigin)

HPose HPose.SetOriginPose(double DX, double DY, double DZ)


set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPose translates the origin of the 3D pose PoseInPoseInPoseInPoseInposeIn by the vector given by DXDXDXDXDX, DYDYDYDYDY, and DZDZDZDZDZ and returns the result in PoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginposeNewOrigin. Note that the translation is performed relative to the local coordinate system of the pose itself. For example, if PoseInPoseInPoseInPoseInposeIn describes the pose of an object in camera coordinates, PoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginposeNewOrigin is obtained by translating the object's coordinate system by DXDXDXDXDX along its own x-axis (and so on for the other axes) and not along the x-axis of the camera coordinate system. This corresponds to the following chain of transformations:

Thus, set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPose is a shortcut for the following sequence of operator calls:

pose_to_hom_mat3d (PoseIn, HomMat3DIn) hom_mat3d_translate_local (HomMat3DIn, DX, DY, DZ, HomMat3DNewOrigin) hom_mat3d_to_pose (HomMat3DNewOrigin, PoseNewOrigin)

A typical application of this operator when defining a world coordinate system by placing the standard calibration plate on the plane of measurements. In this case, the external camera parameters returned by camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibration correspond to a coordinate system that lies above the measurement plane, because the coordinate system of the calibration plate is located on its surface and the plate has a certain thickness. To correct the pose, call set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPose with the translation vector (0,0,D), where D is the thickness of the calibration plate.

Execution Information


PoseInPoseInPoseInPoseInposeIn (input_control)  pose HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

original 3D pose.

Number of elements: 7

DXDXDXDXDX (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

translation of the origin in x-direction.

Default value: 0

DYDYDYDYDY (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

translation of the origin in y-direction.

Default value: 0

DZDZDZDZDZ (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

translation of the origin in z-direction.

Default value: 0

PoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginposeNewOrigin (output_control)  pose HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

new 3D pose after applying the translation.

Number of elements: 7


set_origin_poseset_origin_poseSetOriginPoseSetOriginPoseSetOriginPose returns 2 (H_MSG_TRUE) if all parameter values are correct. If necessary, an exception is raised.

Possible Predecessors

create_posecreate_poseCreatePoseCreatePoseCreatePose, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPose, camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibration, hand_eye_calibrationhand_eye_calibrationHandEyeCalibrationHandEyeCalibrationHandEyeCalibration

Possible Successors

write_posewrite_poseWritePoseWritePoseWritePose, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3d, image_points_to_world_planeimage_points_to_world_planeImagePointsToWorldPlaneImagePointsToWorldPlaneImagePointsToWorldPlane, contour_to_world_plane_xldcontour_to_world_plane_xldContourToWorldPlaneXldContourToWorldPlaneXldContourToWorldPlaneXld

See also