Calcula los círculos de referencia de la zona mínima (MZCI) de un conjunto de puntos bidimensional. Se utiliza para determinar la redondez.
Sintaxis
MinimumZoneCircle(Points, [ OutputOptions = MZCI_OUTPUT_INSCRIBED_CIRCLE + MZCI_OUTPUT_CIRCUMSCRIBED_CIRCLE ], [ CircleSize = 5000 ], [ Iterations ] [ , StepWidth ])
o
MinimumZoneCircle(Y, X, [ OutputOptions = MZCI_OUTPUT_INSCRIBED_CIRCLE + MZCI_OUTPUT_CIRCUMSCRIBED_CIRCLE ], [ CircleSize = 5000 ], [ Iterations ] [ , StepWidth ])
La sintaxis de la función MinimumZoneCircle consta de los siguientes elementos:
Parte |
Descripción |
||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Points |
Conjunto de puntos Y y X para los que deben calcularse los círculos de referencia concéntricos de la zona mínima. 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 Y utilizado para calcular los círculos de referencia concéntricos de la zona mínima. 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 los círculos de referencia concéntricos de la zona mínima. 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 central aritmético y la redondez, el argumento debe tener el valor MZCI_OUTPUT_MIDDLE_CIRCLE_RADIUS + MZCI_OUTPUT_ROUNDNESS. El argumento OutputOptions puede tener los siguientes valores:
Se establece el valor predeterminado MZCI_OUTPUT_INSCRIBED_CIRCLE + MZCI_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. |
||||||||||||||||||||||
Iterations |
Número de iteraciones para calcular los círculos de referencia concéntricos con la menor diferencia de radio posible, es decir, la menor desviación de redondez posible. Si omite el argumento, el número de iteraciones se ajusta a un valor automático (en función del tamaño de los conjuntos de datos de entrada). Cuanto mayor sea el número de iteraciones, más preciso será el resultado (pero más largo será el cálculo). Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos enteros. El valor debe ser mayor o igual que 1. |
||||||||||||||||||||||
StepWidth |
Incremento para el cálculo iterativo de los círculos de referencia concéntricos con la menor diferencia de radio posible, es decir, la menor desviación de redondez posible. Si omite el argumento, el incremento se ajusta a un valor automático (en función de los conjuntos de datos de entrada). Las estructuras de datos permitidas son Valor escalar. Los tipos de datos permitidos son En coma flotante de 64 bits. El valor debe ser mayor que 0. |
Notas
Los valores se convierten en números en coma flotante de 64 bits antes del cálculo.
Los círculos de referencia concéntricos de la zona mínima (MZCI) se estiman en el primer paso de iteración utilizando los círculos interior y exterior calculados por el Least-Squares Circle (LSCI). A continuación, el resultado se mejora de forma iterativa. Se selecciona de forma aleatoria un nuevo punto alrededor del centro de los círculos concéntricos interior y exterior actuales utilizando una distribución normal bidimensional (la desviación típica corresponde al argumento StepWidth). Se comprueba si los círculos concéntricos interior y exterior recalculados para el nuevo punto tienen una diferencia de radio menor que antes. Si es así, el punto se convierte en el nuevo punto central. El procedimiento se repite de forma iterativa N veces según el valor del argumento Iterations. El procedimiento iterativo converge contra los círculos concéntricos de referencia con la menor diferencia de radio posible, es decir, contra los círculos de referencia de la zona mínima. Cuanto mayor sea el número de iteraciones, más preciso será el resultado. El algoritmo es, por tanto, un método de Montecarlo.
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 de los círculos de referencia concéntricos. |
.["Center_Y"] |
Coordenada Y del centro de los círculos de referencia concéntricos. |
.["Middle_Circle"] |
Círculo central promediado de forma aritmética entre los círculos de referencia concéntricos. |
.["Middle_Circle_Radius"] |
Radio del círculo central promediado de forma aritmética de los círculos de referencia. |
.["Inscribed_Circle"] |
El círculo interior (círculo de referencia). |
.["Inscribed_Circle_Radius"] |
Radio del círculo interior. |
.["Circumscribed_Circle"] |
El círculo exterior (círculo de referencia). |
.["Circumscribed_Circle_Radius"] |
Radio del círculo exterior. |
.["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 MZCI se basan en la norma actualmente vigente para la determinación de la redondez, véase [1].
Disponibilidad
FlexPro Professional, Developer Suite
Ejemplos
MinimumZoneCircle(y, x)
Calcula los círculos de referencia MZCI de un conjunto de puntos.
MinimumZoneCircle(y, x, MZCI_OUTPUT_ROUNDNESS)
Calcula los círculos MZCI de un conjunto de puntos y solo devuelve la redondez.
MinimumZoneCircle(points, MZCI_OUTPUT_MIDDLE_CIRCLE_RADIUS + MZCI_OUTPUT_ROUNDNESS)
Calcula los círculos MZCI de un conjunto de puntos. Como resultado, el radio del círculo central y la redondez se muestran como una lista.
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, "Minimum Zone Circle", MinimumZoneCircle(points))
Calcula los círculos MZCI de puntos distribuidos de forma aleatoria en el plano bidimensional.

Véase también
Función MaximumInscribedCircle
Función MinimumCircumscribedCircle
Objeto de análisis Aproximación circular
Bibliografía
[1] 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.