GEOintersectLineSpline

Top  Previous  Next

Schnittpunktberechnung von Linie mit Spline.

Mit dieser Routine werden die Schnittpunkte zwischen einer Strecke und einem Spline berechnet. Als Ergebnis wird die Anzahl der Schnittpunkte geliefert und dementsprechend viele Schnittpunkte werden im Feld (ix, iy) zurückgeliefert. Es werden aber nicht mehr Schnittpunkte geliefert, als mit ilimit angegeben wird.

Läuft der Spline mehrfach durch denselben Punkt und schneidet die Strecke genau diesen, so wird der Punkt auch mehrfach zurückgegeben. Verläuft ein Teilstück der Kurve zwischen zwei Splinepunkten genau auf der Strecke, so sind Anfangs- und Endpunkt des gemeinsamen Abschnitts Schnittpunkte.

Die Strecke wird erst mit einer groben Interpolation des Splines geschnitten und nur bei Schnitt nochmals mit einer Verfeinerung entsprechender Teilstücke geschnitten.

Parameter

x1 (double)                                                  [IN]

y1 (double)                                                  [IN]

Startpunkt der Linie.

x2 (double)                                                  [IN]

y2 (double)                                                  [IN]

Endpunkt der Linie.

x[] (double)                                                  [IN]

y[] (double)                                                  [IN]

Die Splinepunkte.

scount (int)                                                   [IN]

Die Anzahl der Splinepunkte in x[] und y[].

ix[] (double)                                         [IN/OUT]

iy[] (double)                                         [IN/OUT]

Feld der Schnittpunkte zwischen Linie und Spline.

ilimit (int)                                                       [IN]

Länge des Feldes mit den Schnittpunkten. Auch wenn als Ergebnis mehr Schnittpunkte gezählt werden, so werden nicht mehr als ilimit Schnittpunkte zurückgeliefert.

Ergebnis

(int)                                                           [OUT]

Anzahl der gezählten Schnittpunkte. Dieses Ergebnis muss nicht gleich sein mit der Zahl der Schnittpunkte, die im Feld der Schnittpunkte zurückgeliefert werden. Die Anzahl der ermittelten Schnittpunkte ist durch ilimit beschränkt.

Deklaration

#include "basic.h"

 

int DLLENTRY GEOintersectLineSpline (

     double      x1,

     double      y1,

     double      x2,

     double      y2,

     double      x[],

     double      y[],

     int         scount,

     double      ix[],

     double      iy[],

     int         ilimit

);

Verwandte Funktionen

GEOintersectArcArc

GEOintersectCircleArc

GEOintersectCircleCircle

GEOintersectCircleLine

GEOintersectLineArc

GEOintersectLineLine

GEOintersectLineLine2

GEOintersectStraightArc

GEOintersectStraightCircle

GEOintersectStraightLine

GEOintersectStraightStraight

GEOintersectStraightVector

GEOintersectVectorVector