distance_psdistance_psDistancePsDistancePsdistance_ps (Operator)
Name
distance_psdistance_psDistancePsDistancePsdistance_ps — Berechnen der Abstände zwischen einem Punkt und einer Strecke.
Signatur
Herror distance_ps(double Row, double Column, double Row1, double Column1, double Row2, double Column2, double* DistanceMin, double* DistanceMax)
Herror T_distance_ps(const Htuple Row, const Htuple Column, const Htuple Row1, const Htuple Column1, const Htuple Row2, const Htuple Column2, Htuple* DistanceMin, Htuple* DistanceMax)
void DistancePs(const HTuple& Row, const HTuple& Column, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax)
static void HMisc::DistancePs(const HTuple& Row, const HTuple& Column, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax)
static void HMisc::DistancePs(double Row, double Column, double Row1, double Column1, double Row2, double Column2, double* DistanceMin, double* DistanceMax)
static void HOperatorSet.DistancePs(HTuple row, HTuple column, HTuple row1, HTuple column1, HTuple row2, HTuple column2, out HTuple distanceMin, out HTuple distanceMax)
static void HMisc.DistancePs(HTuple row, HTuple column, HTuple row1, HTuple column1, HTuple row2, HTuple column2, out HTuple distanceMin, out HTuple distanceMax)
static void HMisc.DistancePs(double row, double column, double row1, double column1, double row2, double column2, out double distanceMin, out double distanceMax)
def distance_ps(row: MaybeSequence[Union[float, int]], column: MaybeSequence[Union[float, int]], row_1: MaybeSequence[Union[float, int]], column_1: MaybeSequence[Union[float, int]], row_2: MaybeSequence[Union[float, int]], column_2: MaybeSequence[Union[float, int]]) -> Tuple[Sequence[float], Sequence[float]]
def distance_ps_s(row: MaybeSequence[Union[float, int]], column: MaybeSequence[Union[float, int]], row_1: MaybeSequence[Union[float, int]], column_1: MaybeSequence[Union[float, int]], row_2: MaybeSequence[Union[float, int]], column_2: MaybeSequence[Union[float, int]]) -> Tuple[float, float]
Beschreibung
distance_psdistance_psDistancePsDistancePsDistancePsdistance_ps berechnet den minimalen und den maximalen Abstand
zwischen einem Punkt (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn) und einer Strecke.
Die Strecke wird durch ihre Anfangs- (Row1Row1Row1Row1row1row_1,Column1Column1Column1Column1column1column_1)
und Endkoordinate (Row2Row2Row2Row2row2row_2,Column2Column2Column2Column2column2column_2) beschrieben.
DistanceMaxDistanceMaxDistanceMaxDistanceMaxdistanceMaxdistance_max ist der maximale Abstand zu den beiden
Endpunkten der Strecke.
DistanceMinDistanceMinDistanceMinDistanceMindistanceMindistance_min liefert den Abstand senkrecht zur Strecke
(analog zu distance_pldistance_plDistancePlDistancePlDistancePldistance_pl), falls der Punkt „zwischen“
den Endpunkten liegt. Ansonsten wird der minimale Anstand zu einem
der Endpunkte verwendet.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
RowRowRowRowrowrow (input_control) point.y(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Punktes.
ColumnColumnColumnColumncolumncolumn (input_control) point.x(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Punktes.
Row1Row1Row1Row1row1row_1 (input_control) point.y(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Punktes der Strecke.
Column1Column1Column1Column1column1column_1 (input_control) point.x(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Punktes der Strecke.
Row2Row2Row2Row2row2row_2 (input_control) point.y(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des zweiten Punktes der Strecke.
Column2Column2Column2Column2column2column_2 (input_control) point.x(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des zweiten Punktes der Strecke.
DistanceMinDistanceMinDistanceMinDistanceMindistanceMindistance_min (output_control) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Minimaler Abstand zwischen Punkt und Strecke.
DistanceMaxDistanceMaxDistanceMaxDistanceMaxdistanceMaxdistance_max (output_control) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Maximaler Abstand zwischen Punkt und Strecke.
Beispiel (HDevelop)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
draw_point (WindowHandle, Row, Column)
gen_cross_contour_xld (Cross, Row, Column, 15, 0)
draw_line (WindowHandle, Row1, Column1, Row2, Column2)
gen_contour_polygon_xld (Contour, [Row1,Row2], [Column1,Column2])
distance_ps (Row, Column, Row1, Column1, Row2, Column2, \
DistanceMin, DistanceMax)
Beispiel (C)
double row,column,row1,column1,row2,column2;
double distance_min,distance_max;
draw_point(WindowHandle,&row,&column);
draw_line(WindowHandle,&row1,&column1,&row2,&column2);
distance_pl(row,column,row1,column1,row2,column2,
&distance_min,&distance_max);
Beispiel (HDevelop)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
draw_point (WindowHandle, Row, Column)
gen_cross_contour_xld (Cross, Row, Column, 15, 0)
draw_line (WindowHandle, Row1, Column1, Row2, Column2)
gen_contour_polygon_xld (Contour, [Row1,Row2], [Column1,Column2])
distance_ps (Row, Column, Row1, Column1, Row2, Column2, \
DistanceMin, DistanceMax)
Beispiel (HDevelop)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
draw_point (WindowHandle, Row, Column)
gen_cross_contour_xld (Cross, Row, Column, 15, 0)
draw_line (WindowHandle, Row1, Column1, Row2, Column2)
gen_contour_polygon_xld (Contour, [Row1,Row2], [Column1,Column2])
distance_ps (Row, Column, Row1, Column1, Row2, Column2, \
DistanceMin, DistanceMax)
Beispiel (HDevelop)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
draw_point (WindowHandle, Row, Column)
gen_cross_contour_xld (Cross, Row, Column, 15, 0)
draw_line (WindowHandle, Row1, Column1, Row2, Column2)
gen_contour_polygon_xld (Contour, [Row1,Row2], [Column1,Column2])
distance_ps (Row, Column, Row1, Column1, Row2, Column2, \
DistanceMin, DistanceMax)
Ergebnis
distance_psdistance_psDistancePsDistancePsDistancePsdistance_ps liefert den Wert 2 (H_MSG_TRUE).
Alternativen
distance_pldistance_plDistancePlDistancePlDistancePldistance_pl
Siehe auch
distance_ppdistance_ppDistancePpDistancePpDistancePpdistance_pp,
distance_prdistance_prDistancePrDistancePrDistancePrdistance_pr
Modul
Foundation