ClassesClassesClassesClasses | | | | Operators

set_origin_poseT_set_origin_poseSetOriginPoseset_origin_poseSetOriginPoseSetOriginPose (Operator)

Name

set_origin_poseT_set_origin_poseSetOriginPoseset_origin_poseSetOriginPoseSetOriginPose — Translate the origin of a 3D pose.

Signature

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)

Herror 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

void HOperatorSetX.SetOriginPose(
[in] VARIANT PoseIn, [in] VARIANT DX, [in] VARIANT DY, [in] VARIANT DZ, [out] VARIANT* PoseNewOrigin)

VARIANT HPoseX.SetOriginPose(
[in] VARIANT PoseIn, [in] double DX, [in] double DY, [in] double DZ)

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

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

Description

set_origin_poseset_origin_poseSetOriginPoseset_origin_poseSetOriginPoseSetOriginPose translates the origin of the 3D pose PoseInPoseInPoseInPoseInPoseInposeIn by the vector given by DXDXDXDXDXDX, DYDYDYDYDYDY, and DZDZDZDZDZDZ and returns the result in PoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginposeNewOrigin. Note that the translation is performed relative to the local coordinate system of the pose itself. For example, if PoseInPoseInPoseInPoseInPoseInposeIn describes the pose of an object in camera coordinates, PoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginposeNewOrigin is obtained by translating the object's coordinate system by DXDXDXDXDXDX 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_poseSetOriginPoseset_origin_poseSetOriginPoseSetOriginPose 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_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration 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_poseSetOriginPoseset_origin_poseSetOriginPoseSetOriginPose with the translation vector (0,0,D), where D is the thickness of the calibration plate.

Parallelization

Parameters

PoseInPoseInPoseInPoseInPoseInposeIn (input_control)  pose HPose, HTupleHTupleHTupleHPoseX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

original 3D pose.

Number of elements: 7

DXDXDXDXDXDX (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

translation of the origin in x-direction.

Default value: 0

DYDYDYDYDYDY (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

translation of the origin in y-direction.

Default value: 0

DZDZDZDZDZDZ (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

translation of the origin in z-direction.

Default value: 0

PoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginPoseNewOriginposeNewOrigin (output_control)  pose HPose, HTupleHTupleHTupleHPoseX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

new 3D pose after applying the translation.

Number of elements: 7

Result

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

Possible Predecessors

create_posecreate_poseCreatePosecreate_poseCreatePoseCreatePose, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPosehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPose, camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration, hand_eye_calibrationhand_eye_calibrationHandEyeCalibrationhand_eye_calibrationHandEyeCalibrationHandEyeCalibration

Possible Successors

write_posewrite_poseWritePosewrite_poseWritePoseWritePose, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3d, image_points_to_world_planeimage_points_to_world_planeImagePointsToWorldPlaneimage_points_to_world_planeImagePointsToWorldPlaneImagePointsToWorldPlane, contour_to_world_plane_xldcontour_to_world_plane_xldContourToWorldPlaneXldcontour_to_world_plane_xldContourToWorldPlaneXldContourToWorldPlaneXld

See also

hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocal

Module

Foundation


ClassesClassesClassesClasses | | | | Operators