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
|