distance_point_linedistance_point_lineDistancePointLineDistancePointLinedistance_point_line (算子)
名称
distance_point_linedistance_point_lineDistancePointLineDistancePointLinedistance_point_line — 计算一个三维点和一条由线上两点给出的三维线之间的距离。
签名
Herror distance_point_line(double PointX, double PointY, double PointZ, double Point1X, double Point1Y, double Point1Z, double Point2X, double Point2Y, double Point2Z, double* Distance)
Herror T_distance_point_line(const Htuple PointX, const Htuple PointY, const Htuple PointZ, const Htuple Point1X, const Htuple Point1Y, const Htuple Point1Z, const Htuple Point2X, const Htuple Point2Y, const Htuple Point2Z, Htuple* Distance)
void DistancePointLine(const HTuple& PointX, const HTuple& PointY, const HTuple& PointZ, const HTuple& Point1X, const HTuple& Point1Y, const HTuple& Point1Z, const HTuple& Point2X, const HTuple& Point2Y, const HTuple& Point2Z, HTuple* Distance)
static HTuple HMisc::DistancePointLine(const HTuple& PointX, const HTuple& PointY, const HTuple& PointZ, const HTuple& Point1X, const HTuple& Point1Y, const HTuple& Point1Z, const HTuple& Point2X, const HTuple& Point2Y, const HTuple& Point2Z)
static double HMisc::DistancePointLine(double PointX, double PointY, double PointZ, double Point1X, double Point1Y, double Point1Z, double Point2X, double Point2Y, double Point2Z)
static void HOperatorSet.DistancePointLine(HTuple pointX, HTuple pointY, HTuple pointZ, HTuple point1X, HTuple point1Y, HTuple point1Z, HTuple point2X, HTuple point2Y, HTuple point2Z, out HTuple distance)
static HTuple HMisc.DistancePointLine(HTuple pointX, HTuple pointY, HTuple pointZ, HTuple point1X, HTuple point1Y, HTuple point1Z, HTuple point2X, HTuple point2Y, HTuple point2Z)
static double HMisc.DistancePointLine(double pointX, double pointY, double pointZ, double point1X, double point1Y, double point1Z, double point2X, double point2Y, double point2Z)
def distance_point_line(point_x: MaybeSequence[float], point_y: MaybeSequence[float], point_z: MaybeSequence[float], point_1x: MaybeSequence[Union[float, int]], point_1y: MaybeSequence[Union[float, int]], point_1z: MaybeSequence[Union[float, int]], point_2x: MaybeSequence[Union[float, int]], point_2y: MaybeSequence[Union[float, int]], point_2z: MaybeSequence[Union[float, int]]) -> Sequence[float]
def distance_point_line_s(point_x: MaybeSequence[float], point_y: MaybeSequence[float], point_z: MaybeSequence[float], point_1x: MaybeSequence[Union[float, int]], point_1y: MaybeSequence[Union[float, int]], point_1z: MaybeSequence[Union[float, int]], point_2x: MaybeSequence[Union[float, int]], point_2y: MaybeSequence[Union[float, int]], point_2z: MaybeSequence[Union[float, int]]) -> float
描述
distance_point_linedistance_point_lineDistancePointLineDistancePointLineDistancePointLinedistance_point_line calculates the orthogonal distance
between 3D points and 3D lines. The lines are specified by two
points on the line ( and ).
The result is returned in DistanceDistanceDistanceDistancedistancedistance.
The input tuples can define 1 or n points.
The points are specified by
(PointXPointXPointXPointXpointXpoint_x, PointYPointYPointYPointYpointYpoint_y, PointZPointZPointZPointZpointZpoint_z).
The line is specified by two points on the line
(Point1XPoint1XPoint1XPoint1Xpoint1Xpoint_1x, Point1YPoint1YPoint1YPoint1Ypoint1Ypoint_1y, Point1ZPoint1ZPoint1ZPoint1Zpoint1Zpoint_1z) and
(Point2XPoint2XPoint2XPoint2Xpoint2Xpoint_2x, Point2YPoint2YPoint2YPoint2Ypoint2Ypoint_2y, Point2ZPoint2ZPoint2ZPoint2Zpoint2Zpoint_2z).
Let denote the point
(PointXPointXPointXPointXpointXpoint_x, PointYPointYPointYPointYpointYpoint_y, PointZPointZPointZPointZpointZpoint_z),
the first point
(Point1XPoint1XPoint1XPoint1Xpoint1Xpoint_1x, Point1YPoint1YPoint1YPoint1Ypoint1Ypoint_1y, Point1ZPoint1ZPoint1ZPoint1Zpoint1Zpoint_1z) on the line, and
the second point
(Point2XPoint2XPoint2XPoint2Xpoint2Xpoint_2x, Point2YPoint2YPoint2YPoint2Ypoint2Ypoint_2y, Point2ZPoint2ZPoint2ZPoint2Zpoint2Zpoint_2z) on the line.
First, the line direction
and
its length are computed.
If , the points and
do not define a line and an error is returned.
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 coordinate of the original points.
PointYPointYPointYPointYpointYpoint_y (输入控制) point3d.y(-array) → HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)
Y coordinate of the original points.
PointZPointZPointZPointZpointZpoint_z (输入控制) point3d.z(-array) → HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)
Z coordinate of the original points.
Point1XPoint1XPoint1XPoint1Xpoint1Xpoint_1x (输入控制) point3d.x(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X coordinate of the first point on the line.
Point1YPoint1YPoint1YPoint1Ypoint1Ypoint_1y (输入控制) point3d.y(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y coordinate of the first point on the line.
Point1ZPoint1ZPoint1ZPoint1Zpoint1Zpoint_1z (输入控制) point3d.z(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z coordinate of the first point on the line.
Point2XPoint2XPoint2XPoint2Xpoint2Xpoint_2x (输入控制) point3d.x(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X coordinate of the second point on the line.
Point2YPoint2YPoint2YPoint2Ypoint2Ypoint_2y (输入控制) point3d.y(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y coordinate of the second point on the line.
Point2ZPoint2ZPoint2ZPoint2Zpoint2Zpoint_2z (输入控制) point3d.z(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z coordinate of the second point on the line.
DistanceDistanceDistanceDistancedistancedistance (输出控制) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Distance between the points and the lines.
可能的前趋
get_line_of_sightget_line_of_sightGetLineOfSightGetLineOfSightGetLineOfSightget_line_of_sight
替代
distance_point_pluecker_linedistance_point_pluecker_lineDistancePointPlueckerLineDistancePointPlueckerLineDistancePointPlueckerLinedistance_point_pluecker_line
另见
point_pluecker_line_to_hom_mat3dpoint_pluecker_line_to_hom_mat3dPointPlueckerLineToHomMat3dPointPlueckerLineToHomMat3dPointPlueckerLineToHomMat3dpoint_pluecker_line_to_hom_mat3d
模块
基础