intersection_circlesintersection_circlesIntersectionCirclesIntersectionCirclesintersection_circles (Operator)
Name
intersection_circlesintersection_circlesIntersectionCirclesIntersectionCirclesintersection_circles — Berechnet die Schnittpunkte von zwei Kreisen oder Kreisbögen
Signatur
intersection_circles( : : Circle1Row, Circle1Column, Circle1Radius, Circle1StartPhi, Circle1EndPhi, Circle1PointOrder, Circle2Row, Circle2Column, Circle2Radius, Circle2StartPhi, Circle2EndPhi, Circle2PointOrder : Row, Column, IsOverlapping)
Herror intersection_circles(double Circle1Row, double Circle1Column, double Circle1Radius, double Circle1StartPhi, double Circle1EndPhi, const char* Circle1PointOrder, double Circle2Row, double Circle2Column, double Circle2Radius, double Circle2StartPhi, double Circle2EndPhi, const char* Circle2PointOrder, double* Row, double* Column, Hlong* IsOverlapping)
Herror T_intersection_circles(const Htuple Circle1Row, const Htuple Circle1Column, const Htuple Circle1Radius, const Htuple Circle1StartPhi, const Htuple Circle1EndPhi, const Htuple Circle1PointOrder, const Htuple Circle2Row, const Htuple Circle2Column, const Htuple Circle2Radius, const Htuple Circle2StartPhi, const Htuple Circle2EndPhi, const Htuple Circle2PointOrder, Htuple* Row, Htuple* Column, Htuple* IsOverlapping)
void IntersectionCircles(const HTuple& Circle1Row, const HTuple& Circle1Column, const HTuple& Circle1Radius, const HTuple& Circle1StartPhi, const HTuple& Circle1EndPhi, const HTuple& Circle1PointOrder, const HTuple& Circle2Row, const HTuple& Circle2Column, const HTuple& Circle2Radius, const HTuple& Circle2StartPhi, const HTuple& Circle2EndPhi, const HTuple& Circle2PointOrder, HTuple* Row, HTuple* Column, HTuple* IsOverlapping)
static void HOperatorSet.IntersectionCircles(HTuple circle1Row, HTuple circle1Column, HTuple circle1Radius, HTuple circle1StartPhi, HTuple circle1EndPhi, HTuple circle1PointOrder, HTuple circle2Row, HTuple circle2Column, HTuple circle2Radius, HTuple circle2StartPhi, HTuple circle2EndPhi, HTuple circle2PointOrder, out HTuple row, out HTuple column, out HTuple isOverlapping)
def intersection_circles(circle_1row: Union[float, int], circle_1column: Union[float, int], circle_1radius: Union[float, int], circle_1start_phi: float, circle_1end_phi: float, circle_1point_order: str, circle_2row: Union[float, int], circle_2column: Union[float, int], circle_2radius: Union[float, int], circle_2start_phi: float, circle_2end_phi: float, circle_2point_order: str) -> Tuple[Sequence[float], Sequence[float], int]
def intersection_circles_s(circle_1row: Union[float, int], circle_1column: Union[float, int], circle_1radius: Union[float, int], circle_1start_phi: float, circle_1end_phi: float, circle_1point_order: str, circle_2row: Union[float, int], circle_2column: Union[float, int], circle_2radius: Union[float, int], circle_2start_phi: float, circle_2end_phi: float, circle_2point_order: str) -> Tuple[float, float, int]
Beschreibung
intersection_circlesintersection_circlesIntersectionCirclesIntersectionCirclesIntersectionCirclesintersection_circles berechnet die Schnittpunkte von zwei
Kreisen oder Kreisbögen, die, falls vorhanden, in
(RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn) zurückgegeben werden.
Die Kreise werden über deren Mittelpunkte
(Circle1RowCircle1RowCircle1RowCircle1Rowcircle1Rowcircle_1row,Circle1ColumnCircle1ColumnCircle1ColumnCircle1Columncircle1Columncircle_1column) bzw.
(Circle2RowCircle2RowCircle2RowCircle2Rowcircle2Rowcircle_2row,Circle2ColumnCircle2ColumnCircle2ColumnCircle2Columncircle2Columncircle_2column) und
deren Radien Circle1RadiusCircle1RadiusCircle1RadiusCircle1Radiuscircle1Radiuscircle_1radius bzw. Circle2RadiusCircle2RadiusCircle2RadiusCircle2Radiuscircle2Radiuscircle_2radius definiert.
Ein Kreisbogen wird zusätzlich durch den
Anfangs- und Endwinkel Circle1StartPhiCircle1StartPhiCircle1StartPhiCircle1StartPhicircle1StartPhicircle_1start_phi und Circle1EndPhiCircle1EndPhiCircle1EndPhiCircle1EndPhicircle1EndPhicircle_1end_phi
bzw. Circle2StartPhiCircle2StartPhiCircle2StartPhiCircle2StartPhicircle2StartPhicircle_2start_phi und Circle2EndPhiCircle2EndPhiCircle2EndPhiCircle2EndPhicircle2EndPhicircle_2end_phi
des Start- bzw. Endpunktes, sowie durch dessen Umlaufsinn
Circle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrdercircle1PointOrdercircle_1point_order bzw. Circle2PointOrderCircle2PointOrderCircle2PointOrderCircle2PointOrdercircle2PointOrdercircle_2point_order charakterisiert.
Circle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrdercircle1PointOrdercircle_1point_order = 'positive'"positive""positive""positive""positive""positive" definiert den Kreisbogen
gegen den Uhrzeigersinn.
Circle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrdercircle1PointOrdercircle_1point_order = 'negative'"negative""negative""negative""negative""negative" definiert den Kreisbogen
im Uhrzeigersinn.
Das Gleiche gilt für Circle2PointOrderCircle2PointOrderCircle2PointOrderCircle2PointOrdercircle2PointOrdercircle_2point_order.
Liegen Teile der Kreise oder Kreisbögen übereinander, liefert der
Parameter IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping den Wert 1, ansonsten wird der Wert 0
zurückgegeben.
In diesem Fall werden
die Endpunkte der gemeinsamen Kreisbögen als Schnittpunkte 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
Circle1RowCircle1RowCircle1RowCircle1Rowcircle1Rowcircle_1row (input_control) circle.center.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Kreismittelpunktes.
Circle1ColumnCircle1ColumnCircle1ColumnCircle1Columncircle1Columncircle_1column (input_control) circle.center.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Kreismittelpunktes.
Circle1RadiusCircle1RadiusCircle1RadiusCircle1Radiuscircle1Radiuscircle_1radius (input_control) circle.radius → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Radius des ersten Kreises.
Circle1StartPhiCircle1StartPhiCircle1StartPhiCircle1StartPhicircle1StartPhicircle_1start_phi (input_control) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Winkel des Startpunktes des
ersten Kreises oder Kreisbogens [rad].
Defaultwert: 0.0
Circle1EndPhiCircle1EndPhiCircle1EndPhiCircle1EndPhicircle1EndPhicircle_1end_phi (input_control) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Winkel des Endpunktes des
ersten Kreises oder Kreisbogens [rad].
Defaultwert: 6.28318
Circle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrdercircle1PointOrdercircle_1point_order (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Mathematischer Umlaufsinn
des ersten Kreises oder Kreisbogens.
Defaultwert:
'positive'
"positive"
"positive"
"positive"
"positive"
"positive"
Werteliste: 'negative'"negative""negative""negative""negative""negative", 'positive'"positive""positive""positive""positive""positive"
Circle2RowCircle2RowCircle2RowCircle2Rowcircle2Rowcircle_2row (input_control) circle.center.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Kreismittelpunktes.
Circle2ColumnCircle2ColumnCircle2ColumnCircle2Columncircle2Columncircle_2column (input_control) circle.center.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Kreismittelpunktes.
Circle2RadiusCircle2RadiusCircle2RadiusCircle2Radiuscircle2Radiuscircle_2radius (input_control) circle.radius → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Radius des ersten Kreises.
Circle2StartPhiCircle2StartPhiCircle2StartPhiCircle2StartPhicircle2StartPhicircle_2start_phi (input_control) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Winkel des Startpunktes des
ersten Kreises oder Kreisbogens [rad].
Defaultwert: 0.0
Circle2EndPhiCircle2EndPhiCircle2EndPhiCircle2EndPhicircle2EndPhicircle_2end_phi (input_control) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Winkel des Endpunktes des
ersten Kreises oder Kreisbogens [rad].
Defaultwert: 6.28318
Circle2PointOrderCircle2PointOrderCircle2PointOrderCircle2PointOrdercircle2PointOrdercircle_2point_order (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Mathematischer Umlaufsinn
des ersten 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.
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping (output_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Liegen Teile der Kreise oder Kreisbogen übereinander?
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
intersection_circlesintersection_circlesIntersectionCirclesIntersectionCirclesIntersectionCirclesintersection_circles den Wert TRUE.
Modul
Foundation