Spline-Generierung
|
|
Messfile ist in der Lage, anhand der Definition eines Datei-Formates, die ggf. vorhandene Kodierung von Spline-Objekten zu nutzen. Das CAD-System kennt folgende Varianten zur Spline-Generierung: |
- 2D-Polylinie - bei einer in sich ebenen Polylinie kennt das CAD-System die Option Kurve angleichen. Hier wird eine geglättete Kurve erzeugt, welche auch genau durch die Stützpunkte der Polylinie verläuft. Mit der Option Kurvenlinie erzeugt das CAD-System eine quadratische/kubische Spline-Kurve, die nicht durch die Stützpunkte verläuft, sondern sich diesen nur annähert.
- 3D-Polylinie - hier kennt das CAD-System nur die quadratischen/kubischen Spline-Kurven, welche nicht durch die Stützpunkte verlaufen. Die Effekte der Spline-Generierung kann man erkennen, wenn man geschlossene oder offene 2D- und 3D-Polylinien als Kreis erzeugt und diese dann mit dem Befehl PEDIT (Polylinien-Editierung) und den Optionen Kurve angleichen bzw. Kurvenlinie glättet (hierdurch entstehen aus den Polygonzügen die Splines). Wer harmonische Formen wie Weingläser oder dgl. entwerfen will, mag sich über diese Ergebnisse freuen - für vermessungstechnische Aufgaben sind diese Ergebnisse völlig unbrauchbar. Zusätzlich muss man berücksichtigen, dass bei mehr als 3 bis 5 gemessenen Punkten diese mit Sicherheit nicht mehr in einer Ebene liegen, und damit die einzige brauchbare Variante (2D-Polylinie, Kurve angleichen) gar nicht mehr verwendet werden kann. Für alle jene Fälle, wo bereits vorher bekannt ist, dass die gemessenen Punkte in keiner gemeinsamen Ebene liegen, also so genannte doppelt gekrümmte Konturen darstellen, gibt es somit keine Möglichkeit, eine geglättete 3D-Raumkurve zu erzeugen, welche definitiv durch die Stützpunkte verläuft!
Daher wurde in Messfile für die Generierung der Splines ein eigener, interner Algorithmus verwendet. Dieser erzeugt 3D-Raumkurven, welche auch genau durch die Stützpunkte verlaufen. Prinzipiell ist es ein räumlicher Kreisbogen-Algorithmus und ähnelt der Methode für die Option Kurve angleichen bei 2D-Polylinien. Entsprechend der Voreinstellung SEGMENT-ZAHL im Konfigurations-Dialog erzeugt die Methode zwischen 2 benachbarten Punkten genau (2 exp <n>) - 1 interpolierte Punkte. Die Einstellung SMOOTH, welche das Aussehen der berechneten Kurve beeinflusst, bewirkt eine mehr oder weniger starke Annäherung der interpolierten Punktes an die Sehne, welche durch die 2 benachbarten Punkte gebildet wird. Mit einem Wert von 0 für SMOOTH wird der interpolierte Punkt also auf die Sehne gezwungen, wodurch geradlinige Verbindungen, d. h. Polygonzüge entstehen. Mit einem Wert von 1 für SMOOTH wird der interpolierte Punkt auf der Kreisbogen-Linie der 3 benachbarten Punkte berechnet - in diesem Falle erhält man auch die weiteste Auswölbung der Kurve und einen stetigen Verlauf der Tangenten an den Stützpunkten. Wenn der Wert zwischen 0 und 1 liegt, erreicht man eine mehr oder weniger starke Abflachung der Kurve zwischen den originalen Stützpunkten; dabei muss aber in Kauf genommen werden, dass die Tangenten in diesen Stützpunkten nicht mehr stetig verlaufen können. Letzteres dürfte aber nur dann auch praktische Auswirkungen haben, wenn sehr wenige Punkte (mit großem räumlichen Abstand) und bei einem kleinen Wert für SEGMENT-ZAHL bei der Splinegenerierung verwendet werden. Daher ist auch ein Wert von mindestens 0.7 für SMOOTH zu empfehlen. Diese Folge von Punkten wird durch das Verfahren als 3D-Polylinie umgesetzt. Genau genommen wird also eine sehr feine 3D-Polylinie erzeugt. Diese Kurve kann dann zusätzlich mit den Möglichkeiten des CAD-Befehls PEDIT manipuliert werden (Glättung, Stützpunkte verschieben etc.). Messfile verwendet (als Voreinstellung) einen Layer mit dem Namen LAYER_SPLINE, wobei LAYER der Name des Layers für die Messpunkte ist. Dieser Layer ist vor dem Laden über das Eingabefeld LAYER im Hauptdialog oder auch im Konfigurations-Dialog einstellbar.
|
Anmerkung: Voraussetzung für eine Spline-Generierung ist nur, dass mindestens 3 Punkte vorliegen müssen. Wenn Punkte auf einer Geraden liegen (Kolinearität), stört das den Generierungs-Algorithmus nicht. |
