CurveToSurface (FPScript)

21.09.2021

Wandelt eine Raumkurve in eine Fläche (Signalreihe mit Z-Komponente) um.

Syntax

CurveToSurface(SpaceCurve, Tolerance)
oder
CurveToSurface(Y, X, Z, Tolerance)

 

Die Syntax der CurveToSurface-Funktion besteht aus folgenden Teilen:

Teil

Beschreibung

SpaceCurve

Ist die in eine Fläche zu wandelnde Raumkurve.

Erlaubte Datenstrukturen sind Raumkurve. Es sind alle numerischen Datentypen erlaubt.

Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste.

Y

Ist eine Datenreihe mit der Y-Komponente der zu wandelnden Raumkurve. Wenn Sie ein Signal angeben, wird dessen Y-Komponente verwendet.

Erlaubte Datenstrukturen sind Datenreihe und Signal. Es sind alle numerischen Datentypen erlaubt.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

X

Ist eine Datenreihe mit der X-Komponente der zu wandelnden Raumkurve. Wenn Sie ein Signal angeben, wird dessen Y-Komponente verwendet.

Erlaubte Datenstrukturen sind Datenreihe und Signal. Es sind alle numerischen Datentypen erlaubt.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Z

Ist eine Datenreihe mit der Z-Komponente der zu wandelnden Raumkurve. Wenn Sie ein Signal angeben, wird dessen Y-Komponente verwendet.

Erlaubte Datenstrukturen sind Datenreihe und Signal. Es sind alle numerischen Datentypen erlaubt.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Tolerance

Gibt die beim Zusammenfassen eng benachbarter Werte der X- und Z-Komponenten zu verwendende Toleranz an. Der Wert bezieht sich hierbei auf den Wertebereich der jeweiligen Komponente.

Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Das Argument wird auf die Einheit % transformiert.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Anmerkungen

Das Ergebnis hat immer die Datenstruktur Signalreihe mit Z-Komponente.

Das Ergebnis hat die gleiche Einheit wie das Argument SpaceCurve.

Bei der Wandlung werden die X- und Z-Komponente zunächst sortiert, wobei eng benachbarte Werte durch arithmetische Mittelung zusammengefasst werden. Anschließend werden die Y-Werte gemäß ihrer zugeordneten X- und Z-Koordinaten in eine Datenmatrix eingetragen. Y-Werte, die auf die gleiche Position fallen, werden hierbei fortlaufend gemittelt. Unbesetzte Positionen der Datenmatrix werden als ungültig markiert. Um eine ausreichend besetzte Matrix zu erhalten, sollten die Punkte der Raumkurve möglichst als Gitter angeordnet sein.

Die Datentypen der einzelnen Komponenten des Ergebnisses entsprechen denen der entsprechenden Argumente, sofern diese den Datentyp Kalenderzeit oder Zeitdauer haben. Für alle anderen Datentypen ist der Ergebnistyp 64-Bit Fließkommazahl.

Verfügbarkeit

FlexPro Basic, Professional, Developer Suite

Beispiele

Dim Y = { 1, 1, 1, 1, 2, 1, 1, 1, 1 }
Dim X = { 1, 2, 3, 1, 2, 3, 1, 2, 3 }
Dim Z = { 1, 1, 1, 2, 2, 2, 3, 3, 3 }
Dim Curve = Signal(Y, X, Z)
CurveToSurface(Curve, 0)
 

Ergibt eine Signalreihe mit drei Zeilen und drei Spalten. Der Wert in der Mitte der Y-Datenmatrix ist 2, alle anderen Werte sind 1. Die X- und die Z-Komponente sind beide gleich {1, 2, 3}. Die Toleranz ist in diesem Beispiel irrelevant, da die Messwerte genau auf einem Gitter liegen.

Dim Y = { 1, 1, 1, 1, 2, 1, 1, 1, 1 }
Dim X = { 1.05, 1.9, 3.03, 0.85, 2.12, 2.98, 1.01, 1.97, 3.01 }
Dim Z = { 0.95, 0.99, 1.02, 2.11, 1.97, 1.89, 3.12, 3.01, 2.96 }
CurveToSurface(Y, X, Z, 0)
 

Ergibt eine schwach besetzte Signalreihe mit 9 x 9 Werten, da die Datenpunkte nicht genau auf einem Gitter liegen und die Toleranz zu klein gewählt wurde.

Dim Y = { 1, 1, 1, 1, 2, 1, 1, 1, 1 }
Dim X = { 1.05, 1.9, 3.03, 0.85, 2.12, 2.98, 1.01, 1.97, 3.01 }
Dim Z = { 0.95, 0.99, 1.02, 2.11, 1.97, 1.89, 3.12, 3.01, 2.96 }
CurveToSurface(Y, X, Z, 15 %)
 

Die Vergrößerung der Toleranz auf 15 % ergibt eine 3 x 3 Signalreihe. Die nahe beieinander liegenden X- und Z-Werte werden zu je einem Gitterpunkt zusammengefasst. Die Y-Komponente entspricht somit der aus dem ersten Beispiel. Die X- und Z-Komponenten weichen durch die Mittelung leicht ab.

Dim Y = { 1, 1, 1, 1, 2, 1, 1, 1, 1, 1.9 }
Dim X = { 1.05, 1.9, 3.03, 0.85, 2.12, 2.98, 1.01, 1.97, 3.01, 2.0 }
Dim Z = { 0.95, 0.99, 1.02, 2.11, 1.97, 1.89, 3.12, 3.01, 2.96, 2.0 }
CurveToSurface(Y, X, Z, 15 %)
 

Der zusätzliche Y-Wert 1,9 mit der X- und Z-Koordinate 2,0 wird in diesem Beispiel mit dem Y-Wert 2,0 in der Mitte der Y-Matrix gemittelt. Im Ergebnis steht dort deshalb der Wert 1,95.

Siehe auch

SurfaceToCurve-Funktion

ScatteredSurface-Funktion

Analyseobjekt Kurvenumwandlung

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren