dual_quat_trans_line_3dT_dual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d (Operator)

Name

dual_quat_trans_line_3dT_dual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d — 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)

def dual_quat_trans_line_3d(dual_quaternion: Sequence[Union[float, int]], line_format: str, line_direction_x: MaybeSequence[Union[float, int]], line_direction_y: MaybeSequence[Union[float, int]], line_direction_z: MaybeSequence[Union[float, int]], line_moment_or_point_x: MaybeSequence[Union[float, int]], line_moment_or_point_y: MaybeSequence[Union[float, int]], line_moment_or_point_z: MaybeSequence[Union[float, int]]) -> Tuple[Sequence[Union[float, int]], Sequence[Union[float, int]], Sequence[Union[float, int]], Sequence[Union[float, int]], Sequence[Union[float, int]], Sequence[Union[float, int]]]

def dual_quat_trans_line_3d_s(dual_quaternion: Sequence[Union[float, int]], line_format: str, line_direction_x: MaybeSequence[Union[float, int]], line_direction_y: MaybeSequence[Union[float, int]], line_direction_z: MaybeSequence[Union[float, int]], line_moment_or_point_x: MaybeSequence[Union[float, int]], line_moment_or_point_y: MaybeSequence[Union[float, int]], line_moment_or_point_z: MaybeSequence[Union[float, int]]) -> Tuple[Union[float, int], Union[float, int], Union[float, int], Union[float, int], Union[float, int], Union[float, int]]

Beschreibung

Der Operator dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d transformiert eine in Plückerkoordinaten dargestellte 3D-Line mit einer starren 3D-Abbildung, die durch die duale Einheitsquaternion DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion gegeben ist.

Eine kurze Einführung in duale Quaternionen, Plückerkoordinaten und die verwendete Notation findet sich in „Solution Guide III-C - 3D Vision“.

Die Linienrichtung muss in LineDirectionXLineDirectionXLineDirectionXLineDirectionXlineDirectionXline_direction_x, LineDirectionYLineDirectionYLineDirectionYLineDirectionYlineDirectionYline_direction_y und LineDirectionZLineDirectionZLineDirectionZLineDirectionZlineDirectionZline_direction_z ü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 LineFormatLineFormatLineFormatLineFormatlineFormatline_format 'moment'"moment""moment""moment""moment""moment" gewählt, muss in LineMomentOrPointXLineMomentOrPointXLineMomentOrPointXLineMomentOrPointXlineMomentOrPointXline_moment_or_point_x, LineMomentOrPointYLineMomentOrPointYLineMomentOrPointYLineMomentOrPointYlineMomentOrPointYline_moment_or_point_y und LineMomentOrPointZLineMomentOrPointZLineMomentOrPointZLineMomentOrPointZlineMomentOrPointZline_moment_or_point_z 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 LineFormatLineFormatLineFormatLineFormatlineFormatline_format 'point'"point""point""point""point""point" gewählt werden und in LineMomentOrPointXLineMomentOrPointXLineMomentOrPointXLineMomentOrPointXlineMomentOrPointXline_moment_or_point_x, LineMomentOrPointYLineMomentOrPointYLineMomentOrPointYLineMomentOrPointYlineMomentOrPointYline_moment_or_point_y und LineMomentOrPointZLineMomentOrPointZLineMomentOrPointZLineMomentOrPointZlineMomentOrPointZline_moment_or_point_z müssen die Koordinaten des Punktes übergeben werden.

Die Parameter der transformierten Linie werden in TransLineDirectionXTransLineDirectionXTransLineDirectionXTransLineDirectionXtransLineDirectionXtrans_line_direction_x, TransLineDirectionYTransLineDirectionYTransLineDirectionYTransLineDirectionYtransLineDirectionYtrans_line_direction_y, TransLineDirectionZTransLineDirectionZTransLineDirectionZTransLineDirectionZtransLineDirectionZtrans_line_direction_z, TransLineMomentOrPointXTransLineMomentOrPointXTransLineMomentOrPointXTransLineMomentOrPointXtransLineMomentOrPointXtrans_line_moment_or_point_x, TransLineMomentOrPointYTransLineMomentOrPointYTransLineMomentOrPointYTransLineMomentOrPointYtransLineMomentOrPointYtrans_line_moment_or_point_y und TransLineMomentOrPointZTransLineMomentOrPointZTransLineMomentOrPointZTransLineMomentOrPointZtransLineMomentOrPointZtrans_line_moment_or_point_z im Format, das in LineFormatLineFormatLineFormatLineFormatlineFormatline_format angegeben ist, zurückgegeben. Wird für LineFormatLineFormatLineFormatLineFormatlineFormatline_format 'point'"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_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d liefert nur dann sinnvolle Ergebnisse, wenn in DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion eine duale Einheitsquaternion übergeben wird und die Länge des Richtungsvektors der Linie 1 ist.

