hom_mat3d_rotate_localT_hom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local (Operator)

Name

hom_mat3d_rotate_localT_hom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local — Fügt eine Rotation zu einer homogenen 3D-Transformationsmatrix hinzu.

Signatur

hom_mat3d_rotate_local( : : HomMat3D, Phi, Axis : HomMat3DRotate)

Herror T_hom_mat3d_rotate_local(const Htuple HomMat3D, const Htuple Phi, const Htuple Axis, Htuple* HomMat3DRotate)

void HomMat3dRotateLocal(const HTuple& HomMat3D, const HTuple& Phi, const HTuple& Axis, HTuple* HomMat3DRotate)

HHomMat3D HHomMat3D::HomMat3dRotateLocal(const HTuple& Phi, const HTuple& Axis) const

HHomMat3D HHomMat3D::HomMat3dRotateLocal(double Phi, const HString& Axis) const

HHomMat3D HHomMat3D::HomMat3dRotateLocal(double Phi, const char* Axis) const

HHomMat3D HHomMat3D::HomMat3dRotateLocal(double Phi, const wchar_t* Axis) const   (Nur Windows)

static void HOperatorSet.HomMat3dRotateLocal(HTuple homMat3D, HTuple phi, HTuple axis, out HTuple homMat3DRotate)

HHomMat3D HHomMat3D.HomMat3dRotateLocal(HTuple phi, HTuple axis)

HHomMat3D HHomMat3D.HomMat3dRotateLocal(double phi, string axis)

def hom_mat3d_rotate_local(hom_mat_3d: Sequence[float], phi: Union[float, int], axis: MaybeSequence[Union[str, float, int]]) -> Sequence[float]

Beschreibung

hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local fügt zur homogenen 3D-Transformationsmatrix HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d eine Rotation um den Winkel PhiPhiPhiPhiphiphi um die im Parameter AxisAxisAxisAxisaxisaxis übergebene Achse hinzu. Die Achse kann dabei entweder durch die Strings 'x', 'y' oder 'z' oder als Vektor [x,y,z] in Form eines Tupels festgelegt werden.

Die Rotation wird beschrieben durch die 3×3 Rotationsmatrix R. Im Gegensatz zu hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate wird sie relativ zum lokalen Koordinatensystem, das durch HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d beschrieben ist, ausgeführt; dies entspricht der folgenden Kette von Transformationsmatrizen:

AxisAxisAxisAxisaxisaxis = 'x'"x""x""x""x""x":

AxisAxisAxisAxisaxisaxis = 'y'"y""y""y""y""y":

AxisAxisAxisAxisaxisaxis = 'z'"z""z""z""z""z":

AxisAxisAxisAxisaxisaxis = [x,y,z]:

Der Fixpunkt der Rotation ist der Ursprung des lokalen Koordinatensystems, d.h. dieser Punkt bleibt unverändert, wenn man ihn mit HomMat3DRotateHomMat3DRotateHomMat3DRotateHomMat3DRotatehomMat3DRotatehom_mat_3drotate transformiert.

Achtung

Homogene Transformationsmatrizen werden zeilenweise in Form eines Tupels abgespeichert; die letzte Zeile wird im Normalfall nicht gespeichert, da sie für alle affinen Transformationsmatrizen identisch ist. Zum Beispiel wird die Matrix als das Tupel [ra, rb, rc, td, re, rf, rg, th, ri, rj, rk, tl] gespeichert. Es ist aber auch möglich, volle 4×4 Matrizen, die eine projektive 3D-Transformation darstellen können, zu verarbeiten.

Ausführungsinformationen

Parameter

HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d (input_control)  hom_mat3d HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Eingabe-Transformationsmatrix.

PhiPhiPhiPhiphiphi (input_control)  angle.rad HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Rotationswinkel.

Defaultwert: 0.78

Wertevorschläge: 0.1, 0.2, 0.3, 0.4, 0.78, 1.57, 3.14

Typischer Wertebereich: 0 ≤ Phi Phi Phi Phi phi phi ≤ 6.28318530718

AxisAxisAxisAxisaxisaxis (input_control)  string(-array) HTupleMaybeSequence[Union[str, float, int]]HTupleHtuple (string / real / integer) (string / double / int / long) (HString / double / Hlong) (char* / double / Hlong)

Achse, um die gedreht wird.

Defaultwert: 'x' "x" "x" "x" "x" "x"

Wertevorschläge: 'x'"x""x""x""x""x", 'y'"y""y""y""y""y", 'z'"z""z""z""z""z"

HomMat3DRotateHomMat3DRotateHomMat3DRotateHomMat3DRotatehomMat3DRotatehom_mat_3drotate (output_control)  hom_mat3d HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Ausgabe-Transformationsmatrix.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local den Wert TRUE. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentityHomMat3dIdentityhom_mat3d_identity, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_local, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local

Nachfolger

hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_local, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local

Siehe auch

hom_mat3d_inverthom_mat3d_invertHomMat3dInvertHomMat3dInvertHomMat3dInverthom_mat3d_invert, hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentityHomMat3dIdentityhom_mat3d_identity, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose, hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dComposehom_mat3d_compose

Modul

Foundation