dual_quat_trans_line_3d T_dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d (Operator)
Name
dual_quat_trans_line_3d T_dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d
— Transformieren einer 3D-Linie mit einer dualen Einheitsquaternion.
Signatur
dual_quat_trans_line_3d ( : : DualQuaternion , LineFormat , LineDirectionX , LineDirectionY , LineDirectionZ , LineMomentOrPointX , LineMomentOrPointY , LineMomentOrPointZ : TransLineDirectionX , TransLineDirectionY , TransLineDirectionZ , TransLineMomentOrPointX , TransLineMomentOrPointY , TransLineMomentOrPointZ )
Herror T_dual_quat_trans_line_3d (const Htuple DualQuaternion , const Htuple LineFormat , const Htuple LineDirectionX , const Htuple LineDirectionY , const Htuple LineDirectionZ , const Htuple LineMomentOrPointX , const Htuple LineMomentOrPointY , const Htuple LineMomentOrPointZ , Htuple* TransLineDirectionX , Htuple* TransLineDirectionY , Htuple* TransLineDirectionZ , Htuple* TransLineMomentOrPointX , Htuple* TransLineMomentOrPointY , Htuple* TransLineMomentOrPointZ )
void DualQuatTransLine3d (const HTuple& DualQuaternion , const HTuple& LineFormat , const HTuple& LineDirectionX , const HTuple& LineDirectionY , const HTuple& LineDirectionZ , const HTuple& LineMomentOrPointX , const HTuple& LineMomentOrPointY , const HTuple& LineMomentOrPointZ , HTuple* TransLineDirectionX , HTuple* TransLineDirectionY , HTuple* TransLineDirectionZ , HTuple* TransLineMomentOrPointX , HTuple* TransLineMomentOrPointY , HTuple* TransLineMomentOrPointZ )
void HDualQuaternion ::DualQuatTransLine3d (const HString& LineFormat , const HTuple& LineDirectionX , const HTuple& LineDirectionY , const HTuple& LineDirectionZ , const HTuple& LineMomentOrPointX , const HTuple& LineMomentOrPointY , const HTuple& LineMomentOrPointZ , HTuple* TransLineDirectionX , HTuple* TransLineDirectionY , HTuple* TransLineDirectionZ , HTuple* TransLineMomentOrPointX , HTuple* TransLineMomentOrPointY , HTuple* TransLineMomentOrPointZ ) const
void HDualQuaternion ::DualQuatTransLine3d (const HString& LineFormat , double LineDirectionX , double LineDirectionY , double LineDirectionZ , double LineMomentOrPointX , double LineMomentOrPointY , double LineMomentOrPointZ , double* TransLineDirectionX , double* TransLineDirectionY , double* TransLineDirectionZ , double* TransLineMomentOrPointX , double* TransLineMomentOrPointY , double* TransLineMomentOrPointZ ) const
void HDualQuaternion ::DualQuatTransLine3d (const char* LineFormat , double LineDirectionX , double LineDirectionY , double LineDirectionZ , double LineMomentOrPointX , double LineMomentOrPointY , double LineMomentOrPointZ , double* TransLineDirectionX , double* TransLineDirectionY , double* TransLineDirectionZ , double* TransLineMomentOrPointX , double* TransLineMomentOrPointY , double* TransLineMomentOrPointZ ) const
void HDualQuaternion ::DualQuatTransLine3d (const wchar_t* LineFormat , double LineDirectionX , double LineDirectionY , double LineDirectionZ , double LineMomentOrPointX , double LineMomentOrPointY , double LineMomentOrPointZ , double* TransLineDirectionX , double* TransLineDirectionY , double* TransLineDirectionZ , double* TransLineMomentOrPointX , double* TransLineMomentOrPointY , double* TransLineMomentOrPointZ ) const
(Nur Windows)
static void HOperatorSet .DualQuatTransLine3d (HTuple dualQuaternion , HTuple lineFormat , HTuple lineDirectionX , HTuple lineDirectionY , HTuple lineDirectionZ , HTuple lineMomentOrPointX , HTuple lineMomentOrPointY , HTuple lineMomentOrPointZ , out HTuple transLineDirectionX , out HTuple transLineDirectionY , out HTuple transLineDirectionZ , out HTuple transLineMomentOrPointX , out HTuple transLineMomentOrPointY , out HTuple transLineMomentOrPointZ )
void HDualQuaternion .DualQuatTransLine3d (string lineFormat , HTuple lineDirectionX , HTuple lineDirectionY , HTuple lineDirectionZ , HTuple lineMomentOrPointX , HTuple lineMomentOrPointY , HTuple lineMomentOrPointZ , out HTuple transLineDirectionX , out HTuple transLineDirectionY , out HTuple transLineDirectionZ , out HTuple transLineMomentOrPointX , out HTuple transLineMomentOrPointY , out HTuple transLineMomentOrPointZ )
void HDualQuaternion .DualQuatTransLine3d (string lineFormat , double lineDirectionX , double lineDirectionY , double lineDirectionZ , double lineMomentOrPointX , double lineMomentOrPointY , double lineMomentOrPointZ , out double transLineDirectionX , out double transLineDirectionY , out double transLineDirectionZ , out double transLineMomentOrPointX , out double transLineMomentOrPointY , out double transLineMomentOrPointZ )
Beschreibung
Der Operator dual_quat_trans_line_3d dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d DualQuatTransLine3d
transformiert eine in
Plücker-Koordinaten dargestellte 3D-Line mit einer starren 3D-Abbildung,
die durch die duale Einheitsquaternion DualQuaternion DualQuaternion DualQuaternion DualQuaternion dualQuaternion
gegeben ist.
Eine kurze Einführung in duale Quaternionen, Plücker-Koordinaten und
die verwendete Notation findet sich in der Dokumentation zu diesem Kapitel
(Transformationen / Duale Quaternionen ).
Eine Linie in Plücker-Koordinaten ist gegeben durch
ihre Richtung
mit
und
ihr Moment
mit
. Sie kann als duale
Quaternion
mit Skalarteil 0 repräsentiert werden.
Die Linie
kann durch die starre 3D-Abbildung, die durch
eine duale Einheitsquaternion
repräsentiert ist,
sehr einfach transformiert werden:
Die resultierende duale Quaternion
hat ebenfalls einen
Skalarteil von 0 und enthält direkt die Richtung und das Moment der
transformierten Linie in ihren Vektorteilen.
Die Linienrichtung muss in LineDirectionX LineDirectionX LineDirectionX LineDirectionX lineDirectionX
, LineDirectionY LineDirectionY LineDirectionY LineDirectionY lineDirectionY
und LineDirectionZ LineDirectionZ LineDirectionZ LineDirectionZ lineDirectionZ
übergeben werden. Zu beachten ist, dass die
Länge des übergebenen Richtungsvektors 1 sein muss, um sinnvolle
Ergebnisse zu erhalten, d.h.
.
Wird für LineFormat LineFormat LineFormat LineFormat lineFormat
'moment' "moment" "moment" "moment" "moment" gewählt, muss in
LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX lineMomentOrPointX
, LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY lineMomentOrPointY
und
LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ lineMomentOrPointZ
das Moment der Linie übergeben werden.
Alternativ ist es auch möglich, anstatt des Moments der Linie
einen beliebigen Punkt auf der Linie zu übergeben.
Dazu muss für LineFormat LineFormat LineFormat LineFormat lineFormat
'point' "point" "point" "point" "point" gewählt werden und in
LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX lineMomentOrPointX
, LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY lineMomentOrPointY
und
LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ lineMomentOrPointZ
müssen die Koordinaten des Punktes übergeben
werden.
Die Parameter der transformierten Linie werden in
TransLineDirectionX TransLineDirectionX TransLineDirectionX TransLineDirectionX transLineDirectionX
, TransLineDirectionY TransLineDirectionY TransLineDirectionY TransLineDirectionY transLineDirectionY
,
TransLineDirectionZ TransLineDirectionZ TransLineDirectionZ TransLineDirectionZ transLineDirectionZ
, TransLineMomentOrPointX TransLineMomentOrPointX TransLineMomentOrPointX TransLineMomentOrPointX transLineMomentOrPointX
,
TransLineMomentOrPointY TransLineMomentOrPointY TransLineMomentOrPointY TransLineMomentOrPointY transLineMomentOrPointY
und TransLineMomentOrPointZ TransLineMomentOrPointZ TransLineMomentOrPointZ TransLineMomentOrPointZ transLineMomentOrPointZ
im
Format, das in LineFormat LineFormat LineFormat LineFormat lineFormat
angegeben ist, zurückgegeben.
Wird für LineFormat LineFormat LineFormat LineFormat lineFormat
'point' "point" "point" "point" "point" gewählt, wird der Punkt
auf der Linie mit dem kürzesten Abstand zum Koordinatensystemursprung
zurückgegeben.
Achtung
dual_quat_trans_line_3d dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d DualQuatTransLine3d
liefert nur dann sinnvolle Ergebnisse,
wenn in DualQuaternion DualQuaternion DualQuaternion DualQuaternion dualQuaternion
eine duale Einheitsquaternion übergeben
wird und die Länge des Richtungsvektors der Linie 1 ist.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Parameter
DualQuaternion DualQuaternion DualQuaternion DualQuaternion dualQuaternion
(input_control) dual_quaternion →
HDualQuaternion , HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Duale Einheitsquaternion, die die Transformation darstellt.
LineFormat LineFormat LineFormat LineFormat lineFormat
(input_control) string →
HTuple HTuple Htuple (string) (string ) (HString ) (char* )
Format der Linienparameter.
Defaultwert:
'moment'
"moment"
"moment"
"moment"
"moment"
Werteliste: 'moment' "moment" "moment" "moment" "moment" , 'point' "point" "point" "point" "point"
LineDirectionX LineDirectionX LineDirectionX LineDirectionX lineDirectionX
(input_control) point3d.x(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X-Komponente des Richtungsvektors der Linie.
LineDirectionY LineDirectionY LineDirectionY LineDirectionY lineDirectionY
(input_control) point3d.y(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y-Komponente des Richtungsvektors der Linie.
LineDirectionZ LineDirectionZ LineDirectionZ LineDirectionZ lineDirectionZ
(input_control) point3d.z(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z-Komponente des Richtungsvektors der Linie.
LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX lineMomentOrPointX
(input_control) point3d.x(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X-Komponente des Momentenvektors oder eines Punktes
der Linie.
LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY lineMomentOrPointY
(input_control) point3d.y(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y-Komponente des Momentenvektors oder eines Punktes
der Linie.
LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ lineMomentOrPointZ
(input_control) point3d.z(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z-Komponente des Momentenvektors oder eines Punktes
der Linie.
TransLineDirectionX TransLineDirectionX TransLineDirectionX TransLineDirectionX transLineDirectionX
(output_control) point3d.x(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X-Komponente des Richtungsvektors der transformierten
Linie.
TransLineDirectionY TransLineDirectionY TransLineDirectionY TransLineDirectionY transLineDirectionY
(output_control) point3d.y(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y-Komponente des Richtungsvektors der transformierten
Linie.
TransLineDirectionZ TransLineDirectionZ TransLineDirectionZ TransLineDirectionZ transLineDirectionZ
(output_control) point3d.z(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z-Komponente des Richtungsvektors der transformierten
Linie.
TransLineMomentOrPointX TransLineMomentOrPointX TransLineMomentOrPointX TransLineMomentOrPointX transLineMomentOrPointX
(output_control) point3d.x(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X-Komponente des Momentenvektors der transformierten
Linie oder des zum Ursprung nächstliegenden Punktes
auf der transformierten Linie.
TransLineMomentOrPointY TransLineMomentOrPointY TransLineMomentOrPointY TransLineMomentOrPointY transLineMomentOrPointY
(output_control) point3d.y(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y-Komponente des Momentenvektors der transformierten
Linie oder des zum Ursprung nächstliegenden Punktes
auf der transformierten Linie.
TransLineMomentOrPointZ TransLineMomentOrPointZ TransLineMomentOrPointZ TransLineMomentOrPointZ transLineMomentOrPointZ
(output_control) point3d.z(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z-Komponente des Momentenvektors der transformierten
Linie oder des zum Ursprung nächstliegenden Punktes
auf der transformierten Linie.
Nachfolger
dual_quat_compose dual_quat_compose DualQuatCompose DualQuatCompose DualQuatCompose
,
dual_quat_conjugate dual_quat_conjugate DualQuatConjugate DualQuatConjugate DualQuatConjugate
,
pose_to_dual_quat pose_to_dual_quat PoseToDualQuat PoseToDualQuat PoseToDualQuat
Alternativen
affine_trans_point_3d affine_trans_point_3d AffineTransPoint3d AffineTransPoint3d AffineTransPoint3d
Siehe auch
dual_quat_to_hom_mat3d dual_quat_to_hom_mat3d DualQuatToHomMat3d DualQuatToHomMat3d DualQuatToHomMat3d
,
dual_quat_to_screw dual_quat_to_screw DualQuatToScrew DualQuatToScrew DualQuatToScrew
,
dual_quat_to_pose dual_quat_to_pose DualQuatToPose DualQuatToPose DualQuatToPose
,
dual_quat_normalize dual_quat_normalize DualQuatNormalize DualQuatNormalize DualQuatNormalize
,
serialize_dual_quat serialize_dual_quat SerializeDualQuat SerializeDualQuat SerializeDualQuat
,
deserialize_dual_quat deserialize_dual_quat DeserializeDualQuat DeserializeDualQuat DeserializeDualQuat
,
quat_rotate_point_3d quat_rotate_point_3d QuatRotatePoint3d QuatRotatePoint3d QuatRotatePoint3d
Modul
Foundation