FlexPro
HistoryBase
Ingénierie
Formation
Téléchargements
Support FlexPro
Connaissance
Communauté
À propos de nous
Références
Emplois
Contact général
Liste des revendeurs
Support FlexPro
FR
DE
EN
Porte-plaquette

Documentation FlexPro 2025

MinimumZoneCircle

Calcule les cercles de référence de la zone minimale (MZCI) d'un ensemble de points bidimensionnels. Utilisé pour déterminer la rondeur.

Syntaxe

MinimumZoneCircle(Points, le [ OutputOptions Variable MZCI_OUTPUT_INSCRIBED_CIRCLE + MZCI_OUTPUT_CIRCUMSCRIBED_CIRCLE ], le [ CircleSize Variable 5000 ], le [ Iterations ] [ , le StepWidth ])
ou
MinimumZoneCircle(Y, le X, le [ OutputOptions Variable MZCI_OUTPUT_INSCRIBED_CIRCLE + MZCI_OUTPUT_CIRCUMSCRIBED_CIRCLE ], le [ CircleSize Variable 5000 ], le [ Iterations ] [ , le StepWidth ])

 

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

Section

Description

Points

Les ensembles de points Y et X pour lesquels les cercles de référence concentriques de zone minimale doivent être calculés. La même unité doit être utilisée pour les deux composantes du signal.

Les structures de données autorisées sont Signal. Tous les types de données réels sont autorisés, sauf Temps calendaire et Période de temps.

Y

Les points Y utilisés pour calculer les cercles de référence concentriques de la zone minimale. Si vous spécifiez un signal, alors sa composante Y est utilisée. L'unité doit correspondre à l'unité de l'argument X.

Les structures de données autorisées sont Série de données et Signal. Tous les types de données réels sont autorisés, sauf Temps calendaire et Période de temps.

X

Les points X utilisés pour calculer les cercles de référence concentriques de la zone minimale. Si vous spécifiez un signal, alors sa composante Y est utilisée. L'unité doit correspondre à l'unité de l'argument Y.

Les structures de données autorisées sont Série de données et Signal. Tous les types de données réels sont autorisés, sauf Temps calendaire et Période de temps.

OutputOptions

Spécifie les résultats à renvoyer. Les résultats multiples sont présentés sous forme de liste. Par exemple, si le rayon du cercle central arithmétique et la circularité doivent être édités, l'argument doit avoir la valeur MZCI_OUTPUT_MIDDLE_CIRCLE_RADIUS + MZCI_OUTPUT_ROUNDNESS doit être indiquée.

L'argument OutputOptions peut avoir les valeurs suivantes :

Constante

Signification

+ MZCI_OUTPUT_ALL

Tous les résultats disponibles.

+ MZCI_OUTPUT_CENTER_X

Coordonnée X des cercles de référence concentriques. Le résultat est une valeur à virgule flottante de 64 bits.

+ MZCI_OUTPUT_CENTER_Y

Coordonnée Y des cercles de référence concentriques. Le résultat est une valeur à virgule flottante de 64 bits.

+ MZCI_OUTPUT_MIDDLE_CIRCLE

Le cercle moyen arithmétiquement moyen entre les cercles concentriques de référence, c'est-à-dire le plus petit cercle extérieur et le plus grand cercle intérieur. Le résultat est un signal.

+ MZCI_OUTPUT_MIDDLE_CIRCLE_RADIUS

Rayon du cercle moyenné arithmétiquement. Le résultat est une valeur à virgule flottante de 64 bits.

+ MZCI_OUTPUT_INSCRIBED_CIRCLE

Le cercle inscrit calculé (cercle de référence). Le centre du cercle inscrit est égal au centre du cercle circonscrit (deuxième cercle de référence). Le résultat est un signal.

+ MZCI_OUTPUT_INSCRIBED_CIRCLE_RADIUS

Rayon du cercle inscrit. Le résultat est une valeur à virgule flottante de 64 bits.

+ MZCI_OUTPUT_CIRCUMSCRIBED_CIRCLE

Le cercle circonscrit calculé (cercle de référence). Le centre du cercle inscrit est égal au centre du cercle inscrit (deuxième cercle de référence). Le résultat est un signal.

+ MZCI_OUTPUT_CIRCUMSCRIBED_CIRCLE_RADIUS

Rayon du cercle circonscrit. Le résultat est une valeur à virgule flottante de 64 bits.

+ MZCI_OUTPUT_ROUNDNESS

La déviation de la circularité. C'est la différence des rayons entre les cercles circonscrits et inscrits. Le résultat est une valeur à virgule flottante de 64 bits.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut MZCI_OUTPUT_INSCRIBED_CIRCLE + MZCI_OUTPUT_CIRCUMSCRIBED_CIRCLE .

CircleSize

Spécifie le nombre de valeurs utilisées pour représenter les cercles ajustés. Si vous entrez zéro, le nombre original de valeurs est conservé. L'argument n'est pris en compte que si un cercle OutputOptions l'un des cercles énumérés a été sélectionné.

Les structures de données autorisées sont Scalaire. Tous les types de données entiers sont autorisés.

