projective_trans_point_3dT_projective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3dprojective_trans_point_3d (算子)
名称
projective_trans_point_3dT_projective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3dprojective_trans_point_3d — 使用投影变换矩阵投影三维点。
签名
Herror T_projective_trans_point_3d(const Htuple HomMat3D, const Htuple Px, const Htuple Py, const Htuple Pz, Htuple* Qx, Htuple* Qy, Htuple* Qz)
void ProjectiveTransPoint3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy, HTuple* Qz)
HTuple HHomMat3D::ProjectiveTransPoint3d(const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qy, HTuple* Qz) const
double HHomMat3D::ProjectiveTransPoint3d(double Px, double Py, double Pz, double* Qy, double* Qz) const
static void HOperatorSet.ProjectiveTransPoint3d(HTuple homMat3D, HTuple px, HTuple py, HTuple pz, out HTuple qx, out HTuple qy, out HTuple qz)
HTuple HHomMat3D.ProjectiveTransPoint3d(HTuple px, HTuple py, HTuple pz, out HTuple qy, out HTuple qz)
double HHomMat3D.ProjectiveTransPoint3d(double px, double py, double pz, out double qy, out double qz)
def projective_trans_point_3d(hom_mat_3d: Sequence[float], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]]) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]
def projective_trans_point_3d_s(hom_mat_3d: Sequence[float], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]]) -> Tuple[float, float, float]
描述
projective_trans_point_3dprojective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3dProjectiveTransPoint3dprojective_trans_point_3d applies the homogeneous projective
transformation matrix HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d to all input points
(PxPxPxPxpxpx,PyPyPyPypypy,PzPzPzPzpzpz) and returns an array of output
points (QxQxQxQxqxqx,QyQyQyQyqyqy,QzQzQzQzqzqz). The transformation is
described by the homogeneous transformation matrix given in
HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d. This corresponds to the following equations
(input and output points as homogeneous vectors):
projective_trans_point_3dprojective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3dProjectiveTransPoint3dprojective_trans_point_3d then transforms the homogeneous
coordinates to Euclidean coordinates by dividing them by Tw:
If a point in the plane at infinity (Tw = 0) is created by the
transformation, an error is returned. If this is undesired,
projective_trans_hom_point_3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3dProjectiveTransHomPoint3dprojective_trans_hom_point_3d can be used.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在内部数据级别上自动并行化。
参数
HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d (输入控制) hom_mat3d → HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Homogeneous projective transformation matrix.
PxPxPxPxpxpx (输入控制) number(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Input point (x coordinate).
PyPyPyPypypy (输入控制) number(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Input point (y coordinate).
PzPzPzPzpzpz (输入控制) number(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Input point (z coordinate).
QxQxQxQxqxqx (输出控制) number(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Output point (x coordinate).
QyQyQyQyqyqy (输出控制) number(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Output point (y coordinate).
QzQzQzQzqzqz (输出控制) number(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Output point (z coordinate).
可能的前趋
vector_to_hom_mat3dvector_to_hom_mat3dVectorToHomMat3dVectorToHomMat3dVectorToHomMat3dvector_to_hom_mat3d
替代
projective_trans_hom_point_3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3dProjectiveTransHomPoint3dprojective_trans_hom_point_3d
模块
基础