MaximumInscribedCircle (FPScript)

21.09.2021

Calcule le cercle inscrit maximum (MICI) d'un ensemble de points bidimensionnels. Utilisé pour déterminer la rondeur.

Syntaxe

MaximumInscribedCircle(Points, [ OutputOptions = MICI_OUTPUT_INSCRIBED_CIRCLE ] [ , CircleSize = 5000 ])
ou
MaximumInscribedCircle(Y, X, [ OutputOptions = MICI_OUTPUT_INSCRIBED_CIRCLE ] [ , CircleSize = 5000 ])

 

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

Section

Description

Points

Les points Y et X pour lesquels le cercle maximum inscrit 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 maximum inscrit. Si vous spécifiez un signal, 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éries 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 maximum inscrit. Si vous spécifiez un signal, 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éries 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

Précise les résultats qui doivent être renvoyés. 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 indiqués, l'argument doit contenir la valeur MICI_OUTPUT_INSCRIBED_CIRCLE_RADIUS + MICI_OUTPUT_ROUNDNESS.

L'argument OutputOptions peut avoir les valeurs suivantes :

Constante

Signification

+ MICI_OUTPUT_ALL

Tous les résultats disponibles.

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

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

+ MICI_OUTPUT_MIDDLE_CIRCLE

Le cercle moyenné arithmétiquement entre le cercle inscrit maximum (cercle de référence) et le cercle circonscrit minimum lié au cercle de référence. Le résultat est un signal.

+ MICI_OUTPUT_MIDDLE_CIRCLE_RADIUS

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

+ MICI_OUTPUT_INSCRIBED_CIRCLE

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

+ MICI_OUTPUT_INSCRIBED_CIRCLE_RADIUS

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

+ MICI_OUTPUT_CIRCUMSCRIBED_CIRCLE

Le cercle circonscrit minimum lié au cercle de référence. Le centre du cercle circonscrit est égal au centre du cercle de référence. Le rayon du cercle circonscrit est le résultat de la distance maximale du point fixé au centre du cercle. Le résultat est un signal.

+ MICI_OUTPUT_CIRCUMSCRIBED_CIRCLE_RADIUS

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

+ MICI_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 MICI_OUTPUT_INSCRIBED_CIRCLE .

CircleSize

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

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 .

Remarques

Les valeurs sont converties en points flottants de 64 bits avant que le calcul ne soit effectué.

Dans la première étape, la triangulation de Delaunay est calculée à partir du point fixé afin de générer un maillage triangulaire (triangulation) à partir du point fixé (algorithme utilisé avec le temps d'exécution O(n*log(n)) : construction incrémentale randomisée à partir de [1]). Le cercle maximal inscrit est alors le cercle ayant la circonférence maximale de tous les triangles contenus dans la triangulation.

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 moyenné arithmétiquement entre le cercle de référence (cercle maximum inscrit) et le cercle circonscrit.

.["Middle_Circle_Radius"]

Rayon du cercle moyenné arithmétiquement.

.["Inscribed_Circle"]

Cercle de référence (cercle maximum inscrit).

.["Inscribed_Circle_Radius"]

Rayon du cercle de référence.

.["Circumscribed_Circle"]

Le cercle circonscrit minimum lié au cercle de référence.

.["Circumscribed_Circle_Radius"]

Rayon du cercle circonscrit minimum par rapport au 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é du MICI sont basés sur la norme actuellement en vigueur pour déterminer la circularité ; voir [2].

Disponible dans

FlexPro Professional, Developer Suite

Exemples

MaximumInscribedCircle(y, x)

Calcule le cercle maximum inscrit (MICI) d'un ensemble de points.

MaximumInscribedCircle(y, x, MICI_OUTPUT_ROUNDNESS)

Calcule le cercle maximum inscrit (MICI) d'un ensemble de points et ne renvoie que la circularité.

MaximumInscribedCircle(points, MICI_OUTPUT_INSCRIBED_CIRCLE_RADIUS + MICI_OUTPUT_ROUNDNESS)

Calcule le cercle maximum inscrit (MICI) 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, "Inscribed Circle", MaximumInscribedCircle(points))

Calcule le cercle maximum inscrit (MICI) des points répartis de façon aléatoire dans le plan bidimensionnel.

Voir aussi

Fonction LeastSquaresCircle

Fonction MinimumCircumscribedCircle

Fonction MinimumZoneCircle

Fonction GaussianFilter

Approximation Circulaire - Objet d'analyse

Littérature

[1] Leonidas J. Guibas, Donald E. Knuth, and Micha Sharir: Randomized Incremental Construction of Delaunay and Voronoi Diagrams. Dans: Algorithmica, Vol. 7, Pages 381-413. https://link.springer.com/article/10.1007/BF01758770,1992.

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

Partager l’article ou envoyer par mail :

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