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

Documentation FlexPro 2025

MinimumCircumscribedCircle

Calcule le cercle circonscrit minimum (MCCI) d'un ensemble de points bidimensionnels. Utilisé pour déterminer la rondeur.

Syntaxe

MinimumCircumscribedCircle(Points, le [ OutputOptions Variable MCCI_OUTPUT_CIRCUMSCRIBED_CIRCLE ], le [ CircleSize Variable 5000 ] [ , le ConvexHullAlgorithm Variable CONVEXHULL_GRAHAM_SCAN ])
ou
MinimumCircumscribedCircle(Y, le X, le [ OutputOptions Variable MCCI_OUTPUT_CIRCUMSCRIBED_CIRCLE ], le [ CircleSize Variable 5000 ] [ , le ConvexHullAlgorithm Variable CONVEXHULL_GRAHAM_SCAN ])

 

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

Section

Description

Points

Le point Y et X fixé pour lequel le cercle circonscrit minimum doit être calculé. 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 le cercle circonscrit minimum. 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 le cercle circonscrit minimum. 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. Si, par exemple, le rayon du cercle de référence et la circularité doivent être édités, l'argument doit avoir la valeur MCCI_OUTPUT_CIRCUMSCRIBED_CIRCLE_RADIUS + MCCI_OUTPUT_ROUNDNESS doit être indiquée.

L'argument OutputOptions peut avoir les valeurs suivantes :

Constante

Signification

+ MCCI_OUTPUT_ALL

Tous les résultats disponibles.

+ MCCI_OUTPUT_CENTER_X

Coordonnée X du centre du cercle de référence. Le résultat est une valeur à virgule flottante de 64 bits.

+ MCCI_OUTPUT_CENTER_Y

Coordonnée Y du centre du cercle de référence. Le résultat est une valeur à virgule flottante de 64 bits.

+ MCCI_OUTPUT_MIDDLE_CIRCLE

Le cercle moyen arithmétiquement calculé entre le plus petit cercle extérieur (cercle de référence) et le plus grand cercle intérieur par rapport au cercle de référence. Le résultat est un signal.

+ MCCI_OUTPUT_MIDDLE_CIRCLE_RADIUS

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

+ MCCI_OUTPUT_INSCRIBED_CIRCLE

Le plus grand cercle inscrit se rapportant au cercle de référence. Le centre du cercle inscrit est égal au centre du cercle de référence. Le rayon du cercle inscrit est le résultat de la distance minimale du point fixé au centre du cercle. Le résultat est un signal.

+ MCCI_OUTPUT_INSCRIBED_CIRCLE_RADIUS

Rayon du cercle inscrit par rapport au cercle de référence. Le résultat est une valeur à virgule flottante de 64 bits.

+ MCCI_OUTPUT_CIRCUMSCRIBED_CIRCLE

Le cercle de référence calculé (cercle circonscrit minimum) dans le plan bidimensionnel. Le résultat est un signal.

+ MCCI_OUTPUT_CIRCUMSCRIBED_CIRCLE_RADIUS

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

+ MCCI_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 MCCI_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 .

ConvexHullAlgorithm

Détermine l'algorithme de l'enveloppe convexe nécessaire au calcul du cercle circonscrit minimum.

L'argument ConvexHullAlgorithm peut avoir les valeurs suivantes :

Constante

Signification

CONVEXHULL_JARVIS_MARCH

L'algorithme Jarvis March (également connu sous le nom d'algorithme gift wrapping) est utilisé pour calculer l'enveloppe convexe. Le temps d'exécution de l'algorithme est O(n*h), où h décrit le nombre de points sur l'enveloppe convexe. L'algorithme est donc sensible à la sortie, ce qui signifie que la durée d'exécution dépend des données d'entrée. Dans le pire des cas, l'algorithme a une durée d'exécution quadratique. Cependant, dans de nombreux cas, le nombre de points sur l'enveloppe convexe est faible, ce qui rend l'algorithme dans ces cas plus rapide que l'algorithme de balayage de Graham.

CONVEXHULL_GRAHAM_SCAN

L'algorithme de Graham-Scan est utilisé pour calculer l'enveloppe convexe. Le temps d'exécution de l'algorithme est toujours O(n*log(n)).

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

Remarques

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

Dans la première étape, l'enveloppe convexe est calculée à partir du point fixé (voir aussi la fonction ConvexHull). Le cercle circonscrit minimum de l'enveloppe convexe est alors calculé à l'aide de l'algorithme de Skyum [1]. Le temps d'exécution est O(n*log(n)). Le cercle ainsi calculé coïncide avec le plus petit cercle extérieur (cercle enveloppe) de l'ensemble de points initial.

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 du cercle de référence.

.["Center_Y"]

Coordonnée Y du centre du cercle de référence.

.["Middle_Circle"]

Cercle déterminé arithmétiquement entre le cercle de référence (cercle circonscrit minimum) et le cercle inscrit.

.["Middle_Circle_Radius"]

Rayon du cercle moyenné arithmétiquement.

.["Inscribed_Circle"]

Le plus grand cercle inscrit se rapportant au cercle de référence.

.["Inscribed_Circle_Radius"]

Rayon du plus grand cercle inscrit par rapport au cercle de référence.

.["Circumscribed_Circle"]

Cercle de référence (cercle circonscrit minimum).

.["Circumscribed_Circle_Radius"]

Rayon du cercle de référence.

.["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é de la MCCI sont basés sur la norme actuellement en vigueur pour déterminer la circularité ; voir [2].

Disponible dans

FlexPro Professional, Developer Suite

Exemples

MinimumCircumscribedCircle(y, x)

Calcule le cercle circonscrit minimum (MCCI) d'un ensemble de points.

MinimumCircumscribedCircle(y, x, MCCI_OUTPUT_ROUNDNESS)

Calcule le cercle circonscrit minimum (MCCI) d'un ensemble de points et ne renvoie que la circularité.

MinimumCircumscribedCircle(points, MCCI_OUTPUT_CIRCUMSCRIBED_CIRCLE_RADIUS + MCCI_OUTPUT_ROUNDNESS)

Calcule le cercle circonscrit minimum (MCCI) d'un ensemble de points. Ainsi, le rayon du cercle déterminé et la circularité sont renvoyés sous forme de liste.

Dim alpha = Series(0, 2*PI, 0.05)
Dim r = 13.5 + Noise(1 # NumberOfRows(alpha), NOISE_NORMAL)
Dim points = Signal(Noise(1) + r*Sin(alpha), Noise(1) + r*Cos(alpha))
List("Points", points, "Circumscribed Circle", MinimumCircumscribedCircle(points))
 

Calcule le cercle circonscrit minimum (MCCI) des points répartis de façon aléatoire dans le plan bidimensionnel.

Voir aussi

Fonction LeastSquaresCircle

Fonction MaximumInscribedCircle

Fonction MinimumZoneCircle

Fonction ConvexHull

Fonction GaussianFilter

Objet d'analyse Approximation Circulaire

Littérature

[1] Sven Skyum: A simple algorithm for computing the smallest enclosing circle. Dans: Information Processing Letters, Vol. 37, Issue 3, Pages 121-125. https://doi.org/10.1016/0020-0190(91)90030-L, le 1991.

[2] 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.