dual_quat_interpolate T_dual_quat_interpolate DualQuatInterpolate DualQuatInterpolate (Operator)
Name
dual_quat_interpolate T_dual_quat_interpolate DualQuatInterpolate DualQuatInterpolate
— Interpolation von zwei dualen Quaternionen.
Signatur
Beschreibung
Der Operator dual_quat_interpolate dual_quat_interpolate DualQuatInterpolate DualQuatInterpolate DualQuatInterpolate
interpoliert zwischen den beiden
dualen Quaternionen DualQuaternionStart DualQuaternionStart DualQuaternionStart DualQuaternionStart dualQuaternionStart
und
DualQuaternionEnd DualQuaternionEnd DualQuaternionEnd DualQuaternionEnd dualQuaternionEnd
an der Position InterpPos InterpPos InterpPos InterpPos interpPos
.
Eine kurze Einführung in duale Quaternionen, die verwendete Notation
und die Beziehung zwischen dualen Quaternionen und Schraubungen findet
sich in der Dokumentation zu diesem Kapitel
(Transformationen / Duale Quaternionen ).
Für Interpolationen muss InterpPos InterpPos InterpPos InterpPos interpPos
innerhalb des Intervalls
liegen, wenngleich auch Werte außerhalb dieses Intervalls
möglich sind. Letzteres entspricht dann einer Extrapolation. Im Fall
InterpPos InterpPos InterpPos InterpPos interpPos
=0 entspricht die interpolierte duale Quaternion
DualQuaternionInterpolated DualQuaternionInterpolated DualQuaternionInterpolated DualQuaternionInterpolated dualQuaternionInterpolated
dem Startpunkt
DualQuaternionStart DualQuaternionStart DualQuaternionStart DualQuaternionStart dualQuaternionStart
der Interpolation. Im Fall
InterpPos InterpPos InterpPos InterpPos interpPos
=1 entspricht DualQuaternionInterpolated DualQuaternionInterpolated DualQuaternionInterpolated DualQuaternionInterpolated dualQuaternionInterpolated
dem Endpunkt DualQuaternionEnd DualQuaternionEnd DualQuaternionEnd DualQuaternionEnd dualQuaternionEnd
der Interpolation.
Die Interpolation wird durch eine lineare Schraubungsinterpolation
(screw linear interpolation, ScLERP) durchgeführt. Sind sowohl
DualQuaternionStart DualQuaternionStart DualQuaternionStart DualQuaternionStart dualQuaternionStart
als auch DualQuaternionEnd DualQuaternionEnd DualQuaternionEnd DualQuaternionEnd dualQuaternionEnd
duale
Einheitsquaternionen, so ist auch DualQuaternionInterpolated DualQuaternionInterpolated DualQuaternionInterpolated DualQuaternionInterpolated dualQuaternionInterpolated
eine duale Einheitsquaternion. dual_quat_interpolate dual_quat_interpolate DualQuatInterpolate DualQuatInterpolate DualQuatInterpolate
kann also
dazu verwendet werden, um weich zwischen zwei starren 3D-Abbildungen
zu interpolieren.
Die Interpolation des Rotationsanteils zwischen
DualQuaternionStart DualQuaternionStart DualQuaternionStart DualQuaternionStart dualQuaternionStart
und DualQuaternionEnd DualQuaternionEnd DualQuaternionEnd DualQuaternionEnd dualQuaternionEnd
ist identisch
zur Interpolation von Quaternionen, d.h. der Schraubungswinkel wird
linear interpoliert (siehe quat_interpolate quat_interpolate QuatInterpolate QuatInterpolate QuatInterpolate
). Die Interpolation
des Translationsanteils erfolgt durch die lineare Interpolation der
Translation der Schraubung.
Es ist möglich, für InterpPos InterpPos InterpPos InterpPos interpPos
ein Tupel mit mehreren Werten
zu übergeben. In diesem Fall wird in DualQuaternionInterpolated DualQuaternionInterpolated DualQuaternionInterpolated DualQuaternionInterpolated dualQuaternionInterpolated
für jeden Wert in InterpPos InterpPos InterpPos InterpPos interpPos
eine interpolierte duale Quaternion
zurückgegeben. Dies ist effizienter als dual_quat_interpolate dual_quat_interpolate DualQuatInterpolate DualQuatInterpolate DualQuatInterpolate
mehrfach mit einem einzelnen Wert für InterpPos InterpPos InterpPos InterpPos interpPos
aufzurufen.
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
DualQuaternionStart DualQuaternionStart DualQuaternionStart DualQuaternionStart dualQuaternionStart
(input_control) dual_quaternion →
HDualQuaternion , HTuple HTuple Htuple (real) (double ) (double ) (double )
Duale Quaternion als Startpunkt der Interpolation.
DualQuaternionEnd DualQuaternionEnd DualQuaternionEnd DualQuaternionEnd dualQuaternionEnd
(input_control) dual_quaternion →
HDualQuaternion , HTuple HTuple Htuple (real) (double ) (double ) (double )
Duale Quaternion als Endpunkt der Interpolation.
InterpPos InterpPos InterpPos InterpPos interpPos
(input_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Interpolationsparameter.
Defaultwert: 0.5
Wertevorschläge: 0.0, 0.25, 0.5, 0.75, 1.0
DualQuaternionInterpolated DualQuaternionInterpolated DualQuaternionInterpolated DualQuaternionInterpolated dualQuaternionInterpolated
(output_control) dual_quaternion(-array) →
HDualQuaternion , HTuple HTuple Htuple (real) (double ) (double ) (double )
Interpolierte duale Quaternion.
Vorgänger
pose_to_dual_quat pose_to_dual_quat PoseToDualQuat PoseToDualQuat PoseToDualQuat
,
screw_to_dual_quat screw_to_dual_quat ScrewToDualQuat ScrewToDualQuat ScrewToDualQuat
,
dual_quat_normalize dual_quat_normalize DualQuatNormalize DualQuatNormalize DualQuatNormalize
Nachfolger
dual_quat_to_hom_mat3d dual_quat_to_hom_mat3d DualQuatToHomMat3d DualQuatToHomMat3d DualQuatToHomMat3d
,
dual_quat_to_pose dual_quat_to_pose DualQuatToPose DualQuatToPose DualQuatToPose
,
dual_quat_to_screw dual_quat_to_screw DualQuatToScrew DualQuatToScrew DualQuatToScrew
Siehe auch
dual_quat_compose dual_quat_compose DualQuatCompose DualQuatCompose DualQuatCompose
,
dual_quat_conjugate dual_quat_conjugate DualQuatConjugate DualQuatConjugate DualQuatConjugate
,
serialize_dual_quat serialize_dual_quat SerializeDualQuat SerializeDualQuat SerializeDualQuat
,
deserialize_dual_quat deserialize_dual_quat DeserializeDualQuat DeserializeDualQuat DeserializeDualQuat
,
dual_quat_trans_line_3d dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d DualQuatTransLine3d
,
quat_interpolate quat_interpolate QuatInterpolate QuatInterpolate QuatInterpolate
Modul
Foundation