GEOintersectStraightArc

Top  Previous  Next

Schnitt einer Geraden mit einem Kreisbogen.

Der Kreisbogen wird durch den Mittelpunkt und Radius bestimmt. Der betrachtete Teil verläuft gegen den Uhrzeigersinn vom startWinkel zum endWinkel. 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 Anfangspunkt der Geraden.

y1 (double)                                                  [IN]

Koordinate auf der y-Achse vom Anfangspunkt der Geraden.

x2 (double)                                                  [IN]

Koordinate auf der x-Achse vom Endpunkt der Geraden.

y2 (double)                                                  [IN]

Koordinate auf der y-Achse vom Endpunkt der Geraden.

xCenter (double)                                         [IN]

Koordinate auf der x-Achse des Kreisbogenmittelpunktes.

yCenter (double)                                         [IN]

Koordinate auf der y-Achse des Kreisbogenmittelpunktes.

radius (double)                                            [IN]

Radius.

startWinkel (double)                                    [IN]

Der Kreisbogen beginnt bei startWinkel und verläuft gegen den Uhrzeigersinn.

endWinkel (double)                                    [IN]

Der Kreisbogen endet bei endWinkel.

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 zweiten Schnittpunktes, falls vorhanden.

ys2 (double *)                                     [IN/OUT]

Koordinate auf der y-Achse des zweiten Schnittpunktes, falls vorhanden.

s1 (double *)                                       [IN/OUT]

s1 ist der Faktor, mit dem bestimmt wird, ob der erste Schnittpunkt noch auf der Geraden liegt. Gilt 0s11, so befindet sich der Schnittpunkt noch auf der Geraden.

s2 (double *)                                       [IN/OUT]

s2 ist der Faktor, mit dem bestimmt wird, ob der zweite Schnittpunkt noch auf der Geraden liegt. Gilt 0s21, so befindet sich der Schnittpunkt noch auf der Geraden.

Ergebnis

(int)                                                           [OUT]

Der Rückgabewert gibt die Anzahl der Schnittpunkte an:

0          keine Schnittpunkte,

1          ein Schnittpunkt

2          zwei Schnittpunkte

Deklaration

#include "basic.h"

 

int DLLENTRY GEOintersectStraightArc (

     double      x1,

     double      y1,

     double      x2,

     double      y2,

     double      xCenter,

     double      yCenter,

     double      radius,

     double      startWinkel,

     double      endWinkel,

     double * xs1,

     double * ys1,

     double * xs2,

     double * ys2,

     double * s1,

     double * s2

);

Verwandte Funktionen

GEOintersectArcArc

GEOintersectCircleArc

GEOintersectCircleCircle

GEOintersectCircleLine

GEOintersectLineArc

GEOintersectLineLine

GEOintersectLineLine2

GEOintersectLineSpline

GEOintersectStraightCircle

GEOintersectStraightLine

GEOintersectStraightStraight

GEOintersectStraightVector

GEOintersectVectorVector