Name
axis_angle_to_quatT_axis_angle_to_quatAxisAngleToQuataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat — Generiert ein Rotationsquaternion.
void AxisAngleToQuat(const HTuple& AxisX, const HTuple& AxisY, const HTuple& AxisZ, const HTuple& Angle, HTuple* Quaternion)
void HQuaternion::HQuaternion(const HTuple& AxisX, const HTuple& AxisY, const HTuple& AxisZ, const HTuple& Angle)
void HQuaternion::HQuaternion(double AxisX, double AxisY, double AxisZ, double Angle)
void HQuaternion::AxisAngleToQuat(const HTuple& AxisX, const HTuple& AxisY, const HTuple& AxisZ, const HTuple& Angle)
void HQuaternion::AxisAngleToQuat(double AxisX, double AxisY, double AxisZ, double Angle)
static void HOperatorSet.AxisAngleToQuat(HTuple axisX, HTuple axisY, HTuple axisZ, HTuple angle, out HTuple quaternion)
public HQuaternion(HTuple axisX, HTuple axisY, HTuple axisZ, HTuple angle)
public HQuaternion(double axisX, double axisY, double axisZ, double angle)
void HQuaternion.AxisAngleToQuat(HTuple axisX, HTuple axisY, HTuple axisZ, HTuple angle)
void HQuaternion.AxisAngleToQuat(double axisX, double axisY, double axisZ, double angle)
Quaternionen sind eine Erweiterung der komplexen Zahlen. Die Menge der
Quaternionen ist gegeben durch {x_0 + x_1*i + x_2*j + x_3*k |
x_0,x_1,x_2,x_3 aus R}. In HALCON werden Quaternionen
durch Tuple der Länge vier dargestellt: [x_{0},x_{1},x_{2},x_{3}].
Einheitsquaternionen können verwendet werden, um Rotationen zu beschreiben.
Ein Quaternion ist ein Einheitsquaternion, wenn seine Norm 1 beträgt.
Eine Rotation gegen den Uhrzeigersinn um einen Einheitsvektor v
(AxisXAxisXAxisXAxisXAxisXaxisX,AxisYAxisYAxisYAxisYAxisYaxisY,AxisZAxisZAxisZAxisZAxisZaxisZ) um den Winkel a
(AngleAngleAngleAngleAngleangle) kann durch das Einheitsquaternion
q = (cos(a/2), sin(a/2) v) beschrieben werden.
Der Operator axis_angle_to_quataxis_angle_to_quatAxisAngleToQuataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat kann genutzt werden, um solch ein
Quaternion zu erzeugen. Um einen Punkt mittels QuaternionQuaternionQuaternionQuaternionQuaternionquaternion zu
rotieren, kann der Operator quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d verwendet werden.
Zwei Rotation können mit quat_composequat_composeQuatComposequat_composeQuatComposeQuatCompose multipliziert werden.
Außerdem können Rotationsquaternionen dazu verwendet werden, in
set_paintset_paintSetPaintset_paintSetPaintSetPaint die Orientierung des 3D-Plots zu bestimmen.
Der Operator axis_angle_to_quataxis_angle_to_quatAxisAngleToQuataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat überprüft nicht, ob der Vektor
(AxisXAxisXAxisXAxisXAxisXaxisX, AxisYAxisYAxisYAxisYAxisYaxisY, AxisZAxisZAxisZAxisZAxisZaxisZ) ein Einheitsvektor ist (d.h.
Länge 1 hat).
Falls dies nicht der Fall ist, ist QuaternionQuaternionQuaternionQuaternionQuaternionquaternion kein gültiges
Rotationsquaternion.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
X-Komponente der Rotationsachse.
Y-Komponente der Rotationsachse.
Z-Komponente der Rotationsachse.
Rotationswinkel im Bogenmaß.
** Normalize a vector and create a rotation quaternion
Length := sqrt(AxisX*AxisX+AxisY*AxisY+AxisZ*AxisZ)
AxisX := AxisX/Length
AxisY := AxisY/Length
AxisZ := AxisZ/Length
axis_angle_to_quat (AxisX, AxisY, AxisZ, rad(90), Quaternion)
quat_to_hom_mat3dquat_to_hom_mat3dQuatToHomMat3dquat_to_hom_mat3dQuatToHomMat3dQuatToHomMat3d,
quat_to_posequat_to_poseQuatToPosequat_to_poseQuatToPoseQuatToPose,
quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d,
quat_composequat_composeQuatComposequat_composeQuatComposeQuatCompose
quat_normalizequat_normalizeQuatNormalizequat_normalizeQuatNormalizeQuatNormalize,
quat_conjugatequat_conjugateQuatConjugatequat_conjugateQuatConjugateQuatConjugate,
quat_interpolatequat_interpolateQuatInterpolatequat_interpolateQuatInterpolateQuatInterpolate
Foundation