Calcula el círculo exterior más pequeño (MCCI) de un conjunto de puntos bidimensional (círculo envolvente). Se utiliza para determinar la redondez.
Sintaxis
MinimumCircumscribedCircle(Points, [ OutputOptions = MCCI_OUTPUT_CIRCUMSCRIBED_CIRCLE ], [ CircleSize = 5000 ] [ , ConvexHullAlgorithm = CONVEXHULL_GRAHAM_SCAN ])
o
MinimumCircumscribedCircle(Y, X, [ OutputOptions = MCCI_OUTPUT_CIRCUMSCRIBED_CIRCLE ], [ CircleSize = 5000 ] [ , ConvexHullAlgorithm = CONVEXHULL_GRAHAM_SCAN ])
La sintaxis de la función MinimumCircumscribedCircle consta de los siguientes elementos:
Parte |
Descripción |
||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Points |
El conjunto de puntos Y y X para los que debe calcularse el círculo exterior más pequeño (círculo envolvente). Ambos componentes de la señal deben tener la misma unidad. Las estructuras de datos permitidas son Señal. Se permiten todos los tipos de datos reales excepto Tiempo de calendario y Intervalo de tiempo. |
||||||||||||||||||||||
Y |
El conjunto de puntos X utilizado para calcular el círculo exterior más pequeño (círculo envolvente). Si especifica una señal, se utiliza su componente Y. La unidad debe coincidir con la unidad del argumento X. Las estructuras de datos permitidas son Serie de datos y Señal. Se permiten todos los tipos de datos reales excepto Tiempo de calendario y Intervalo de tiempo. |
||||||||||||||||||||||
X |
El conjunto de puntos X utilizado para calcular el círculo exterior más pequeño (círculo envolvente). Si especifica una señal, se utiliza su componente Y. La unidad debe coincidir con la unidad del argumento Y. Las estructuras de datos permitidas son Serie de datos y Señal. Se permiten todos los tipos de datos reales excepto Tiempo de calendario y Intervalo de tiempo. |
||||||||||||||||||||||
OutputOptions |
Especifica qué resultados deben devolverse. Si hay varios resultados, se emiten en forma de lista. Si, por ejemplo, se desea obtener el radio del círculo de referencia y la redondez, el argumento debe tener el valor MCCI_OUTPUT_CIRCUMSCRIBED_CIRCLE_RADIUS + MCCI_OUTPUT_ROUNDNESS. El argumento OutputOptions puede tener los siguientes valores:
Se establece el valor predeterminado MCCI_OUTPUT_CIRCUMSCRIBED_CIRCLE si no se especifica el argumento. |
||||||||||||||||||||||
CircleSize |
Especifica el número de valores para presentar los círculos ajustados. Si introduce cero, se conserva el número de valores original. El argumento solo se tiene en cuenta si se ha seleccionado uno de los círculos de la lista para OutputOptions. Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos enteros. El valor debe ser mayor o igual que 0. Se establece el valor predeterminado 5000 si no se especifica el argumento. |
||||||||||||||||||||||
ConvexHullAlgorithm |
Determina el algoritmo del casco convexo necesario para calcular el círculo envolvente. El argumento ConvexHullAlgorithm puede tener los siguientes valores:
Se establece el valor predeterminado CONVEXHULL_GRAHAM_SCAN si no se especifica el argumento. |
Notas
Los valores se convierten en números en coma flotante de 64 bits antes del cálculo.
En el primer paso, se calcula la envolvente convexa a partir del conjunto de puntos (véase también la función ConvexHull). A continuación, se calcula el círculo exterior más pequeño de la envolvente convexa mediante el algoritmo de Skyum [1]. El tiempo de ejecución es O(n*log(n)). El círculo así calculado corresponde al círculo exterior más pequeño (círculo envolvente) del conjunto de puntos original.
Las opciones de salida del argumento OutputOptions se visualizan en el siguiente diagrama:

Se puede acceder a los resultados con los siguientes nombres de los elementos de lista:
Constante |
Significado |
|---|---|
.["Center_X"] |
Coordenada X del centro del círculo de referencia. |
.["Center_Y"] |
Coordenada Y del centro del círculo de referencia. |
.["Middle_Circle"] |
Círculo central promediado de forma aritmética entre el círculo de referencia (círculo exterior más pequeño) y el círculo interior. |
.["Middle_Circle_Radius"] |
Radio del círculo central promediado de forma aritmética. |
.["Inscribed_Circle"] |
El círculo interior más grande en relación con el círculo de referencia. |
.["Inscribed_Circle_Radius"] |
Radio del círculo interior más grande en relación con el círculo de referencia. |
.["Circumscribed_Circle"] |
Círculo de referencia (círculo exterior más pequeño) |
.["Circumscribed_Circle_Radius"] |
Radio del círculo de referencia. |
.["Roundness"] |
Desviación de redondez como diferencia entre los radios de los círculos exterior e interior. |
También puede utilizar siempre la sintaxis Formula.ListElementName.
Nota Los cálculos de redondez MCCI se basan en la norma actualmente vigente para la determinación de la redondez, véase [2].
Disponibilidad
FlexPro Professional, Developer Suite
Ejemplos
MinimumCircumscribedCircle(y, x)
Calcula el círculo exterior más pequeño (MCCI) de un conjunto de puntos.
MinimumCircumscribedCircle(y, x, MCCI_OUTPUT_ROUNDNESS)
Calcula el círculo exterior más pequeño (MCCI) de un conjunto de puntos y devuelve la redondez.
MinimumCircumscribedCircle(points, MCCI_OUTPUT_CIRCUMSCRIBED_CIRCLE_RADIUS + MCCI_OUTPUT_ROUNDNESS)
Calcula el círculo exterior más pequeño (MCCI) de un conjunto de puntos. Como resultado, se emiten el radio del círculo calculado y la redondez en forma de lista.
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))
Calcula el círculo exterior más pequeño (MCCI) de puntos distribuidos de forma aleatoria en el plano bidimensional.

Véase también
Función MaximumInscribedCircle
Objeto de análisis Aproximación circular
Bibliografía
[1] Sven Skyum: A simple algorithm for computing the smallest enclosing circle. En: Information Processing Letters, Vol. 37, Issue 3, Pages 121-125. https://doi.org/10.1016/0020-0190(91)90030-L, 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. En: Geometrical product specifications (GPS)- Roundness. 2011.