Dado un conjunto de puntos 2D o 3D:
¿Cómo encontrar el centro de geometría de un objeto?
Según la siguiente figura, el centro de geometría difiere del centro de masa si se calcula en la forma más simple, es decir, la densidad de masa homogénea. El problema aparece, de hecho, en el cálculo de esos. Comúnmente, un enfoque es promediar las coordenadas X y las coordenadas Y por separado, es decir, encontrar una posición promedio para los puntos dados (aquí en 2D). Esto se puede usar como centroide para el conjunto de puntos que representan un objeto. Como se muestra, debido al vértice adicional a lo largo del borde inferior, para un rectángulo simple, el centroide resultante es (0.5,0.4) mientras que la respuesta correcta es (0.5,0.5) .
Tenga en cuenta que el ejemplo dado es demasiado simple. Sin embargo, el problema de interés es para formas complejas en 2D y objetos en 3D para los que solo hay coordenadas de vértices disponibles.
Por cierto, una forma computacional eficiente es de interés.
Solo para mencionar que he revisado algunos enlaces web como Wikipedia, sin embargo, mi problema actual es que hay un grupo de puntos 2D y 3D que desean encontrar un punto como representante de ellos. Así, el centroide se volvió de interés. Los puntos se dan sin ninguna información topológica. Puede considerarlos como nube de puntos. La demostración aquí proporcionada para dejar en claro que el promedio de coordenadas comúnmente conocido (ver, por ejemplo, estas Preguntas y respuestas sobre el desbordamiento de pila ) puede ser incorrecto como se muestra en el ejemplo.
Aquí hay algunas implementaciones para comparar:
- aa = respuesta aceptada a continuación
- chull = casco convexo de puntos, es decir, el polígono dorado
- cent = centroide propuesto en Wikipedia y discutido en aa como el centroide poligonal
- centl = centroide de polilínea como se explica en aa
Visualmente, se centl
ve mejor representativo de la geometría dada en comparación con cent
. Otros dos parecen prometedores aquí, pero generalmente son demasiado parciales si la dispersión de los puntos no es homogénea, como es el caso habitual.
Y también considere que, aunque el casco convexo hace que el problema sea bastante más simple, sin embargo, puede generar bordes demasiado largos y demasiado cortos sin ningún posicionamiento simétrico en el espacio, es decir, la conciencia es necesaria si realiza un promedio simple (es decir, sin ponderación) en ambos casos : puntos enteros (verde) o vértices de polígono de casco convexo (azul).
¿Se podría encontrar una aplicación en Encontrar el área mínima del rectángulo para puntos dados? .