projection_plprojection_plProjectionPlProjectionPlprojection_pl (Operator)
Name
projection_plprojection_plProjectionPlProjectionPlprojection_pl — Berechnen der Projektion von einem Punkt auf eine Gerade.
Signatur
Herror projection_pl(double Row, double Column, double Row1, double Column1, double Row2, double Column2, double* RowProj, double* ColProj)
Herror T_projection_pl(const Htuple Row, const Htuple Column, const Htuple Row1, const Htuple Column1, const Htuple Row2, const Htuple Column2, Htuple* RowProj, Htuple* ColProj)
void ProjectionPl(const HTuple& Row, const HTuple& Column, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* RowProj, HTuple* ColProj)
static void HMisc::ProjectionPl(const HTuple& Row, const HTuple& Column, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* RowProj, HTuple* ColProj)
static void HMisc::ProjectionPl(double Row, double Column, double Row1, double Column1, double Row2, double Column2, double* RowProj, double* ColProj)
static void HOperatorSet.ProjectionPl(HTuple row, HTuple column, HTuple row1, HTuple column1, HTuple row2, HTuple column2, out HTuple rowProj, out HTuple colProj)
static void HMisc.ProjectionPl(HTuple row, HTuple column, HTuple row1, HTuple column1, HTuple row2, HTuple column2, out HTuple rowProj, out HTuple colProj)
static void HMisc.ProjectionPl(double row, double column, double row1, double column1, double row2, double column2, out double rowProj, out double colProj)
def projection_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]]) -> Tuple[Sequence[float], Sequence[float]]
def projection_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]]) -> Tuple[float, float]
Beschreibung
projection_plprojection_plProjectionPlProjectionPlProjectionPlprojection_pl berechnet die Projektion von einem Punkt
(RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn) auf eine Gerade. Die Gerade wird
durch die zwei Punkte (Row1Row1Row1Row1row1row_1,Column1Column1Column1Column1column1column_1) und
(Row2Row2Row2Row2row2row_2,Column2Column2Column2Column2column2column_2) beschrieben. Die Koordinaten des
projizierten Punktes werden in RowProjRowProjRowProjRowProjrowProjrow_proj und ColProjColProjColProjColProjcolProjcol_proj
zurückgegeben.
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 Punktes.
ColumnColumnColumnColumncolumncolumn (input_control) point.x(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des 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 auf der Geraden.
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 auf der Geraden.
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 auf der Geraden.
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 auf der Geraden.
RowProjRowProjRowProjRowProjrowProjrow_proj (output_control) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Zeilenkoordinate des Projektionspunktes.
ColProjColProjColProjColProjcolProjcol_proj (output_control) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Spaltenkoordinate des Projektionspunktes
Beispiel (HDevelop)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
Row1 := 300
Column1 := 200
Row2 := 140
Column2 := 400
Rows := 300
Columns := 170
dev_set_color ('cadet blue')
gen_contour_polygon_xld (Contour, [Row1,Row2], [Column1,Column2])
Offset := 0
for Rows := 40 to 280 by 40
dev_set_color ('red')
gen_cross_contour_xld (Point,Rows+Offset, Columns, 6, 0)
projection_pl (Rows+Offset, Columns, Row1, Column1, Row2, Column2, \
RowProj, ColProj)
dev_set_color ('blue')
gen_cross_contour_xld (RowP, RowProj, ColProj, 6, 0)
Offset := Offset+30
endfor
Beispiel (C)
projection_pl(row,column,row1,column1,row2,column2,
&row_proj,&col_proj);
Beispiel (HDevelop)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
Row1 := 300
Column1 := 200
Row2 := 140
Column2 := 400
Rows := 300
Columns := 170
dev_set_color ('cadet blue')
gen_contour_polygon_xld (Contour, [Row1,Row2], [Column1,Column2])
Offset := 0
for Rows := 40 to 280 by 40
dev_set_color ('red')
gen_cross_contour_xld (Point,Rows+Offset, Columns, 6, 0)
projection_pl (Rows+Offset, Columns, Row1, Column1, Row2, Column2, \
RowProj, ColProj)
dev_set_color ('blue')
gen_cross_contour_xld (RowP, RowProj, ColProj, 6, 0)
Offset := Offset+30
endfor
Beispiel (HDevelop)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
Row1 := 300
Column1 := 200
Row2 := 140
Column2 := 400
Rows := 300
Columns := 170
dev_set_color ('cadet blue')
gen_contour_polygon_xld (Contour, [Row1,Row2], [Column1,Column2])
Offset := 0
for Rows := 40 to 280 by 40
dev_set_color ('red')
gen_cross_contour_xld (Point,Rows+Offset, Columns, 6, 0)
projection_pl (Rows+Offset, Columns, Row1, Column1, Row2, Column2, \
RowProj, ColProj)
dev_set_color ('blue')
gen_cross_contour_xld (RowP, RowProj, ColProj, 6, 0)
Offset := Offset+30
endfor
Beispiel (HDevelop)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
Row1 := 300
Column1 := 200
Row2 := 140
Column2 := 400
Rows := 300
Columns := 170
dev_set_color ('cadet blue')
gen_contour_polygon_xld (Contour, [Row1,Row2], [Column1,Column2])
Offset := 0
for Rows := 40 to 280 by 40
dev_set_color ('red')
gen_cross_contour_xld (Point,Rows+Offset, Columns, 6, 0)
projection_pl (Rows+Offset, Columns, Row1, Column1, Row2, Column2, \
RowProj, ColProj)
dev_set_color ('blue')
gen_cross_contour_xld (RowP, RowProj, ColProj, 6, 0)
Offset := Offset+30
endfor
Ergebnis
projection_plprojection_plProjectionPlProjectionPlProjectionPlprojection_pl liefert den Wert TRUE.
Modul
Foundation