La valeur doit être supérieure ou égale à 0.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut 5000 .

Iterations

Nombre d'itérations pour le calcul des cercles concentriques de référence avec la plus petite différence de rayon possible, c'est-à-dire le plus petit écart de circularité possible. Si vous omettez l'argument, le nombre d'itérations est fixé à une valeur automatique (en fonction de la taille des enregistrements d'entrée). Plus le nombre d'itérations est important, plus le résultat est précis (mais le calcul prend également plus de temps).

Les structures de données autorisées sont Scalaire. Tous les types de données entiers sont autorisés.

La valeur doit être supérieure ou égale à 1.

StepWidth

Incrément pour le calcul itératif des cercles concentriques de référence avec la plus petite différence de rayon possible, c'est-à-dire le plus petit écart de circularité possible. Si vous omettez l'argument, l'incrément est fixé à une valeur automatique (en fonction des enregistrements d'entrée).

Les structures de données autorisées sont Scalaire. Les types de données pris en charge sont Virgule flottante de 64 bits.

La valeur doit être supérieure à 0.

Remarques

Les valeurs sont converties en valeurs à virgule flottante de 64 bits avant le calcul.

Les cercles concentriques de référence de la zone minimale (MZCI) sont estimés dans la première étape d'itération par les cercles intérieurs et extérieurs calculés par le cercle des moindres carrés (LSCI). Le résultat est ensuite amélioré de façon itérative. Pour ce faire, un nouveau point est choisi au hasard autour du centre des cercles concentriques intérieur et extérieur actuels, à l'aide d'une distribution normale bidimensionnelle (l'écart-type correspond à l'argument StepWidth). Un contrôle détermine si les cercles concentriques inscrits et circonscrits recalculés sur le nouveau point ont une différence de rayon moins importante qu'auparavant. Si c'est le cas, le point devient le nouveau point central. La procédure est itérée en fonction de la valeur de l'argument Iterations Est répétée N fois. La procédure itérative converge vers les cercles de référence concentriques avec la plus petite différence de rayon possible, c'est-à-dire vers les cercles de référence de la zone minimale. Plus le nombre d'itérations est important, plus le résultat est précis. Cet algorithme est une méthode de Monte Carlo.

Les options de résultat de l'argument OutputOptions sont visualisés dans le graphique suivant :

Les résultats sont accessibles en utilisant les noms d'éléments de liste suivants :

Constante

Signification

.["Center_X"]

Coordonnée X du centre des cercles de référence concentriques.

.["Center_Y"]

Coordonnée Y du centre des cercles de référence concentriques.

.["Middle_Circle"]

Le cercle moyenné arithmétiquement entre les cercles de référence concentriques.

.["Middle_Circle_Radius"]

Rayon des cercles moyennés arithmétiquement.

.["Inscribed_Circle"]

Le cercle inscrit (cercle de référence).

.["Inscribed_Circle_Radius"]

Rayon du cercle inscrit.

.["Circumscribed_Circle"]

Le cercle circonscrit (cercle de référence).

.["Circumscribed_Circle_Radius"]

Rayon du cercle circonscrit.

.["Roundness"]

L'écart de circularité est la différence entre les rayons des cercles circonscrits et inscrits.

Vous pouvez aussi toujours utiliser la syntaxe Formula.ListElementName.

Remarque        Les calculs de circularité du MICI sont basés sur la norme actuellement en vigueur pour déterminer la circularité ; voir [1].

Disponible dans

FlexPro Professional, Developer Suite

Exemples

MinimumZoneCircle(y, x)

Calcule les cercles de référence MZCI d'un ensemble de points.

MinimumZoneCircle(y, x, MZCI_OUTPUT_ROUNDNESS)

Calcule les cercles MZCI d'un ensemble de points et ne renvoie que la circularité.

MinimumZoneCircle(points, MZCI_OUTPUT_MIDDLE_CIRCLE_RADIUS + MZCI_OUTPUT_ROUNDNESS)

Calcule les cercles MZCI d'un ensemble de points. Ainsi, le rayon du cercle central et la circularité sont édités sous forme de liste.

Dim alpha = Series(0, 2*PI, 0.05)
Dim r = 11.5 + Noise(1 # NumberOfRows(alpha), NOISE_NORMAL)
Dim points = Signal(Noise(1) + r*Sin(alpha), Noise(1) + r*Cos(alpha))
List("Points", points, "Minimum Zone Circle", MinimumZoneCircle(points))
 

Calcule les cercles MZCI des points répartis de manière aléatoire dans le plan bidimensionnel.

Voir aussi

Fonction LeastSquaresCircle

Fonction MaximumInscribedCircle

Fonction MinimumCircumscribedCircle

Fonction GaussianFilter

Fonction NonLinCurveFit

Fonction Approximation

Objet d'analyse Approximation Circulaire

Littérature

[1] DIN Deutsches Institut für Normung e.V.: Part 1: Vocabulary and parameters of roundness (ISO 12181-1:2011); English translation of DIN EN ISO 12181-1:2011. Dans: Geometrical product specifications (GPS)- Roundness. 2011.