Étant donné un ensemble de points 2D ou 3D:
Comment trouver le centre de géométrie d'un objet?
Selon la figure suivante, le centre de géométrie diffère du centre de masse s'il est calculé sous la forme la plus simple, à savoir une densité de masse homogène. Le problème apparaît, en effet, dans le calcul de ceux-ci. Généralement, une approche consiste à faire la moyenne des coordonnées X et des coordonnées Y séparément, c'est-à-dire à trouver une position moyenne par rapport aux points donnés (ici en 2D). Cela peut être utilisé comme centroïde pour l'ensemble des points représentant un objet. Comme indiqué, en raison du sommet supplémentaire le long du bord inférieur, pour un rectangle simple, le centre de gravité résultant est (0.5,0.4), tandis que la réponse correcte est (0.5,0.5) .
Notez que l'exemple donné est trop simple. Le problème qui nous intéresse concerne toutefois les formes complexes en 2D et les objets en 3D pour lesquels seules les coordonnées des sommets sont disponibles.
BTW, une méthode de calcul efficace est d’intérêt.
Juste pour mentionner que j'ai vérifié certains liens Web tels que ceux de Wikipedia, mais mon problème actuel est qu'il existe un groupe de points 2D et 3D qui souhaitent trouver un point représentatif de ceux-ci. Ainsi centroïde est devenu d'intérêt. Les points sont donnés sans aucune information topologique. Vous pouvez les considérer comme un nuage de points. La démonstration fournie ici indique clairement que la moyenne des coordonnées généralement connue (voir, par exemple, ce Q & A de débordement de pile ) peut être incorrecte, comme indiqué dans l'exemple.
Voici quelques implémentations pour la comparaison:
- aa = réponse acceptée ci-dessous
- coque = points de la coque convexe, c’est-à-dire le polygone en or
- cent = centroïde proposé dans Wikipedia et discuté dans aa comme le centroïde du polygone
- centl = centroïde de la polyligne comme expliqué dans aa
Visuellement, centl
semble mieux représenter la géométrie donnée que cent
. Deux autres semblent prometteurs ici, mais ils sont généralement trop biaisés si la dispersion des points n’est pas homogène, comme c’est le cas habituel.
Et considérez également que, bien que la coque convexe simplifie considérablement le problème, elle peut toutefois générer des arêtes trop longues et trop courtes sans positionnement symétrique dans l'espace, c'est-à-dire qu'une prise de conscience est nécessaire si vous effectuez une moyenne simple (c'est-à-dire sans pondération) : points entiers (vert) ou sommets de polygone à coque convexe (bleu).
Une application pourrait être trouvée dans Trouver un rectangle minimum d’aire pour des points donnés? .