Calcule le cercle inscrit maximum (MICI) d'un ensemble de points bidimensionnels. Utilisé pour déterminer la rondeur.
Syntaxe
MaximumInscribedCircle(Points, le [ OutputOptions Variable MICI_OUTPUT_INSCRIBED_CIRCLE ] [ , le CircleSize Variable 5000 ])
ou
MaximumInscribedCircle(Y, le X, le [ OutputOptions Variable MICI_OUTPUT_INSCRIBED_CIRCLE ] [ , le CircleSize Variable 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, 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 maximum inscrit. 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 MICI_OUTPUT_INSCRIBED_CIRCLE_RADIUS + MICI_OUTPUT_ROUNDNESS doit être indiquée. L'argument OutputOptions peut avoir les valeurs suivantes :
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 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 . |
Remarques
Les valeurs sont converties en valeurs à virgule flottante de 64 bits avant le calcul.
A partir de l'ensemble de points, la première étape consiste à calculer d'abord la triangulation de Delaunay afin de créer un réseau triangulaire à partir de l'ensemble de points (algorithme utilisé avec un temps d'exécution O(n*log(n)) : construction incrémentielle randomisée de [1]). Le plus grand cercle intérieur correspond alors au cercle ayant le plus grand périmètre de tous les triangles inclus 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 plus petit cercle circonscrit lié au cercle de référence. |
.["Circumscribed_Circle_Radius"] |
Rayon du plus petit cercle circonscrit 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 MinimumCircumscribedCircle
Objet d'analyse Approximation Circulaire
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, le 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.