CurveToSurface (FPScript)

21.09.2021

Transforme une courbe 3D en une surface (série de signaux avec composante Z).

Syntaxe

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

 

La syntaxe de la fonction CurveToSurface se compose des éléments suivants :

Section

Description

SpaceCurve

La courbe 3D qui doit être transformée en une surface.

Les structures de données autorisées sont Courbe 3D. Tous les types de données numériques sont autorisés.

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

Y

Une série de données avec la composante Y de la courbe 3D à transformer. Si vous spécifiez un signal, alors sa composante Y est utilisée.

Les structures de données autorisées sont Séries de données et Signal. Tous les types de données numériques sont autorisés.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

X

Une série de données avec la composante X de la courbe 3D à transformer. Si vous spécifiez un signal, alors sa composante Y est utilisée.

Les structures de données autorisées sont Séries de données et Signal. Tous les types de données numériques sont autorisés.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Z

Une série de données avec la composante Z de la courbe 3D à transformer. Si vous spécifiez un signal, alors sa composante Y est utilisée.

Les structures de données autorisées sont Séries de données et Signal. Tous les types de données numériques sont autorisés.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Tolerance

Spécifie la tolérance à utiliser lors de la combinaison de valeurs voisines des composantes X et Z. Ici, la valeur se réfère à l'étendue de la composante respective.

Les structures de données autorisées sont Scalaire. Tous les types de données numériques sont autorisés. L'argument est transformé dans l'unité %.

Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété.

Remarques

Le résultat a toujours la structure de données Série de signaux avec composante Z.

Le résultat a la même unité que l'argument SpaceCurve.

Pour la transformation, les composantes X et Z sont d'abord triées, où les valeurs proches sont combinées en prenant la moyenne arithmétique. Ensuite, les valeurs Y sont insérées dans une matrice de données en fonction des coordonnées X et Z qui leur sont attribuées. Les valeurs Y qui tombent sur la même position sont combinées en formant continuellement la valeur moyenne. Les positions inoccupées dans la matrice de données sont marquées comme invalides (void). Pour obtenir une matrice suffisamment occupée, les points de la courbe 3D doivent être disposés en grille, si possible.

Les types de données des différentes composantes du résultat correspondent à ceux des arguments respectifs, à condition que ceux-ci aient le type de données de temps calendaire ou de période de temps. Pour tous les autres types de données, le type de résultat est une valeur à virgule flottante 64 bits.

Disponible dans

FlexPro Basic, Professional, Developer Suite

Exemples

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)
 

Il en résulte une série de signaux à trois lignes et trois colonnes. La valeur au centre de la matrice de données Y est 2. Toutes les autres valeurs sont 1. Les composantes X et Z sont les mêmes {1, 2, 3}. La tolérance n'est pas pertinente dans cet exemple, puisque les valeurs de mesure se trouvent directement sur la grille.

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)
 

Il en résulte une série de signaux faiblement occupés avec des valeurs 9 x 9, car les points de données ne sont pas à droite sur une grille et la tolérance choisie était trop faible.

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 %)
 

L'augmentation de la tolérance à 15 % entraîne une série de signaux 3 x 3. Les valeurs X et Z, étroitement espacées, sont combinées à chaque point de grille. La composante Y correspond donc à celle du premier exemple. Les composantes X et Z s'écartent légèrement en raison du calcul de la moyenne.

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 %)
 

La valeur X supplémentaire 1,9 avec les coordonnées X et Z 2,0 est moyennée dans cet exemple avec la valeur Y 2,0 au centre de la matrice Y. Ainsi, la valeur 1,95 apparaît dans le résultat.

Voir aussi

Fonction SurfaceToCurve

Fonction ScatteredSurface

Objet d'analyse Transformation de courbe

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :