distance_point_pluecker_line distance_point_pluecker_line DistancePointPlueckerLine DistancePointPlueckerLine distance_point_pluecker_line (Operator)
distance_point_pluecker_line distance_point_pluecker_line DistancePointPlueckerLine DistancePointPlueckerLine distance_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_line distance_point_pluecker_line DistancePointPlueckerLine DistancePointPlueckerLine distance_point_pluecker_line
calculates the orthogonal
distance between 3D points and 3D lines.
The result is returned in Distance Distance Distance distance distance
.
The input tuples can define 1 or n points
and lines, respectively.
The points are specified by
(PointX PointX PointX pointX point_x
, PointY PointY PointY pointY point_y
, PointZ PointZ PointZ pointZ point_z
).
The lines are given in Plücker coordinates
(LineDirectionX LineDirectionX LineDirectionX lineDirectionX line_direction_x
, LineDirectionY LineDirectionY LineDirectionY lineDirectionY line_direction_y
, LineDirectionZ LineDirectionZ LineDirectionZ lineDirectionZ line_direction_z
)
and
(LineMomentX LineMomentX LineMomentX lineMomentX line_moment_x
, LineMomentY LineMomentY LineMomentY lineMomentY line_moment_y
, LineMomentZ LineMomentZ LineMomentZ lineMomentZ line_moment_z
).
For the definition of Plücker coordinates, see
“Solution Guide III-C - 3D Vision”
.
Let
denote the point
(PointX PointX PointX pointX point_x
, PointY PointY PointY pointY point_y
, PointZ PointZ PointZ pointZ point_z
),
the direction
(LineDirectionX LineDirectionX LineDirectionX lineDirectionX line_direction_x
, LineDirectionY LineDirectionY LineDirectionY lineDirectionY line_direction_y
, LineDirectionZ LineDirectionZ LineDirectionZ lineDirectionZ line_direction_z
),
and
the moment
(LineMomentX LineMomentX LineMomentX lineMomentX line_moment_x
, LineMomentY LineMomentY LineMomentY lineMomentY line_moment_y
, LineMomentZ LineMomentZ LineMomentZ lineMomentZ line_moment_z
)
of the Plücker line.
Furthermore, let
denote the distance Distance Distance Distance distance distance
. 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
PointX PointX PointX pointX point_x
(input_control) point3d.x(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
X coordinates of the original points.
PointY PointY PointY pointY point_y
(input_control) point3d.y(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Y coordinates of the original points.
PointZ PointZ PointZ pointZ point_z
(input_control) point3d.z(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Z coordinates of the original points.
LineDirectionX LineDirectionX LineDirectionX lineDirectionX line_direction_x
(input_control) point3d.x(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X component of the direction vector of the corresponding
line.
LineDirectionY LineDirectionY LineDirectionY lineDirectionY line_direction_y
(input_control) point3d.y(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y component of the direction vector of the corresponding
line.
LineDirectionZ LineDirectionZ LineDirectionZ lineDirectionZ line_direction_z
(input_control) point3d.z(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z component of the direction vector of the corresponding
line.
LineMomentX LineMomentX LineMomentX lineMomentX line_moment_x
(input_control) point3d.x(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X component of the moment vector of the corresponding
line.
LineMomentY LineMomentY LineMomentY lineMomentY line_moment_y
(input_control) point3d.y(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y component of the moment vector of the corresponding
line.
LineMomentZ LineMomentZ LineMomentZ lineMomentZ line_moment_z
(input_control) point3d.z(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z component of the moment vector of the corresponding
line.
Distance Distance Distance distance distance
(output_control) real(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Distance between the points and the lines.
Possible Predecessors
points_to_pluecker_line points_to_pluecker_line PointsToPlueckerLine PointsToPlueckerLine points_to_pluecker_line
,
point_direction_to_pluecker_line point_direction_to_pluecker_line PointDirectionToPlueckerLine PointDirectionToPlueckerLine point_direction_to_pluecker_line
Alternatives
distance_point_line distance_point_line DistancePointLine DistancePointLine distance_point_line
See also
point_pluecker_line_to_hom_mat3d point_pluecker_line_to_hom_mat3d PointPlueckerLineToHomMat3d PointPlueckerLineToHomMat3d point_pluecker_line_to_hom_mat3d
Module
Foundation