pluecker_line_to_point_direction pluecker_line_to_point_direction PlueckerLineToPointDirection PlueckerLineToPointDirection pluecker_line_to_point_direction (Operator)
Name
pluecker_line_to_point_direction pluecker_line_to_point_direction PlueckerLineToPointDirection PlueckerLineToPointDirection pluecker_line_to_point_direction
— Convert a 3D line given by Plücker coordinates to a 3D line given by
a point and a direction.
Signature
pluecker_line_to_point_direction ( : : LineDirectionX , LineDirectionY , LineDirectionZ , LineMomentX , LineMomentY , LineMomentZ : PointX , PointY , PointZ , DirectionX , DirectionY , DirectionZ )
Herror pluecker_line_to_point_direction (double LineDirectionX , double LineDirectionY , double LineDirectionZ , double LineMomentX , double LineMomentY , double LineMomentZ , double* PointX , double* PointY , double* PointZ , double* DirectionX , double* DirectionY , double* DirectionZ )
Herror T_pluecker_line_to_point_direction (const Htuple LineDirectionX , const Htuple LineDirectionY , const Htuple LineDirectionZ , const Htuple LineMomentX , const Htuple LineMomentY , const Htuple LineMomentZ , Htuple* PointX , Htuple* PointY , Htuple* PointZ , Htuple* DirectionX , Htuple* DirectionY , Htuple* DirectionZ )
void PlueckerLineToPointDirection (const HTuple& LineDirectionX , const HTuple& LineDirectionY , const HTuple& LineDirectionZ , const HTuple& LineMomentX , const HTuple& LineMomentY , const HTuple& LineMomentZ , HTuple* PointX , HTuple* PointY , HTuple* PointZ , HTuple* DirectionX , HTuple* DirectionY , HTuple* DirectionZ )
static void HMisc ::PlueckerLineToPointDirection (const HTuple& LineDirectionX , const HTuple& LineDirectionY , const HTuple& LineDirectionZ , const HTuple& LineMomentX , const HTuple& LineMomentY , const HTuple& LineMomentZ , HTuple* PointX , HTuple* PointY , HTuple* PointZ , HTuple* DirectionX , HTuple* DirectionY , HTuple* DirectionZ )
static void HMisc ::PlueckerLineToPointDirection (double LineDirectionX , double LineDirectionY , double LineDirectionZ , double LineMomentX , double LineMomentY , double LineMomentZ , double* PointX , double* PointY , double* PointZ , double* DirectionX , double* DirectionY , double* DirectionZ )
static void HOperatorSet .PlueckerLineToPointDirection (HTuple lineDirectionX , HTuple lineDirectionY , HTuple lineDirectionZ , HTuple lineMomentX , HTuple lineMomentY , HTuple lineMomentZ , out HTuple pointX , out HTuple pointY , out HTuple pointZ , out HTuple directionX , out HTuple directionY , out HTuple directionZ )
static void HMisc .PlueckerLineToPointDirection (HTuple lineDirectionX , HTuple lineDirectionY , HTuple lineDirectionZ , HTuple lineMomentX , HTuple lineMomentY , HTuple lineMomentZ , out HTuple pointX , out HTuple pointY , out HTuple pointZ , out HTuple directionX , out HTuple directionY , out HTuple directionZ )
static void HMisc .PlueckerLineToPointDirection (double lineDirectionX , double lineDirectionY , double lineDirectionZ , double lineMomentX , double lineMomentY , double lineMomentZ , out double pointX , out double pointY , out double pointZ , out double directionX , out double directionY , out double directionZ )
def pluecker_line_to_point_direction (line_direction_x : MaybeSequence[float], line_direction_y : MaybeSequence[float], line_direction_z : MaybeSequence[float], line_moment_x : MaybeSequence[float], line_moment_y : MaybeSequence[float], line_moment_z : MaybeSequence[float]) -> Tuple[Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float]]
def pluecker_line_to_point_direction_s (line_direction_x : MaybeSequence[float], line_direction_y : MaybeSequence[float], line_direction_z : MaybeSequence[float], line_moment_x : MaybeSequence[float], line_moment_y : MaybeSequence[float], line_moment_z : MaybeSequence[float]) -> Tuple[float, float, float, float, float, float]
Description
pluecker_line_to_point_direction pluecker_line_to_point_direction PlueckerLineToPointDirection PlueckerLineToPointDirection pluecker_line_to_point_direction
converts a 3D line given by
Plücker coordinates to a line given by a point on the line and the
direction of the line.
The line is 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
).
The direction is given by
(DirectionX DirectionX DirectionX directionX direction_x
, DirectionY DirectionY DirectionY directionY direction_y
, DirectionZ DirectionZ DirectionZ directionZ direction_z
) of the line.
and the point on the line by
(PointX PointX PointX pointX point_x
, PointY PointY PointY pointY point_y
, PointZ PointZ PointZ pointZ point_z
).
For the definition of Plücker coordinates, see
“Solution Guide III-C - 3D Vision”
.
All input tuples must be of same length.
Let
denote the line direction
(LineDirectionX LineDirectionX LineDirectionX lineDirectionX line_direction_x
, LineDirectionY LineDirectionY LineDirectionY lineDirectionY line_direction_y
, LineDirectionZ LineDirectionZ LineDirectionZ lineDirectionZ line_direction_z
),
the line moment
(LineMomentX LineMomentX LineMomentX lineMomentX line_moment_x
, LineMomentY LineMomentY LineMomentY lineMomentY line_moment_y
, LineMomentZ LineMomentZ LineMomentZ lineMomentZ line_moment_z
),
the point
(PointX PointX PointX pointX point_x
, PointY PointY PointY pointY point_y
, PointZ PointZ PointZ pointZ point_z
) on the line, and
the direction
(DirectionX DirectionX DirectionX directionX direction_x
, DirectionY DirectionY DirectionY directionY direction_y
, DirectionZ DirectionZ DirectionZ directionZ direction_z
) of the line.
Then,
and
.
Note that
is the point on the line closest to the origin.
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
LineDirectionX LineDirectionX LineDirectionX lineDirectionX line_direction_x
(input_control) point3d.x(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
X component of the direction vector of the line.
LineDirectionY LineDirectionY LineDirectionY lineDirectionY line_direction_y
(input_control) point3d.y(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Y component of the direction vector of the line.
LineDirectionZ LineDirectionZ LineDirectionZ lineDirectionZ line_direction_z
(input_control) point3d.z(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Z component of the direction vector of the line.
LineMomentX LineMomentX LineMomentX lineMomentX line_moment_x
(input_control) point3d.x(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
X component of the moment vector of the line.
LineMomentY LineMomentY LineMomentY lineMomentY line_moment_y
(input_control) point3d.y(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Y component of the moment vector of the line.
LineMomentZ LineMomentZ LineMomentZ lineMomentZ line_moment_z
(input_control) point3d.z(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Z component of the moment vector of the line.
PointX PointX PointX pointX point_x
(output_control) point3d.x(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
X coordinate of the first point on the line.
PointY PointY PointY pointY point_y
(output_control) point3d.y(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Y coordinate of the first point on the line.
PointZ PointZ PointZ pointZ point_z
(output_control) point3d.z(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Z coordinate of the first point on the line.
DirectionX DirectionX DirectionX directionX direction_x
(output_control) point3d.x(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
X coordinates of the direction of the line.
DirectionY DirectionY DirectionY directionY direction_y
(output_control) point3d.y(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Y coordinates of the direction of the line.
DirectionZ DirectionZ DirectionZ directionZ direction_z
(output_control) point3d.z(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Z coordinates of the direction of the line.
Alternatives
pluecker_line_to_points pluecker_line_to_points PlueckerLineToPoints PlueckerLineToPoints pluecker_line_to_points
See also
point_direction_to_pluecker_line point_direction_to_pluecker_line PointDirectionToPlueckerLine PointDirectionToPlueckerLine point_direction_to_pluecker_line
Module
Foundation