hom_mat3d_rotate_local
— Add a rotation to a homogeneous 3D transformation matrix.
hom_mat3d_rotate_local( : : HomMat3D, Phi, Axis : HomMat3DRotate)
hom_mat3d_rotate_local
adds a rotation by the angle Phi
around the axis passed in the parameter Axis
to the homogeneous 3D
transformation matrix HomMat3D
and returns the resulting matrix in
HomMat3DRotate
. The axis can be specified by passing the strings
'x', 'y', or 'z', or by passing a vector [x,y,z] as a tuple.
The rotation is described by a 3×3 rotation matrix
R. In contrast to hom_mat3d_rotate
, it
is performed relative to the local coordinate system, i.e., the coordinate
system described by HomMat3D
; this corresponds to the following
chain of transformation matrices:
Axis
= 'x' :
Axis
= 'y' :
Axis
= 'z' :
Axis
= [x,y,z]:
The fixed point of the transformation is the origin of the local
coordinate system, i.e., this point remains unchanged when
transformed using HomMat3DRotate
.
Note that homogeneous matrices are stored row-by-row as a tuple; the last row is usually not stored because it is identical for all homogeneous matrices that describe an affine transformation. For example, the homogeneous matrix is stored as the tuple [ra, rb, rc, td, re, rf, rg, th, ri, rj, rk, tl]. However, it is also possible to process full 4×4 matrices, which represent a projective 4D transformation.
HomMat3D
(input_control) hom_mat3d →
(real)
Input transformation matrix.
Phi
(input_control) angle.rad →
(real / integer)
Rotation angle.
Default value: 0.78
Suggested values: 0.1, 0.2, 0.3, 0.4, 0.78, 1.57, 3.14
Typical range of values: 0
≤
Phi
≤
6.28318530718
Axis
(input_control) string(-array) →
(string / real / integer)
Axis, to be rotated around.
Default value: 'x'
Suggested values: 'x' , 'y' , 'z'
HomMat3DRotate
(output_control) hom_mat3d →
(real)
Output transformation matrix.
If the parameters are valid, the operator
hom_mat3d_rotate_local
returns
2 (H_MSG_TRUE). If necessary, an exception is raised.
hom_mat3d_identity
,
hom_mat3d_translate_local
,
hom_mat3d_scale_local
,
hom_mat3d_rotate_local
hom_mat3d_translate_local
,
hom_mat3d_scale_local
,
hom_mat3d_rotate_local
hom_mat3d_invert
,
hom_mat3d_identity
,
hom_mat3d_rotate
,
pose_to_hom_mat3d
,
hom_mat3d_to_pose
,
hom_mat3d_compose
Foundation