affine_trans_point_3d T_affine_trans_point_3d AffineTransPoint3d AffineTransPoint3d affine_trans_point_3d (Operator)
Name
affine_trans_point_3d T_affine_trans_point_3d AffineTransPoint3d AffineTransPoint3d affine_trans_point_3d
— Wendet eine beliebige affine 3D-Transformation auf Punkte an.
Signatur
Herror T_affine_trans_point_3d (const Htuple HomMat3D , const Htuple Px , const Htuple Py , const Htuple Pz , Htuple* Qx , Htuple* Qy , Htuple* Qz )
void AffineTransPoint3d (const HTuple& HomMat3D , const HTuple& Px , const HTuple& Py , const HTuple& Pz , HTuple* Qx , HTuple* Qy , HTuple* Qz )
HTuple HHomMat3D ::AffineTransPoint3d (const HTuple& Px , const HTuple& Py , const HTuple& Pz , HTuple* Qy , HTuple* Qz ) const
double HHomMat3D ::AffineTransPoint3d (double Px , double Py , double Pz , double* Qy , double* Qz ) const
static void HOperatorSet .AffineTransPoint3d (HTuple homMat3D , HTuple px , HTuple py , HTuple pz , out HTuple qx , out HTuple qy , out HTuple qz )
HTuple HHomMat3D .AffineTransPoint3d (HTuple px , HTuple py , HTuple pz , out HTuple qy , out HTuple qz )
double HHomMat3D .AffineTransPoint3d (double px , double py , double pz , out double qy , out double qz )
def affine_trans_point_3d (hom_mat_3d : Sequence[float], px : MaybeSequence[Union[float, int]], py : MaybeSequence[Union[float, int]], pz : MaybeSequence[Union[float, int]]) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]
def affine_trans_point_3d_s (hom_mat_3d : Sequence[float], px : MaybeSequence[Union[float, int]], py : MaybeSequence[Union[float, int]], pz : MaybeSequence[Union[float, int]]) -> Tuple[float, float, float]
Beschreibung
affine_trans_point_3d affine_trans_point_3d AffineTransPoint3d AffineTransPoint3d AffineTransPoint3d affine_trans_point_3d
wendet eine beliebige affine 3D-Transformation
(Skalierung, Drehung, Verschiebung) auf die Eingabepunkte
(Px Px Px Px px px
,Py Py Py Py py py
,Pz Pz Pz Pz pz pz
) an und liefert die Ergebnispunkte in
(Qx Qx Qx Qx qx qx
,Qy Qy Qy Qy qy qy
,Qz Qz Qz Qz qz qz
) zurück. Die Transformation wird durch
eine homogene Transformationsmatrix beschrieben, die in HomMat3D HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d
übergeben wird. Dies entspricht der folgenden Gleichung (Ein- und
Ausgabepunkte als homogene Vektoren dargestellt):
Die Transformationsmatrix kann mit Hilfe der Operatoren
hom_mat3d_identity hom_mat3d_identity HomMat3dIdentity HomMat3dIdentity HomMat3dIdentity hom_mat3d_identity
, hom_mat3d_scale hom_mat3d_scale HomMat3dScale HomMat3dScale HomMat3dScale hom_mat3d_scale
,
hom_mat3d_rotate hom_mat3d_rotate HomMat3dRotate HomMat3dRotate HomMat3dRotate hom_mat3d_rotate
, hom_mat3d_translate hom_mat3d_translate HomMat3dTranslate HomMat3dTranslate HomMat3dTranslate hom_mat3d_translate
etc. aufgebaut werden
oder das Resultat von pose_to_hom_mat3d pose_to_hom_mat3d PoseToHomMat3d PoseToHomMat3d PoseToHomMat3d pose_to_hom_mat3d
sein.
Falls zum Beispiel HomMat3D HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d
eine starre Transformation ist,
also aus Rotation und Translation besteht, werden die Punkte
folgendermaßen transformiert:
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Automatisch parallelisiert auf interner Datenebene.
Parameter
HomMat3D HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d
(input_control) hom_mat3d →
HHomMat3D , HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Eingabe-Transformationsmatrix.
Px Px Px Px px px
(input_control) point3d.x(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Eingabepunkt(e) (x-Koordinate).
Defaultwert: 64
Wertevorschläge: 0, 16, 32, 64, 128, 256, 512, 1024
Py Py Py Py py py
(input_control) point3d.y(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Eingabepunkt(e) (y-Koordinate).
Defaultwert: 64
Wertevorschläge: 0, 16, 32, 64, 128, 256, 512, 1024
Pz Pz Pz Pz pz pz
(input_control) point3d.z(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Eingabepunkt(e) (z-Koordinate).
Defaultwert: 64
Wertevorschläge: 0, 16, 32, 64, 128, 256, 512, 1024
Qx Qx Qx Qx qx qx
(output_control) point3d.x(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Ausgabepunkt(e) (x-Koordinate).
Qy Qy Qy Qy qy qy
(output_control) point3d.y(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Ausgabepunkt(e) (y-Koordinate).
Qz Qz Qz Qz qz qz
(output_control) point3d.z(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Ausgabepunkt(e) (z-Koordinate).
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
affine_trans_point_3d affine_trans_point_3d AffineTransPoint3d AffineTransPoint3d AffineTransPoint3d affine_trans_point_3d
den Wert TRUE. Gegebenenfalls wird eine
Fehlerbehandlung durchgeführt.
Vorgänger
hom_mat3d_translate hom_mat3d_translate HomMat3dTranslate HomMat3dTranslate HomMat3dTranslate hom_mat3d_translate
,
hom_mat3d_translate_local hom_mat3d_translate_local HomMat3dTranslateLocal HomMat3dTranslateLocal HomMat3dTranslateLocal hom_mat3d_translate_local
,
hom_mat3d_scale hom_mat3d_scale HomMat3dScale HomMat3dScale HomMat3dScale hom_mat3d_scale
,
hom_mat3d_scale_local hom_mat3d_scale_local HomMat3dScaleLocal HomMat3dScaleLocal HomMat3dScaleLocal hom_mat3d_scale_local
,
hom_mat3d_rotate hom_mat3d_rotate HomMat3dRotate HomMat3dRotate HomMat3dRotate hom_mat3d_rotate
,
hom_mat3d_rotate_local hom_mat3d_rotate_local HomMat3dRotateLocal HomMat3dRotateLocal HomMat3dRotateLocal hom_mat3d_rotate_local
Nachfolger
hom_mat3d_translate hom_mat3d_translate HomMat3dTranslate HomMat3dTranslate HomMat3dTranslate hom_mat3d_translate
,
hom_mat3d_translate_local hom_mat3d_translate_local HomMat3dTranslateLocal HomMat3dTranslateLocal HomMat3dTranslateLocal hom_mat3d_translate_local
,
hom_mat3d_scale hom_mat3d_scale HomMat3dScale HomMat3dScale HomMat3dScale hom_mat3d_scale
,
hom_mat3d_scale_local hom_mat3d_scale_local HomMat3dScaleLocal HomMat3dScaleLocal HomMat3dScaleLocal hom_mat3d_scale_local
,
hom_mat3d_rotate hom_mat3d_rotate HomMat3dRotate HomMat3dRotate HomMat3dRotate hom_mat3d_rotate
,
hom_mat3d_rotate_local hom_mat3d_rotate_local HomMat3dRotateLocal HomMat3dRotateLocal HomMat3dRotateLocal hom_mat3d_rotate_local
Modul
Foundation