GEOintersectArcArc |
Top Previous Next |
Schnittpunktberechnung von Kreisbogen mit Kreisbogen. Mit dieser Routine werden die Schnittpunkte zwischen zwei Kreisbögen berechnet. Beide Kreisbögen verlaufen gegen den Uhrzeigersinn von Startwinkel zum Endwinkel. Sind Start- und Endwinkel gleich, handelt es sich um einen Vollkreis. Nicht benötigte Ergebnisparameter dürfen NULL-Zeiger sein. Parameter cx1 (const double) [IN] cy1 (const double) [IN] Mittelpunkt des ersten Kreisbogens. r1 (const double) [IN] Radius des ersten Kreisbogens. alpha1 (const double) [IN] Startwinkel des ersten Kreisbogens gegen den Uhrzeigersinn zum Endwinkel. beta1 (const double) [IN] Endwinkel des ersten Kreisbogens. cx2 (const double) [IN] cy2 (const double) [IN] Mittelpunkt des zweiten Kreisbogens. r2 (const double) [IN] Radius des zweiten Kreisbogens. alpha2 (const double) [IN] Startwinkel des zweiten Kreisbogens gegen den Uhrzeigersinn zum Endwinkel. beta2 (const double) [IN] Endwinkel des zweiten Kreisbogens. sx1 (double *) [IN/OUT] sy1 (double *) [IN/OUT] Erster Schnittpunkt, darf auch NULL-Zeiger enthalten. sx2 (double *) [IN/OUT] sy2 (double *) [IN/OUT] Zweiter Schnittpunkt, darf auch NULL-Zeiger enthalten. Ergebnis (int) [OUT] Als Ergebnis wird die Anzahl der Schnitte geliefert. Wird ein Schnitt geliefert, befinden sich die Schnittpunkte in den ersten Ergebnisparametern. Wird eine –2 zurückgegeben, so liegen die Kreisbögen auf dem gleichen Kreis. Beim Ergebnis –1 haben die Kreisbögen denselben Mittelpunkt. Deklaration #include "basic.h"
int DLLENTRY GEOintersectArcArc ( const double cx1, const double cy1, const double r1, const double alpha1, const double beta1, const double cx2, const double cy2, const double r2, const double alpha2, const double beta2, double * sx1, double * sy1, double * sx2, double * sy2 ); Verwandte Funktionen
|