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

LeastSquaresCircle

Calcule le cercle des moindres carrés (LSCI) d'un ensemble de points bidimensionnels (cercle de référence des moindres carrés). Utilisé pour déterminer la rondeur.

Syntaxe

LeastSquaresCircle(Points, le [ OutputOptions Variable LSCI_OUTPUT_MIDDLE_CIRCLE ], le [ CircleSize Variable 5000 ] [ , le Algorithm Variable LSCI_ALGORITHM_KASA ])
ou
LeastSquaresCircle(Y, le X, le [ OutputOptions Variable LSCI_OUTPUT_MIDDLE_CIRCLE ], le [ CircleSize Variable 5000 ] [ , le Algorithm Variable LSCI_ALGORITHM_KASA ])

 

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

Section

Description

Points

Les points Y et X pour lesquels le cercle des moindres carrés 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 des moindres carrés. 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

Ensemble de points X utilisé pour calculer le cercle des moindres carrés. 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 LSCI_OUTPUT_MIDDLE_CIRCLE_RADIUS + LSCI_OUTPUT_ROUNDNESS doit être indiquée.

L'argument OutputOptions peut avoir les valeurs suivantes :

Constante

Signification

+ LSCI_OUTPUT_ALL

Tous les résultats disponibles.

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

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

+ LSCI_OUTPUT_MIDDLE_CIRCLE

Le cercle de référence calculé (cercle de référence des moindres carrés). Le résultat est un signal.

+ LSCI_OUTPUT_MIDDLE_CIRCLE_RADIUS

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

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

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

+ LSCI_OUTPUT_CIRCUMSCRIBED_CIRCLE

Le plus petit cercle circonscrit 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 des points au centre du cercle. Le résultat est un signal.

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

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

+ LSCI_OUTPUT_ROUNDNESS_MAX_TO_REF

Écart de circularité entre le pic et la référence. Résulte de la différence entre LSCI_OUTPUT_CIRCUMSCRIBED_CIRCLE_RADIUS et LSCI_OUTPUT_MIDDLE_CIRCLE_RADIUS. Le résultat est une valeur à virgule flottante de 64 bits.

+ LSCI_OUTPUT_ROUNDNESS_REF_TO_MIN

Écart de circularité entre la vallée et la référence. Résulte de la différence entre LSCI_OUTPUT_MIDDLE_CIRCLE_RADIUS et LSCI_OUTPUT_INSCRIBED_CIRCLE_RADIUS. Le résultat est une valeur à virgule flottante de 64 bits.

+ LSCI_OUTPUT_ROUNDNESS_QUADRATIC_MEAN

Moyenne quadratique des écarts des points de données par rapport au cercle de référence. Correspond à la racine carrée de la moyenne des carrés des écarts de circularité locale par rapport au cercle de référence des moindres carrés. 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 LSCI_OUTPUT_MIDDLE_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 .

Algorithm

Détermine l'algorithme de calcul du cercle des moindres carrés. La méthode des moindres carrés est toujours utilisée.

L'argument Algorithm peut avoir les valeurs suivantes :

Constante

Signification

LSCI_ALGORITHM_KASA

Pour calculer le cercle LSCI avec la méthode des moindres carrés, on utilise la fonctionnelle à minimiser modifiée suivante :Cela garantit que l'ajustement de la courbe peut être résolu explicitement à l'aide d'une formulation linéaire des moindres carrés. C'est ce qu'on appelle la méthode Kasa ; voir [1], [2, chapitre 2] ou [4]. L'algorithme est simple, rapide et robuste. L'algorithme donne de bons résultats lorsque les points de données sont échantillonnés le long d'un cercle entier ou d'une grande partie de celui-ci (au moins un demi-cercle). Cependant, si les points de données ne sont échantillonnés que le long d'un petit arc de cercle, le résultat est déformé et on obtient des cercles qui sont trop souvent trop petits.

LSCI_ALGORITHM_PRATT

Pour calculer le cercle LSCI avec la méthode des moindres carrés, on utilise la fonctionnelle à minimiser modifiée suivante :C'est ce qu'on appelle la méthode Pratt ; voir [3] ou [4]. L'algorithme est légèrement plus lent que la méthode Kasa, mais il est précis et quand même rapide. Par rapport à la méthode Kasa, des résultats plus précis sont obtenus si les points de données se trouvent dans un petit arc.

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

Remarques

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

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 de référence (cercle de référence des moindres carrés).

.["Middle_Circle_Radius"]

Rayon du cercle de référence.

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

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.

.["Roundness_Max_to_Ref"]

Écart de circularité entre le pic et la référence.

.["Roundness_Ref_to_Min"]

Écart de circularité entre la vallée et la référence.

.["Roundness_Quadratic_Mean"]

Moyenne quadratique des écarts des points de données par rapport au cercle de référence.

Vous pouvez aussi toujours utiliser la syntaxe Formula.ListElementName.

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

Disponible dans

FlexPro Professional, Developer Suite

Exemples

LeastSquaresCircle(y, x)

Calcule le cercle LSCI (cercle de référence des moindres carrés) d'un ensemble de points.

LeastSquaresCircle(y, x, LSCI_OUTPUT_ROUNDNESS)

Calcule le cercle des moindres carrés d'un ensemble de points et ne renvoie que la circularité.

LeastSquaresCircle(points, LSCI_OUTPUT_MIDDLE_CIRCLE_RADIUS + LSCI_OUTPUT_ROUNDNESS)

Calcule le cercle des moindres carrés d'un ensemble de points. Ainsi, le rayon du cercle de référence et la circularité sont renvoyé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, "Least-Squares Circle", LeastSquaresCircle(points))
 

Calcule le cercle des moindres carrés des points répartis de façon aléatoire dans le plan bidimensionnel.

Voir aussi

Fonction MaximumInscribedCircle

Fonction MinimumCircumscribedCircle

Fonction MinimumZoneCircle

Fonction GaussianFilter

Fonction NonLinCurveFit

Fonction Approximation

Objet d'analyse Approximation Circulaire

Littérature

[1] I. Kasa: A curve fitting procedure and its error analysis. Dans: IEEE Trans. Inst. Meas., Vol. 25, Pages 8-14. http://ieeexplore.ieee.org/document/6312298/, le 1976.

[2] L.D. Coope: Circle fitting by linear and nonlinear least squares. Dans: Journal of Optimization Theory and Applications, Vol. 76, Issue 2, Pages 381-388. https://link.springer.com/article/10.1007/BF00939613, le 1993.

[3] V. Pratt: Direct least-squares fitting of algebraic surfaces. Dans: Computer Graphics, Vol. 21, Pages 145-152. https://dl.acm.org/citation.cfm?id=37420, le 1987.

[4] A. Al-Sharadqah and N. Chernov: Error Analysis for circle fitting algorithms. Dans: Electron. J. Statist., Vol. 3, Pages 886-911. https://projecteuclid.org/euclid.ejs/1251119958, le 2009.

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