GEOintersectArcLine

Top  Previous  Next

Berechnung der Schnittpunkte zwischen einem Kreisbogen und einer Linie.

Die Funktion berechnet die Schnittpunkte zwischen einer durch Start- und Endpunkt gegebenen Linie und einem  Kreisbogen, welcher durch Zentrum, Start- und Endpunkt definiert ist.

Parameter

double x1, y1, x2, y2                                   [IN]

Start- und Endpunkt der Linie.

double xa, ya, xe, ye, xc, yc                       [IN]

Start-, End- und Mittelpunkt des Kreisbogens.

double *xs1, *ys1, *xs2, *ys2                 [OUT]

Berechnete Schnittpunkte zwischen Kreisbogen und Linie.

Ergebnis

int                                                              OUT

Anzahl der Schnittpunkte (0, 1 oder 2)

Deklaration

#include "basic.h“

 

int DLLENTRY  GEOintersectArcLine(

                    DOUBLE x1,

                    DOUBLE y1,

                    DOUBLE x2,

                    DOUBLE y2,

                    DOUBLE xa,

                    DOUBLE ya,

                    DOUBLE xe,

                    DOUBLE ye,

                    DOUBLE xc,

                    DOUBLE yc,

                    DOUBLE *xs1,

                    DOUBLE *ys1,

                    DOUBLE *xs2,

                    DOUBLE *ys2

);

Beispiel

status = GEOintersectArcLine (100.0, 100.0, 300.0, 200.0, 500.0, 150.0, 350.0, 0.0, 350.0, 150.0, &xs1, &ys1, &xs2, &ys2)

Die Variable status  erhält den Wert 1, weil die Line einmal den Kreisbogen im Punkt xs1=200, ys1=150 schneidet.