hom_mat3d_scale_localT_hom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local (Operator)

Name

hom_mat3d_scale_localT_hom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local — Fügt eine Skalierung zu einer homogenen 3D-Transformationsmatrix hinzu.

Signatur

hom_mat3d_scale_local( : : HomMat3D, Sx, Sy, Sz : HomMat3DScale)

Herror T_hom_mat3d_scale_local(const Htuple HomMat3D, const Htuple Sx, const Htuple Sy, const Htuple Sz, Htuple* HomMat3DScale)

void HomMat3dScaleLocal(const HTuple& HomMat3D, const HTuple& Sx, const HTuple& Sy, const HTuple& Sz, HTuple* HomMat3DScale)

HHomMat3D HHomMat3D::HomMat3dScaleLocal(const HTuple& Sx, const HTuple& Sy, const HTuple& Sz) const

HHomMat3D HHomMat3D::HomMat3dScaleLocal(double Sx, double Sy, double Sz) const

static void HOperatorSet.HomMat3dScaleLocal(HTuple homMat3D, HTuple sx, HTuple sy, HTuple sz, out HTuple homMat3DScale)

HHomMat3D HHomMat3D.HomMat3dScaleLocal(HTuple sx, HTuple sy, HTuple sz)

HHomMat3D HHomMat3D.HomMat3dScaleLocal(double sx, double sy, double sz)

def hom_mat3d_scale_local(hom_mat_3d: Sequence[float], sx: Union[float, int], sy: Union[float, int], sz: Union[float, int]) -> Sequence[float]

Beschreibung

hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local fügt zur homogenen 3D-Transformationsmatrix HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d eine Skalierung um die Skalierungsfaktoren SxSxSxSxsxsx, SySySySysysy und SzSzSzSzszsz hinzu und liefert die resultierende Matrix in HomMat3DScaleHomMat3DScaleHomMat3DScaleHomMat3DScalehomMat3DScalehom_mat_3dscale zurück. Die Skalierung wird beschrieben durch die 3×3 Skalierungsmatrix S. Im Gegensatz zu hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScalehom_mat3d_scale wird sie relativ zum lokalen Koordinatensystem, das durch HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d beschrieben ist, ausgeführt; dies entspricht der folgenden Kette von Transformationsmatrizen:

Der Fixpunkt der Skalierung ist der Ursprung des lokalen Koordinatensystems, d.h. dieser Punkt bleibt unverändert, wenn man ihn mit HomMat3DScaleHomMat3DScaleHomMat3DScaleHomMat3DScalehomMat3DScalehom_mat_3dscale 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.

SxSxSxSxsxsx (input_control)  number HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Skalierungsfaktor in x-Richtung.

Defaultwert: 2

Wertevorschläge: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112

Restriktion: Sx != 0

SySySySysysy (input_control)  number HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Skalierungsfaktor in y-Richtung.

Defaultwert: 2

Wertevorschläge: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112

Restriktion: Sy != 0

SzSzSzSzszsz (input_control)  number HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Skalierungsfaktor in z-Richtung.

Defaultwert: 2

Wertevorschläge: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112

Restriktion: Sz != 0

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

Ausgabe-Transformationsmatrix.

Ergebnis

hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local liefert den Wert TRUE, falls alle drei Skalierungsfaktoren verschieden von 0 sind. 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_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScalehom_mat3d_scale, 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