intersection_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircle (Operator)
Name
intersection_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircle
— Berechnet die Schnittpunkte von einer Geraden
und einem Kreis oder Kreisbogen
Signatur
intersection_line_circle( : : LineRow1, LineColumn1, LineRow2, LineColumn2, CircleRow, CircleColumn, CircleRadius, CircleStartPhi, CircleEndPhi, CirclePointOrder : Row, Column)
Herror intersection_line_circle(double LineRow1, double LineColumn1, double LineRow2, double LineColumn2, double CircleRow, double CircleColumn, double CircleRadius, double CircleStartPhi, double CircleEndPhi, const char* CirclePointOrder, double* Row, double* Column)
Herror T_intersection_line_circle(const Htuple LineRow1, const Htuple LineColumn1, const Htuple LineRow2, const Htuple LineColumn2, const Htuple CircleRow, const Htuple CircleColumn, const Htuple CircleRadius, const Htuple CircleStartPhi, const Htuple CircleEndPhi, const Htuple CirclePointOrder, Htuple* Row, Htuple* Column)
void IntersectionLineCircle(const HTuple& LineRow1, const HTuple& LineColumn1, const HTuple& LineRow2, const HTuple& LineColumn2, 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.IntersectionLineCircle(HTuple lineRow1, HTuple lineColumn1, HTuple lineRow2, HTuple lineColumn2, HTuple circleRow, HTuple circleColumn, HTuple circleRadius, HTuple circleStartPhi, HTuple circleEndPhi, HTuple circlePointOrder, out HTuple row, out HTuple column)
Beschreibung
intersection_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircleIntersectionLineCircle
berechnet die Schnittpunkte von einer
Geraden und einem Kreis oder Kreisbogen.
Die Gerade wird über die beiden Punkte
(LineRow1LineRow1LineRow1LineRow1lineRow1
,LineColumn1LineColumn1LineColumn1LineColumn1lineColumn1
) und
(LineRow2LineRow2LineRow2LineRow2lineRow2
,LineColumn2LineColumn2LineColumn2LineColumn2lineColumn2
), der Kreis über dessen Mittelpunkt
(CircleRowCircleRowCircleRowCircleRowcircleRow
,CircleColumnCircleColumnCircleColumnCircleColumncircleColumn
) und Radius
CircleRadiusCircleRadiusCircleRadiusCircleRadiuscircleRadius
definiert. Ein Kreisbogen wird zusätzlich durch den
Anfangs- und Endwinkel CircleStartPhiCircleStartPhiCircleStartPhiCircleStartPhicircleStartPhi
und CircleEndPhiCircleEndPhiCircleEndPhiCircleEndPhicircleEndPhi
des Start- bzw. Endpunktes, sowie durch dessen Umlaufsinn
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrder
charakterisiert.
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrder
= 'positive'"positive""positive""positive""positive" definiert den Kreisbogen
gegen den Uhrzeigersinn.
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrder
= 'negative'"negative""negative""negative""negative" definiert den Kreisbogen
im Uhrzeigersinn.
Die Schnittpunkte, falls vorhanden, werden in (RowRowRowRowrow
,ColumnColumnColumnColumncolumn
)
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
LineRow1LineRow1LineRow1LineRow1lineRow1
(input_control) point.y →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Geradenpunktes.
LineColumn1LineColumn1LineColumn1LineColumn1lineColumn1
(input_control) point.x →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Geradenpunktes.
LineRow2LineRow2LineRow2LineRow2lineRow2
(input_control) point.y →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des zweiten Geradenpunktes.
LineColumn2LineColumn2LineColumn2LineColumn2lineColumn2
(input_control) point.x →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des zweiten Geradenpunktes.
CircleRowCircleRowCircleRowCircleRowcircleRow
(input_control) circle.center.y →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des Kreismittelpunktes.
CircleColumnCircleColumnCircleColumnCircleColumncircleColumn
(input_control) circle.center.x →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordiante des Kreismittelpunktes.
CircleRadiusCircleRadiusCircleRadiusCircleRadiuscircleRadius
(input_control) circle.radius →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Radius des Kreises.
CircleStartPhiCircleStartPhiCircleStartPhiCircleStartPhicircleStartPhi
(input_control) angle.rad →
HTupleHTupleHtuple (real) (double) (double) (double)
Winkel des Startpunktes des Kreises
oder Kreisbogens [rad].
Defaultwert: 0.0
CircleEndPhiCircleEndPhiCircleEndPhiCircleEndPhicircleEndPhi
(input_control) angle.rad →
HTupleHTupleHtuple (real) (double) (double) (double)
Winkel des Endpunktes des Kreises
oder Kreisbogens [rad].
Defaultwert: 6.28318
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrder
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Mathematischer Umlaufsinn des Kreises oder Kreisbogens.
Defaultwert:
'positive'
"positive"
"positive"
"positive"
"positive"
Werteliste: 'negative'"negative""negative""negative""negative", 'positive'"positive""positive""positive""positive"
RowRowRowRowrow
(output_control) point.y(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Zeilenkoordinaten der Schnittpunkte.
ColumnColumnColumnColumncolumn
(output_control) point.x(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Spaltenkoordinaten der Schnittpunkte.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
intersection_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircleIntersectionLineCircle
den Wert 2 (H_MSG_TRUE).
Siehe auch
intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleIntersectionSegmentCircle
,
intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldIntersectionCircleContourXld
Modul
Foundation