Ausführungsinformationen

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.

LineFormatLineFormatLineFormatLineFormatlineFormatline_format (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Format der Linienparameter.

Defaultwert: 'moment' "moment" "moment" "moment" "moment" "moment"

Werteliste: 'moment'"moment""moment""moment""moment""moment", 'point'"point""point""point""point""point"

LineDirectionXLineDirectionXLineDirectionXLineDirectionXlineDirectionXline_direction_x (input_control)  point3d.x(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

X-Komponente des Richtungsvektors der Linie.

LineDirectionYLineDirectionYLineDirectionYLineDirectionYlineDirectionYline_direction_y (input_control)  point3d.y(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Y-Komponente des Richtungsvektors der Linie.

LineDirectionZLineDirectionZLineDirectionZLineDirectionZlineDirectionZline_direction_z (input_control)  point3d.z(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Z-Komponente des Richtungsvektors der Linie.

LineMomentOrPointXLineMomentOrPointXLineMomentOrPointXLineMomentOrPointXlineMomentOrPointXline_moment_or_point_x (input_control)  point3d.x(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

X-Komponente des Momentenvektors oder eines Punktes der Linie.

LineMomentOrPointYLineMomentOrPointYLineMomentOrPointYLineMomentOrPointYlineMomentOrPointYline_moment_or_point_y (input_control)  point3d.y(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Y-Komponente des Momentenvektors oder eines Punktes der Linie.

LineMomentOrPointZLineMomentOrPointZLineMomentOrPointZLineMomentOrPointZlineMomentOrPointZline_moment_or_point_z (input_control)  point3d.z(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Z-Komponente des Momentenvektors oder eines Punktes der Linie.

TransLineDirectionXTransLineDirectionXTransLineDirectionXTransLineDirectionXtransLineDirectionXtrans_line_direction_x (output_control)  point3d.x(-array) HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

X-Komponente des Richtungsvektors der transformierten Linie.

TransLineDirectionYTransLineDirectionYTransLineDirectionYTransLineDirectionYtransLineDirectionYtrans_line_direction_y (output_control)  point3d.y(-array) HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Y-Komponente des Richtungsvektors der transformierten Linie.

TransLineDirectionZTransLineDirectionZTransLineDirectionZTransLineDirectionZtransLineDirectionZtrans_line_direction_z (output_control)  point3d.z(-array) HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Z-Komponente des Richtungsvektors der transformierten Linie.

TransLineMomentOrPointXTransLineMomentOrPointXTransLineMomentOrPointXTransLineMomentOrPointXtransLineMomentOrPointXtrans_line_moment_or_point_x (output_control)  point3d.x(-array) HTupleSequence[Union[float, int]]HTupleHtuple (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.

TransLineMomentOrPointYTransLineMomentOrPointYTransLineMomentOrPointYTransLineMomentOrPointYtransLineMomentOrPointYtrans_line_moment_or_point_y (output_control)  point3d.y(-array) HTupleSequence[Union[float, int]]HTupleHtuple (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.

TransLineMomentOrPointZTransLineMomentOrPointZTransLineMomentOrPointZTransLineMomentOrPointZtransLineMomentOrPointZtrans_line_moment_or_point_z (output_control)  point3d.z(-array) HTupleSequence[Union[float, int]]HTupleHtuple (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.

Vorgänger

points_to_pluecker_linepoints_to_pluecker_linePointsToPlueckerLinePointsToPlueckerLinePointsToPlueckerLinepoints_to_pluecker_line, point_direction_to_pluecker_linepoint_direction_to_pluecker_linePointDirectionToPlueckerLinePointDirectionToPlueckerLinePointDirectionToPlueckerLinepoint_direction_to_pluecker_line

Nachfolger

dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose, dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate, pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatPoseToDualQuatpose_to_dual_quat

Alternativen

affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d, dual_quat_trans_point_3ddual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d

Siehe auch

dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3dDualQuatToHomMat3ddual_quat_to_hom_mat3d, dual_quat_to_screwdual_quat_to_screwDualQuatToScrewDualQuatToScrewDualQuatToScrewdual_quat_to_screw, 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

Modul

Foundation