GEOintersectStraightCircle

Top  Previous  Next

Schnitt einer Geraden mit einem Kreis.

Der Kreisbogen wird durch den Mittelpunkt und Radius bestimmt. 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 ersten Punkt der Geraden.

y1 (double)                                                  [IN]

Koordinate auf der y-Achse vom ersten Punkt der Geraden.

x2 (double)                                                  [IN]

Koordinate auf der x-Achse vom zweiten Punkt der Geraden.

y2 (double)                                                  [IN]

Koordinate auf der y-Achse vom zweiten Punkt der Geraden.

xm (double)                                                 [IN]

Koordinate auf der x-Achse vom Kreismittelpunkt.

ym (double)                                                 [IN]

Koordinate auf der x-Achse vom Kreismittelpunkt.

r (double)                                                     [IN]

Radius

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

ys2 (double *)                                     [IN/OUT]

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

s12 (double *)                                    [IN/OUT]

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

s34 (double *)                                    [IN/OUT]

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

Ergebnis

(int)                                                           [OUT]

Der Rückgabewert gibt die Anzahl der Schnittpunkte an:

3          keine Schnittpunkte,

4          ein Schnittpunkt

5          zwei Schnittpunkte

Deklaration

#include "basic.h"

 

int DLLENTRY GEOintersectStraightCircle (

     double      x1,

     double      y1,

     double      x2,

     double      y2,

     double      xm,

     double      ym,

     double      r,

     double * xs1,

     double * ys1,

     double * xs2,

     double * ys2,

     double * s12,

     double * s34

);

Verwandte Funktionen

GEOintersectArcArc

GEOintersectCircleArc

GEOintersectCircleCircle

GEOintersectCircleLine

GEOintersectLineArc

GEOintersectLineLine

GEOintersectLineLine2

GEOintersectLineSpline

GEOintersectStraightArc

GEOintersectStraightLine

GEOintersectStraightStraight

GEOintersectStraightVector

GEOintersectVectorVector