distance_pldistance_plDistancePlDistancePldistance_pl (Operator)
Name
distance_pldistance_plDistancePlDistancePldistance_pl — Berechnen des Abstandes zwischen einem Punkt und einer Geraden.
Signatur
Herror distance_pl(double Row, double Column, double Row1, double Column1, double Row2, double Column2, double* Distance)
Herror T_distance_pl(const Htuple Row, const Htuple Column, const Htuple Row1, const Htuple Column1, const Htuple Row2, const Htuple Column2, Htuple* Distance)
void DistancePl(const HTuple& Row, const HTuple& Column, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* Distance)
static HTuple HMisc::DistancePl(const HTuple& Row, const HTuple& Column, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2)
static double HMisc::DistancePl(double Row, double Column, double Row1, double Column1, double Row2, double Column2)
static void HOperatorSet.DistancePl(HTuple row, HTuple column, HTuple row1, HTuple column1, HTuple row2, HTuple column2, out HTuple distance)
static HTuple HMisc.DistancePl(HTuple row, HTuple column, HTuple row1, HTuple column1, HTuple row2, HTuple column2)
static double HMisc.DistancePl(double row, double column, double row1, double column1, double row2, double column2)
def distance_pl(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]]) -> Sequence[float]
def distance_pl_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]]) -> float
Beschreibung
distance_pldistance_plDistancePlDistancePldistance_pl berechnet den orthogonalen Abstand von
Punkten (RowRowRowrowrow,ColumnColumnColumncolumncolumn) zu Geraden,
gegeben durch zwei beliebige Punkte auf der Geraden.
Das Ergebnis wird im Parameter DistanceDistanceDistancedistancedistance übergeben.
Parameter-Broadcasting
Dieser Operator unterstützt Parameter-Broadcasting.
Das bedeutet, dass für jeden Parameter ein Tupel der Länge
1 oder 'N'"N""N""N""N" übergeben werden kann.
Tupel der Länge 1 werden wiederholt verwendet,
so dass immer 'N'"N""N""N""N" Distanzen berechnet und zurückgegeben werden.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
Parameter
RowRowRowrowrow (input_control) point.y(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des Punktes.
ColumnColumnColumncolumncolumn (input_control) point.x(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des Punktes.
Row1Row1Row1row1row_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 Geraden.
Column1Column1Column1column1column_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 Geraden.
Row2Row2Row2row2row_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 Geraden.
Column2Column2Column2column2column_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 Geraden.
DistanceDistanceDistancedistancedistance (output_control) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Abstand zwischen den Punkten.
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_pl (Row, Column, Row1, Column1, Row2, Column2, Distance)
Beispiel (C)
double row,column,row1,column1,row2,column2,distance;
draw_point(WindowHandle,&row,&column);
draw_line(WindowHandle,&row1,&column1,&row2,&column2);
distance_pl(row,column,row1,column1,row2,column2,&distance);
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_pl (Row, Column, Row1, Column1, Row2, Column2, Distance)
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_pl (Row, Column, Row1, Column1, Row2, Column2, Distance)
Ergebnis
distance_pldistance_plDistancePlDistancePldistance_pl liefert den Wert 2 (
H_MSG_TRUE)
.
Alternativen
distance_psdistance_psDistancePsDistancePsdistance_ps
Siehe auch
distance_ppdistance_ppDistancePpDistancePpdistance_pp,
distance_prdistance_prDistancePrDistancePrdistance_pr
Modul
Foundation