GEOintersectCircleLine |
Top Previous Next |
Berechnung der Schnittpunkte zwischen einem Vollkreis und einer Linie. Die Funktion berechnet die Schnittpunkte zwischen einer durch Start- und Endpunkt gegebenen Linie und einem Kreis, welcher durch Mittelpunkt und Radius definiert ist. Parameter x1 (double) [IN] y1 (double) [IN] x2 (double) [IN] y2 (double) [IN] Start- und Endpunkt der Linie. x (double) [IN] y (double) [IN] r (double) [IN] Mittelpunkt und Radius des Kreisbogens. xs1 (double *) [OUT] ys1 (double *) [OUT] xs2 (double *) [OUT] ys2 (double *) [OUT] Berechnete Schnittpunkte zwischen Kreis und Linie. Gibt es nur einen Schnittpunkt, enthalten die beiden letzten Variablen keine gültigen Werte. Ergebnis (int) [OUT] Anzahl der Schnittpunkte (0, 1 oder 2) Deklaration #include "basic.h"
int DLLENTRY GEOintersectCircleLine ( double x1, double y1, double x2, double y2, double x, double y, double r, double * xs1, double * ys1, double * xs2, double * ys2 ); Beispiel status = GEOintersectCircleLine (100.0, 100.0, 300.0, 100.0, 200.0, 150.0, 50.0, &xs1, &ys1, &xs2, &ys2) Die Variable status erhält den Wert 1, weil Kreis und Line bei xs1=200, ys1=50 einen gemeinsamen Punkt haben. Die Linie liegt tangential am Kreis an. Verwandte Funktionen
|