Operator Reference

distance_point_pluecker_linedistance_point_pluecker_lineDistancePointPlueckerLineDistancePointPlueckerLinedistance_point_pluecker_line (Operator)

distance_point_pluecker_linedistance_point_pluecker_lineDistancePointPlueckerLineDistancePointPlueckerLinedistance_point_pluecker_line — Calculate the distance between a 3D point and a 3D line given by Plücker coordinates.

Signature

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

Description

distance_point_pluecker_linedistance_point_pluecker_lineDistancePointPlueckerLineDistancePointPlueckerLinedistance_point_pluecker_line calculates the orthogonal distance between 3D points and 3D lines. The result is returned in DistanceDistanceDistancedistancedistance. The input tuples can define 1 or n points and lines, respectively. The points are specified by (PointXPointXPointXpointXpoint_x, PointYPointYPointYpointYpoint_y, PointZPointZPointZpointZpoint_z). The lines are given in Plücker coordinates (LineDirectionXLineDirectionXLineDirectionXlineDirectionXline_direction_x, LineDirectionYLineDirectionYLineDirectionYlineDirectionYline_direction_y, LineDirectionZLineDirectionZLineDirectionZlineDirectionZline_direction_z) and (LineMomentXLineMomentXLineMomentXlineMomentXline_moment_x, LineMomentYLineMomentYLineMomentYlineMomentYline_moment_y, LineMomentZLineMomentZLineMomentZlineMomentZline_moment_z). For the definition of Plücker coordinates, see “Solution Guide III-C - 3D Vision”.

Let denote the point (PointXPointXPointXpointXpoint_x, PointYPointYPointYpointYpoint_y, PointZPointZPointZpointZpoint_z), the direction (LineDirectionXLineDirectionXLineDirectionXlineDirectionXline_direction_x, LineDirectionYLineDirectionYLineDirectionYlineDirectionYline_direction_y, LineDirectionZLineDirectionZLineDirectionZlineDirectionZline_direction_z), and the moment (LineMomentXLineMomentXLineMomentXlineMomentXline_moment_x, LineMomentYLineMomentYLineMomentYlineMomentYline_moment_y, LineMomentZLineMomentZLineMomentZlineMomentZline_moment_z) of the Plücker line. Furthermore, let denote the distance DistanceDistanceDistancedistancedistance. Then, , where denotes the cross product of two vectors.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

PointXPointXPointXpointXpoint_x (input_control)  point3d.x(-array) HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)

X coordinates of the original points.

PointYPointYPointYpointYpoint_y (input_control)  point3d.y(-array) HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)

Y coordinates of the original points.

PointZPointZPointZpointZpoint_z (input_control)  point3d.z(-array) HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)

Z coordinates of the original points.

LineDirectionXLineDirectionXLineDirectionXlineDirectionXline_direction_x (input_control)  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.

LineDirectionYLineDirectionYLineDirectionYlineDirectionYline_direction_y (input_control)  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.

LineDirectionZLineDirectionZLineDirectionZlineDirectionZline_direction_z (input_control)  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.

LineMomentXLineMomentXLineMomentXlineMomentXline_moment_x (input_control)  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.

LineMomentYLineMomentYLineMomentYlineMomentYline_moment_y (input_control)  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.

LineMomentZLineMomentZLineMomentZlineMomentZline_moment_z (input_control)  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.

DistanceDistanceDistancedistancedistance (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Distance between the points and the lines.

Possible Predecessors

points_to_pluecker_linepoints_to_pluecker_linePointsToPlueckerLinePointsToPlueckerLinepoints_to_pluecker_line, point_direction_to_pluecker_linepoint_direction_to_pluecker_linePointDirectionToPlueckerLinePointDirectionToPlueckerLinepoint_direction_to_pluecker_line

Alternatives

distance_point_linedistance_point_lineDistancePointLineDistancePointLinedistance_point_line

See also

point_pluecker_line_to_hom_mat3dpoint_pluecker_line_to_hom_mat3dPointPlueckerLineToHomMat3dPointPlueckerLineToHomMat3dpoint_pluecker_line_to_hom_mat3d

Module

Foundation