Saltar navegación

Documentación de FlexPro 2025

MinimumZoneCircle

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:

Constante

Significado

+ MZCI_OUTPUT_ALL

Todas las salidas disponibles.

+ MZCI_OUTPUT_CENTER_X

Coordenada X de los círculos de referencia concéntricos. El resultado es un valor en coma flotante de 64 bits.

+ MZCI_OUTPUT_CENTER_Y

Coordenada Y de los círculos de referencia concéntricos. El resultado es un valor en coma flotante de 64 bits.

+ MZCI_OUTPUT_MIDDLE_CIRCLE

El círculo central promediado de forma aritmética entre los círculos de referencia concéntricos, es decir, el círculo exterior más pequeño y el círculo interior más grande. El resultado es una señal.

+ MZCI_OUTPUT_MIDDLE_CIRCLE_RADIUS

Radio del círculo central promediado de forma aritmética. El resultado es un valor en coma flotante de 64 bits.

+ MZCI_OUTPUT_INSCRIBED_CIRCLE

El círculo interior calculado (círculo de referencia). El centro del círculo interior coincide con el centro del círculo exterior (segundo círculo de referencia). El resultado es una señal.

+ MZCI_OUTPUT_INSCRIBED_CIRCLE_RADIUS

Radio del círculo interior. El resultado es un valor en coma flotante de 64 bits.

+ MZCI_OUTPUT_CIRCUMSCRIBED_CIRCLE

El círculo exterior calculado (círculo de referencia). El centro del círculo interior coincide con el centro del círculo interior (segundo círculo de referencia). El resultado es una señal.

+ MZCI_OUTPUT_CIRCUMSCRIBED_CIRCLE_RADIUS

Radio del círculo exterior. El resultado es un valor en coma flotante de 64 bits.

+ MZCI_OUTPUT_ROUNDNESS

Desviación de redondez. Es la diferencia entre los radios de los círculos exterior e interior. El resultado es un valor en coma flotante de 64 bits.

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 LeastSquaresCircle

Función MaximumInscribedCircle

Función MinimumCircumscribedCircle

Función GaussianFilter

Función NonLinCurveFit

Función Approximation

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.