LeastSquaresCircle (FPScript)
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, [ OutputOptions = LSCI_OUTPUT_MIDDLE_CIRCLE ], [ CircleSize = 5000 ] [ , Algorithm = LSCI_ALGORITHM_KASA ])
ou
LeastSquaresCircle(Y, X, [ OutputOptions = LSCI_OUTPUT_MIDDLE_CIRCLE ], [ CircleSize = 5000 ] [ , Algorithm = 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é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 X points 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 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 LSCI_OUTPUT_MIDDLE_CIRCLE_RADIUS + LSCI_OUTPUT_ROUNDNESS. 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 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 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 . |
||||||||||||||||||||||||||||
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 :
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 points flottants de 64 bits avant que le calcul ne soit effectué.
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 rapporte 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
Approximation Circulaire - Objet d'analyse
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/,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,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,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,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.