distance_point_linedistance_point_lineDistancePointLineDistancePointLinedistance_point_line (算子)

名称

distance_point_linedistance_point_lineDistancePointLineDistancePointLinedistance_point_line — 计算一个三维点和一条由线上两点给出的三维线之间的距离。

签名

distance_point_line( : : PointX, PointY, PointZ, Point1X, Point1Y, Point1Z, Point2X, Point2Y, Point2Z : Distance)

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

模块

基础