intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleintersection_segment_circle (Operator)
Name
intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleintersection_segment_circle — Berechnet die Schnittpunkte von einem Geradenabschnitt
und einem Kreis oder Kreisbogen
Signatur
intersection_segment_circle( : : SegmentRow1, SegmentColumn1, SegmentRow2, SegmentColumn2, CircleRow, CircleColumn, CircleRadius, CircleStartPhi, CircleEndPhi, CirclePointOrder : Row, Column)
Herror intersection_segment_circle(double SegmentRow1, double SegmentColumn1, double SegmentRow2, double SegmentColumn2, double CircleRow, double CircleColumn, double CircleRadius, double CircleStartPhi, double CircleEndPhi, const char* CirclePointOrder, double* Row, double* Column)
Herror T_intersection_segment_circle(const Htuple SegmentRow1, const Htuple SegmentColumn1, const Htuple SegmentRow2, const Htuple SegmentColumn2, const Htuple CircleRow, const Htuple CircleColumn, const Htuple CircleRadius, const Htuple CircleStartPhi, const Htuple CircleEndPhi, const Htuple CirclePointOrder, Htuple* Row, Htuple* Column)
void IntersectionSegmentCircle(const HTuple& SegmentRow1, const HTuple& SegmentColumn1, const HTuple& SegmentRow2, const HTuple& SegmentColumn2, const HTuple& CircleRow, const HTuple& CircleColumn, const HTuple& CircleRadius, const HTuple& CircleStartPhi, const HTuple& CircleEndPhi, const HTuple& CirclePointOrder, HTuple* Row, HTuple* Column)
static void HOperatorSet.IntersectionSegmentCircle(HTuple segmentRow1, HTuple segmentColumn1, HTuple segmentRow2, HTuple segmentColumn2, HTuple circleRow, HTuple circleColumn, HTuple circleRadius, HTuple circleStartPhi, HTuple circleEndPhi, HTuple circlePointOrder, out HTuple row, out HTuple column)
def intersection_segment_circle(segment_row_1: Union[float, int], segment_column_1: Union[float, int], segment_row_2: Union[float, int], segment_column_2: Union[float, int], circle_row: Union[float, int], circle_column: Union[float, int], circle_radius: Union[float, int], circle_start_phi: float, circle_end_phi: float, circle_point_order: str) -> Tuple[Sequence[float], Sequence[float]]
def intersection_segment_circle_s(segment_row_1: Union[float, int], segment_column_1: Union[float, int], segment_row_2: Union[float, int], segment_column_2: Union[float, int], circle_row: Union[float, int], circle_column: Union[float, int], circle_radius: Union[float, int], circle_start_phi: float, circle_end_phi: float, circle_point_order: str) -> Tuple[float, float]
Beschreibung
intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleIntersectionSegmentCircleintersection_segment_circle berechnet den Schnittpunkt von einem
Geradenabschnitt und einem Kreis oder Kreisbogen.
Der Geradenabschnitt wird über dessen Endpunkte
(SegmentRow1SegmentRow1SegmentRow1SegmentRow1segmentRow1segment_row_1,SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1segmentColumn1segment_column_1) und
(SegmentRow2SegmentRow2SegmentRow2SegmentRow2segmentRow2segment_row_2,SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2segmentColumn2segment_column_2), der Kreis über dessen
Mittelpunkt (CircleRowCircleRowCircleRowCircleRowcircleRowcircle_row,CircleColumnCircleColumnCircleColumnCircleColumncircleColumncircle_column) und Radius
CircleRadiusCircleRadiusCircleRadiusCircleRadiuscircleRadiuscircle_radius definiert. Ein Kreisbogen wird zusätzlich durch den
Anfangs- und Endwinkel CircleStartPhiCircleStartPhiCircleStartPhiCircleStartPhicircleStartPhicircle_start_phi und CircleEndPhiCircleEndPhiCircleEndPhiCircleEndPhicircleEndPhicircle_end_phi
des Start- bzw. Endpunktes, sowie durch dessen Umlaufsinn
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order charakterisiert.
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order = 'positive'"positive""positive""positive""positive""positive" definiert den Kreisbogen
gegen den Uhrzeigersinn.
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order = 'negative'"negative""negative""negative""negative""negative" definiert den Kreisbogen
im Uhrzeigersinn.
Die Schnittpunkte, falls vorhanden, werden in (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn)
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
SegmentRow1SegmentRow1SegmentRow1SegmentRow1segmentRow1segment_row_1 (input_control) point.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Punktes
des Geradenabschnitts.
SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1segmentColumn1segment_column_1 (input_control) point.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Punktes
des Geradenabschnitts.
SegmentRow2SegmentRow2SegmentRow2SegmentRow2segmentRow2segment_row_2 (input_control) point.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des zweiten Punktes
des Geradenabschnitts.
SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2segmentColumn2segment_column_2 (input_control) point.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des zweiten Punktes
des Geradenabschnitts.
CircleRowCircleRowCircleRowCircleRowcircleRowcircle_row (input_control) circle.center.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des Kreismittelpunktes.
CircleColumnCircleColumnCircleColumnCircleColumncircleColumncircle_column (input_control) circle.center.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des Kreismittelpunktes.
CircleRadiusCircleRadiusCircleRadiusCircleRadiuscircleRadiuscircle_radius (input_control) circle.radius → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Radius des Kreises.
CircleStartPhiCircleStartPhiCircleStartPhiCircleStartPhicircleStartPhicircle_start_phi (input_control) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Winkel des Startpunktes des Kreises
oder Kreisbogens [rad].
Defaultwert: 0.0
CircleEndPhiCircleEndPhiCircleEndPhiCircleEndPhicircleEndPhicircle_end_phi (input_control) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Winkel des Endpunktes des Kreises
oder Kreisbogens [rad].
Defaultwert: 6.28318
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Mathematischer Umlaufsinn des Kreises oder Kreisbogens.
Defaultwert:
'positive'
"positive"
"positive"
"positive"
"positive"
"positive"
Werteliste: 'negative'"negative""negative""negative""negative""negative", 'positive'"positive""positive""positive""positive""positive"
RowRowRowRowrowrow (output_control) point.y(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Zeilenkoordinaten der Schnittpunkte.
ColumnColumnColumnColumncolumncolumn (output_control) point.x(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Spaltenkoordinaten der Schnittpunkte.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleIntersectionSegmentCircleintersection_segment_circle den Wert TRUE.
Alternativen
intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xld
Siehe auch
intersection_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircleIntersectionLineCircleintersection_line_circle
Modul
Foundation