Name
vector_to_hom_mat3dT_vector_to_hom_mat3dVectorToHomMat3dvector_to_hom_mat3dVectorToHomMat3dVectorToHomMat3d — Erzeugt eine Näherung für eine 3D-Transformation aus
Punktkorrespondenzen.
void VectorToHomMat3d(const HTuple& TransformationType, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Qx, const HTuple& Qy, const HTuple& Qz, HTuple* HomMat3D)
void HHomMat3D::VectorToHomMat3d(const HString& TransformationType, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Qx, const HTuple& Qy, const HTuple& Qz)
void HHomMat3D::VectorToHomMat3d(const char* TransformationType, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Qx, const HTuple& Qy, const HTuple& Qz)
void HOperatorSetX.VectorToHomMat3d(
[in] VARIANT TransformationType, [in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [in] VARIANT Qx, [in] VARIANT Qy, [in] VARIANT Qz, [out] VARIANT* HomMat3d)
void HHomMat3DX.VectorToHomMat3d(
[in] BSTR TransformationType, [in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [in] VARIANT Qx, [in] VARIANT Qy, [in] VARIANT Qz)
static void HOperatorSet.VectorToHomMat3d(HTuple transformationType, HTuple px, HTuple py, HTuple pz, HTuple qx, HTuple qy, HTuple qz, out HTuple homMat3D)
void HHomMat3D.VectorToHomMat3d(string transformationType, HTuple px, HTuple py, HTuple pz, HTuple qx, HTuple qy, HTuple qz)
vector_to_hom_mat3dvector_to_hom_mat3dVectorToHomMat3dvector_to_hom_mat3dVectorToHomMat3dVectorToHomMat3d erzeugt aus Punktkorrespondenzen eine
Näherung für eine affine oder projektive 3D-Transformation und
liefert sie in der homogenen Transformationsmatrix HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D
zurück.
Der Typ der zu berechnenden 3D-Transformation wird mit
TransformationTypeTransformationTypeTransformationTypeTransformationTypeTransformationTypetransformationType festgelegt. Für
TransformationTypeTransformationTypeTransformationTypeTransformationTypeTransformationTypetransformationType = 'rigid'"rigid""rigid""rigid""rigid""rigid" wird eine starre
3D-Transformation (eine Rotation und eine Translation), für
TransformationTypeTransformationTypeTransformationTypeTransformationTypeTransformationTypetransformationType = 'similarity'"similarity""similarity""similarity""similarity""similarity" eine
Ähnlichkeitsabbildung (eine gleichförmige Skalierung, eine Rotation
und eine Translation), für TransformationTypeTransformationTypeTransformationTypeTransformationTypeTransformationTypetransformationType =
'affine'"affine""affine""affine""affine""affine" eine allgemeine affine 3D-Transformation und für
TransformationTypeTransformationTypeTransformationTypeTransformationTypeTransformationTypetransformationType = 'projective'"projective""projective""projective""projective""projective" eine
projektive 3D-Transformation berechnet.
Die minimal benötigte Anzahl an Punktkorrespondenzen ist 3 für
TransformationTypeTransformationTypeTransformationTypeTransformationTypeTransformationTypetransformationType = 'rigid'"rigid""rigid""rigid""rigid""rigid", 3 für
TransformationTypeTransformationTypeTransformationTypeTransformationTypeTransformationTypetransformationType = 'similarity'"similarity""similarity""similarity""similarity""similarity", 4 für
TransformationTypeTransformationTypeTransformationTypeTransformationTypeTransformationTypetransformationType = 'affine'"affine""affine""affine""affine""affine" und 5 für
TransformationTypeTransformationTypeTransformationTypeTransformationTypeTransformationTypetransformationType = 'projective'"projective""projective""projective""projective""projective".
Die Punktkorrespondenzen werden in den Tupeln
(PxPxPxPxPxpx,PyPyPyPyPypy,PzPzPzPzPzpz) und
(QxQxQxQxQxqx,QyQyQyQyQyqy,QzQzQzQzQzqz) übergeben, wobei
korrespondierende Punkte an denselben Indexpositionen stehen müssen.
Die Transformation ist überbestimmt, falls mehr als die minimale
Anzahl an Punktkorrespondenzen übergeben wird. In diesem Fall ist
die zurückgelieferte Transformation diejenige, die die Abstände
zwischen den transformierten Eingabepunkten
(PxPxPxPxPxpx,PyPyPyPyPypy,PzPzPzPzPzpz) und den Zielpunkten
(QxQxQxQxQxqx,QyQyQyQyQyqy,QzQzQzQzQzqz) minimiert, wie in der
folgenden Gleichung beschrieben (Punkte als homogene Vektoren
dargestellt):
HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D kann direkt mit den Operatoren, die Daten mit
affinen 3D-Transformationen transformieren, z.B.
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d, verwendet werden.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Typ der zu berechnenden Transformation.
Defaultwert:
'rigid'
"rigid"
"rigid"
"rigid"
"rigid"
"rigid"
Werteliste: 'affine'"affine""affine""affine""affine""affine", 'projective'"projective""projective""projective""projective""projective", 'rigid'"rigid""rigid""rigid""rigid""rigid", 'similarity'"similarity""similarity""similarity""similarity""similarity"
PxPxPxPxPxpx (input_control) point3d.x-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
X-Koordinaten der originalen Punkte.
PyPyPyPyPypy (input_control) point3d.y-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Y-Koordinaten der originalen Punkte.
PzPzPzPzPzpz (input_control) point3d.z-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Z-Koordinaten der originalen Punkte.
QxQxQxQxQxqx (input_control) point3d.x-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
X-Koordinaten der transformierten Punkte.
QyQyQyQyQyqy (input_control) point3d.x-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Y-Koordinaten der transformierten Punkte.
QzQzQzQzQzqz (input_control) point3d.z-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Z-Koordinaten der transformierten Punkte.
Ausgabe-Transformationsmatrix.
hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPosehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPose,
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d
Foundation