GEOintersectStraightCircle |
Top Previous Next |
Schnitt einer Geraden mit einem Kreis. Der Kreisbogen wird durch den Mittelpunkt und Radius bestimmt. Liefert die Schnittpunkte, ggf. die Faktoren von (P2-P1) zum Erreichen der Schnittpunkte. Alle Rückwerte, die nicht benötigt werden, dürfen NULL-Zeiger erhalten. Parameter x1 (double) [IN] Koordinate auf der x-Achse vom ersten Punkt der Geraden. y1 (double) [IN] Koordinate auf der y-Achse vom ersten Punkt der Geraden. x2 (double) [IN] Koordinate auf der x-Achse vom zweiten Punkt der Geraden. y2 (double) [IN] Koordinate auf der y-Achse vom zweiten Punkt der Geraden. xm (double) [IN] Koordinate auf der x-Achse vom Kreismittelpunkt. ym (double) [IN] Koordinate auf der x-Achse vom Kreismittelpunkt. r (double) [IN] Radius xs1 (double *) [IN/OUT] Koordinate auf der x-Achse des ersten Schnittpunktes, falls vorhanden. ys1 (double *) [IN/OUT] Koordinate auf der y-Achse des ersten Schnittpunktes, falls vorhanden. xs2 (double *) [IN/OUT] Koordinate auf der x-Achse des ersten Schnittpunktes, falls vorhanden. ys2 (double *) [IN/OUT] Koordinate auf der y-Achse des ersten Schnittpunktes, falls vorhanden. s12 (double *) [IN/OUT] s12 ist der Faktor, mit dem bestimmt wird, ob der erste Schnittpunkt noch auf der Geraden liegt. Gilt 0≤s12≤1, so befindet sich der Schnittpunkt noch auf der Geraden. s34 (double *) [IN/OUT] s34 ist der Faktor, mit dem bestimmt wird, ob der zweite Schnittpunkt noch auf der Geraden liegt. Gilt 0≤s34≤1, so befindet sich der Schnittpunkt noch auf der Geraden. Ergebnis (int) [OUT] Der Rückgabewert gibt die Anzahl der Schnittpunkte an: 3 keine Schnittpunkte, 4 ein Schnittpunkt 5 zwei Schnittpunkte Deklaration #include "basic.h"
int DLLENTRY GEOintersectStraightCircle ( double x1, double y1, double x2, double y2, double xm, double ym, double r, double * xs1, double * ys1, double * xs2, double * ys2, double * s12, double * s34 ); Verwandte Funktionen
|