distance_ppDistancePpDistancePpdistance_ppdistance_pp
Short description
distance_ppDistancePpDistancePpdistance_ppdistance_pp — Calculate the distance between two points.
Signature
distance_pp( point.y Row1, point.x Column1, point.y Row2, point.x Column2, out real Distance )void DistancePp( const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* Distance )static void HOperatorSet.DistancePp( HTuple row1, HTuple column1, HTuple row2, HTuple column2, out HTuple distance )def distance_pp( row_1: MaybeSequence[Union[float, int]], column_1: MaybeSequence[Union[float, int]], row_2: MaybeSequence[Union[float, int]], column_2: MaybeSequence[Union[float, int]] ) -> Sequence[float]
def distance_pp_s( row_1: MaybeSequence[Union[float, int]], column_1: MaybeSequence[Union[float, int]], row_2: MaybeSequence[Union[float, int]], column_2: MaybeSequence[Union[float, int]] ) -> floatHerror distance_pp( double Row1, double Column1, double Row2, double Column2, double* Distance )
Herror T_distance_pp( const Htuple Row1, const Htuple Column1, const Htuple Row2, const Htuple Column2, Htuple* Distance )
static HTuple HMisc::DistancePp( const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2 )
static double HMisc::DistancePp( double Row1, double Column1, double Row2, double Column2 )
static HTuple HMisc.DistancePp( HTuple row1, HTuple column1, HTuple row2, HTuple column2 )
static double HMisc.DistancePp( double row1, double column1, double row2, double column2 )
Description
The operator distance_ppDistancePp calculates the distance between pairs
of points
according to the following formula:
\[\begin{eqnarray*} \textrm{Distance} = \sqrt{((\textrm{Row1}-\textrm{Row2})^2+(\textrm{Column1}-\textrm{Column2})^2)} \end{eqnarray*}\]
The result is returned in Distancedistancedistance.
Parameter Broadcasting
This operator supports parameter broadcasting.
This means that each parameter can be given as a tuple of length
1 or N.
Parameters with tuple length 1 will be repeated internally
such that the number of computed distances is always N.
Execution information
-
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
-
Multithreading scope: global (may be called from any thread).
-
Automatically parallelized on internal data level.
Parameters
Row1row1row_1 (input_control) point.y(-array) → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)MaybeSequence[Union[float, int]]Htuple (double / Hlong)
Row coordinate of the first point.
Column1column1column_1 (input_control) point.x(-array) → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)MaybeSequence[Union[float, int]]Htuple (double / Hlong)
Column coordinate of the first point.
Row2row2row_2 (input_control) point.y(-array) → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)MaybeSequence[Union[float, int]]Htuple (double / Hlong)
Row coordinate of the second point.
Column2column2column_2 (input_control) point.x(-array) → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)MaybeSequence[Union[float, int]]Htuple (double / Hlong)
Column coordinate of the second point.
Distancedistancedistance (output_control) real(-array) → (real)HTuple (double)HTuple (double)Sequence[float]Htuple (double)
Distance between the points.
Example
(HDevelop)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
draw_point (WindowHandle, Row1, Column1)
gen_cross_contour_xld (Cross, Row1, Column1, 15, 0)
draw_point (WindowHandle, Row2, Column2)
gen_cross_contour_xld (Cross, Row2, Column2, 15, 0)
distance_pp (Row1, Column1, Row2, Column2, Distance)
(C)
double row1,column1,row2,column2,distance\;
draw_point(WindowHandle,&row1,&column1)\;
draw_point(WindowHandle,&row2,&column2)\;
distance_pp(row1,column1,row2,column2,&distance)\;
Result
distance_ppDistancePp returns 2 (H_MSG_TRUE).
Combinations with other operators
Combinations
Alternatives
distance_psDistancePs
See also
distance_plDistancePl, distance_prDistancePr
Module
Foundation