GEOintersectCircleCircle |
Top Previous Next |
Berechnung der Schnittpunkte zwischen zwei Kreisen. Die Funktion berechnet die Schnittpunkte zwischen zwei Kreisen, welche durch Mittelpunkt und Radius definiert sind. Parameter c1x (const double) [IN] c1y (const double) [IN] r1 (const double) [IN] Mittelpunkt und Radius des ersten Kreises. c2x (const double) [IN] c2y (const double) [IN] r2 (const double) [IN] Mittelpunkt und Radius des zweiten Kreises. s1x (double *) [(IN)/OUT] s1y (double *) [(IN)/OUT] s2x (double *) [(IN)/OUT] s2y (double *) [(IN)/OUT] Berechnete Schnittpunkte zwischen den beiden Kreisen. Die Zeiger müssen auf Variablen vom Typ double zeigen. Sie werden mit den Daten der Schnittpunkte gefüllt. Wenn es nur einen Schnittpunkt gibt, dann bleiben xs2 und ys2 unverändert, wenn es keinen Schnittpunkt gibt, dann bleiben alle 4 Variablen unverändert. Wenn einer der Zeiger als NULL-Zeiger übergeben wird, dann wird dieser ignoriert. Ergebnis (int) [OUT] Anzahl der Schnittpunkte (0, 1 oder 2) Deklaration #include "basic.h"
int DLLENTRY GEOintersectCircleCircle ( const double c1x, const double c1y, const double r1, const double c2x, const double c2y, const double r2, double * s1x, double * s1y, double * s2x, double * s2y ); Beispiel status = GEOintersectCircleCircle(100.0, 100.0, 300.0, 400.0, 100.0, 500.0, &xs1, &ys1, &xs2, &ys2) Die Variable status erhält den Wert 2, da sich die Kreise in zwei Punkte schneiden (xs1=100, ys1=400; xs2=100, ys2=-200). Verwandte Funktionen
|