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

GEOintersectCircleArc

GEOintersectCircleCircle

GEOintersectCircleLine

GEOintersectLineArc

GEOintersectLineLine

GEOintersectLineLine2

GEOintersectLineSpline

GEOintersectStraightArc

GEOintersectStraightCircle

GEOintersectStraightLine

GEOintersectStraightStraight

GEOintersectStraightVector

GEOintersectVectorVector