dual_quat_trans_point_3dT_dual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d (Operator)
Name
dual_quat_trans_point_3dT_dual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d — Transformieren eines 3D-Punkts mit einer dualen Einheitsquaternion.
Signatur
Herror T_dual_quat_trans_point_3d(const Htuple DualQuaternion, const Htuple Px, const Htuple Py, const Htuple Pz, Htuple* Tx, Htuple* Ty, Htuple* Tz)
void DualQuatTransPoint3d(const HTuple& DualQuaternion, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Tx, HTuple* Ty, HTuple* Tz)
HTuple HDualQuaternion::DualQuatTransPoint3d(const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Ty, HTuple* Tz) const
double HDualQuaternion::DualQuatTransPoint3d(double Px, double Py, double Pz, double* Ty, double* Tz) const
static void HOperatorSet.DualQuatTransPoint3d(HTuple dualQuaternion, HTuple px, HTuple py, HTuple pz, out HTuple tx, out HTuple ty, out HTuple tz)
HTuple HDualQuaternion.DualQuatTransPoint3d(HTuple px, HTuple py, HTuple pz, out HTuple ty, out HTuple tz)
double HDualQuaternion.DualQuatTransPoint3d(double px, double py, double pz, out double ty, out double tz)
def dual_quat_trans_point_3d(dual_quaternion: Sequence[Union[float, int]], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]]) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]
def dual_quat_trans_point_3d_s(dual_quaternion: Sequence[Union[float, int]], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]]) -> Tuple[float, float, float]
Beschreibung
Der Operator dual_quat_trans_point_3ddual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d transformiert einen
3D-Punkt (PxPxPxPxpxpx, PyPyPyPypypy, PzPzPzPzpzpz) mit einer starren
3D-Abbildung, die durch die duale Einheitsquaternion
DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion gegeben ist, und gibt den transformierten
3D-Punkt in (TxTxTxTxtxtx, TyTyTyTytyty, TzTzTzTztztz) zurück.
Eine kurze Einführung in duale Quaternionen findet sich in
„Solution Guide III-C - 3D Vision“.
Achtung
dual_quat_trans_point_3ddual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d liefert nur dann sinnvolle
Ergebnisse, wenn in DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion eine duale
Einheitsquaternion übergeben wird.
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
DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion (input_control) dual_quaternion → HDualQuaternion, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Duale Einheitsquaternion, die die Transformation darstellt.
PxPxPxPxpxpx (input_control) point3d.x(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (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
PyPyPyPypypy (input_control) point3d.y(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (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
PzPzPzPzpzpz (input_control) point3d.z(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (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
TxTxTxTxtxtx (output_control) point3d.x(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Ausgabepunkt(e) (x-Koordinate).
TyTyTyTytyty (output_control) point3d.y(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Ausgabepunkt(e) (y-Koordinate).
TzTzTzTztztz (output_control) point3d.z(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Ausgabepunkt(e) (z-Koordinate).
Beispiel (HDevelop)
* dual_quat_trans_point_3d (DualQuat, Px, Py, Pz, Tx, Ty, Tz)
* is equivalent to the following code:
dual_quat_to_hom_mat3d (DualQuat, HomMat3D)
affine_trans_point_3d (HomMat3D, Px, Py, Pz, Tx, Ty, Tz)
Vorgänger
dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose,
pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatPoseToDualQuatpose_to_dual_quat,
screw_to_dual_quatscrew_to_dual_quatScrewToDualQuatScrewToDualQuatScrewToDualQuatscrew_to_dual_quat
Alternativen
dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3dDualQuatToHomMat3ddual_quat_to_hom_mat3d,
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d
Siehe auch
dual_quat_to_posedual_quat_to_poseDualQuatToPoseDualQuatToPoseDualQuatToPosedual_quat_to_pose,
dual_quat_normalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalizeDualQuatNormalizedual_quat_normalize,
serialize_dual_quatserialize_dual_quatSerializeDualQuatSerializeDualQuatSerializeDualQuatserialize_dual_quat,
deserialize_dual_quatdeserialize_dual_quatDeserializeDualQuatDeserializeDualQuatDeserializeDualQuatdeserialize_dual_quat,
quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d,
dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d
Modul
Foundation