distance_point_pluecker_linedistance_point_pluecker_lineDistancePointPlueckerLineDistancePointPlueckerLinedistance_point_pluecker_line (算子)
名称
distance_point_pluecker_linedistance_point_pluecker_lineDistancePointPlueckerLineDistancePointPlueckerLinedistance_point_pluecker_line — 计算由普吕克(Plücker)坐标给出的三维点和三维线之间的距离。
签名
Herror distance_point_pluecker_line(double PointX, double PointY, double PointZ, double LineDirectionX, double LineDirectionY, double LineDirectionZ, double LineMomentX, double LineMomentY, double LineMomentZ, double* Distance)
Herror T_distance_point_pluecker_line(const Htuple PointX, const Htuple PointY, const Htuple PointZ, const Htuple LineDirectionX, const Htuple LineDirectionY, const Htuple LineDirectionZ, const Htuple LineMomentX, const Htuple LineMomentY, const Htuple LineMomentZ, Htuple* Distance)
void DistancePointPlueckerLine(const HTuple& PointX, const HTuple& PointY, const HTuple& PointZ, const HTuple& LineDirectionX, const HTuple& LineDirectionY, const HTuple& LineDirectionZ, const HTuple& LineMomentX, const HTuple& LineMomentY, const HTuple& LineMomentZ, HTuple* Distance)
static HTuple HMisc::DistancePointPlueckerLine(const HTuple& PointX, const HTuple& PointY, const HTuple& PointZ, const HTuple& LineDirectionX, const HTuple& LineDirectionY, const HTuple& LineDirectionZ, const HTuple& LineMomentX, const HTuple& LineMomentY, const HTuple& LineMomentZ)
static double HMisc::DistancePointPlueckerLine(double PointX, double PointY, double PointZ, double LineDirectionX, double LineDirectionY, double LineDirectionZ, double LineMomentX, double LineMomentY, double LineMomentZ)
static void HOperatorSet.DistancePointPlueckerLine(HTuple pointX, HTuple pointY, HTuple pointZ, HTuple lineDirectionX, HTuple lineDirectionY, HTuple lineDirectionZ, HTuple lineMomentX, HTuple lineMomentY, HTuple lineMomentZ, out HTuple distance)
static HTuple HMisc.DistancePointPlueckerLine(HTuple pointX, HTuple pointY, HTuple pointZ, HTuple lineDirectionX, HTuple lineDirectionY, HTuple lineDirectionZ, HTuple lineMomentX, HTuple lineMomentY, HTuple lineMomentZ)
static double HMisc.DistancePointPlueckerLine(double pointX, double pointY, double pointZ, double lineDirectionX, double lineDirectionY, double lineDirectionZ, double lineMomentX, double lineMomentY, double lineMomentZ)
def distance_point_pluecker_line(point_x: MaybeSequence[float], point_y: MaybeSequence[float], point_z: MaybeSequence[float], line_direction_x: MaybeSequence[Union[float, int]], line_direction_y: MaybeSequence[Union[float, int]], line_direction_z: MaybeSequence[Union[float, int]], line_moment_x: MaybeSequence[Union[float, int]], line_moment_y: MaybeSequence[Union[float, int]], line_moment_z: MaybeSequence[Union[float, int]]) -> Sequence[float]
def distance_point_pluecker_line_s(point_x: MaybeSequence[float], point_y: MaybeSequence[float], point_z: MaybeSequence[float], line_direction_x: MaybeSequence[Union[float, int]], line_direction_y: MaybeSequence[Union[float, int]], line_direction_z: MaybeSequence[Union[float, int]], line_moment_x: MaybeSequence[Union[float, int]], line_moment_y: MaybeSequence[Union[float, int]], line_moment_z: MaybeSequence[Union[float, int]]) -> float
描述
distance_point_pluecker_linedistance_point_pluecker_lineDistancePointPlueckerLineDistancePointPlueckerLineDistancePointPlueckerLinedistance_point_pluecker_line calculates the orthogonal
distance between 3D points and 3D lines.
The result is returned in DistanceDistanceDistanceDistancedistancedistance.
The input tuples can define 1 or n points
and lines, respectively.
The points are specified by
(PointXPointXPointXPointXpointXpoint_x, PointYPointYPointYPointYpointYpoint_y, PointZPointZPointZPointZpointZpoint_z).
The lines are given in Plücker coordinates
(LineDirectionXLineDirectionXLineDirectionXLineDirectionXlineDirectionXline_direction_x, LineDirectionYLineDirectionYLineDirectionYLineDirectionYlineDirectionYline_direction_y, LineDirectionZLineDirectionZLineDirectionZLineDirectionZlineDirectionZline_direction_z)
and
(LineMomentXLineMomentXLineMomentXLineMomentXlineMomentXline_moment_x, LineMomentYLineMomentYLineMomentYLineMomentYlineMomentYline_moment_y, LineMomentZLineMomentZLineMomentZLineMomentZlineMomentZline_moment_z).
For the definition of Plücker coordinates, see
“Solution Guide III-C - 3D Vision”.
Let denote the point
(PointXPointXPointXPointXpointXpoint_x, PointYPointYPointYPointYpointYpoint_y, PointZPointZPointZPointZpointZpoint_z),
the direction
(LineDirectionXLineDirectionXLineDirectionXLineDirectionXlineDirectionXline_direction_x, LineDirectionYLineDirectionYLineDirectionYLineDirectionYlineDirectionYline_direction_y, LineDirectionZLineDirectionZLineDirectionZLineDirectionZlineDirectionZline_direction_z),
and the moment
(LineMomentXLineMomentXLineMomentXLineMomentXlineMomentXline_moment_x, LineMomentYLineMomentYLineMomentYLineMomentYlineMomentYline_moment_y, LineMomentZLineMomentZLineMomentZLineMomentZlineMomentZline_moment_z)
of the Plücker line.
Furthermore, let denote the distance DistanceDistanceDistanceDistancedistancedistance. Then,
,
where denotes the cross product of two vectors.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
PointXPointXPointXPointXpointXpoint_x (输入控制) point3d.x(-array) → HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)
X coordinates of the original points.
PointYPointYPointYPointYpointYpoint_y (输入控制) point3d.y(-array) → HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)
Y coordinates of the original points.
PointZPointZPointZPointZpointZpoint_z (输入控制) point3d.z(-array) → HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)
Z coordinates of the original points.
LineDirectionXLineDirectionXLineDirectionXLineDirectionXlineDirectionXline_direction_x (输入控制) point3d.x(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X component of the direction vector of the corresponding
line.
LineDirectionYLineDirectionYLineDirectionYLineDirectionYlineDirectionYline_direction_y (输入控制) point3d.y(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y component of the direction vector of the corresponding
line.
LineDirectionZLineDirectionZLineDirectionZLineDirectionZlineDirectionZline_direction_z (输入控制) point3d.z(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z component of the direction vector of the corresponding
line.
LineMomentXLineMomentXLineMomentXLineMomentXlineMomentXline_moment_x (输入控制) point3d.x(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X component of the moment vector of the corresponding
line.
LineMomentYLineMomentYLineMomentYLineMomentYlineMomentYline_moment_y (输入控制) point3d.y(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y component of the moment vector of the corresponding
line.
LineMomentZLineMomentZLineMomentZLineMomentZlineMomentZline_moment_z (输入控制) point3d.z(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z component of the moment vector of the corresponding
line.
DistanceDistanceDistanceDistancedistancedistance (输出控制) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Distance between the points and the lines.
可能的前趋
points_to_pluecker_linepoints_to_pluecker_linePointsToPlueckerLinePointsToPlueckerLinePointsToPlueckerLinepoints_to_pluecker_line,
point_direction_to_pluecker_linepoint_direction_to_pluecker_linePointDirectionToPlueckerLinePointDirectionToPlueckerLinePointDirectionToPlueckerLinepoint_direction_to_pluecker_line
替代
distance_point_linedistance_point_lineDistancePointLineDistancePointLineDistancePointLinedistance_point_line
另见
point_pluecker_line_to_hom_mat3dpoint_pluecker_line_to_hom_mat3dPointPlueckerLineToHomMat3dPointPlueckerLineToHomMat3dPointPlueckerLineToHomMat3dpoint_pluecker_line_to_hom_mat3d
模块
基础