2014-06-29 2 views
0

Je dois trouver le centroïde exact de plusieurs rectangles (Rectangle minimum borné). Permettez-je, 3 rectangles et leurs coordonnées pour le maximum et minimum de pointsComment trouver le centroïde de plusieurs rectangles?

point minimum du 1er rectangle (x1, y1), point maximum (x2, y2)

point minimum de 2 rectangle (x3, Y3), point maximum (x4, y4)

3e point minimum du rectangle (x5, y5), point maximum (x6, y6)

Je solution rapide venir mon esprit est, je trouve la liste possible centroïdes en considérant des combinaisons de ces 6 points et ensuite prendre le rectangle minimum borné de ces centroïdes. Il me donnera un rectangle R, le centroïde de ce rectangle est mon véritable centroïde. Par exemple, une combinaison est (x1, y1) + (x3, y3) + (x5, y5), une autre combinaison est (x1, y1) + (x3, y3) + (x6, y6), etc. Mais je suis confus va-t-il me donner le vrai centroïde? Y a-t-il un autre moyen de trouver le centroïde?

+0

Cela pourrait aider: http://stackoverflow.com/questions/9031041/calculate-minimum-bounding-rectangle-of-2d-shape-by-coordinates –

+0

Merci, mais cela montre seulement comment trouver la boîte contenant tous les points, ne répond pas à ma question – web2dev

+0

@Nusrat Je suis très confus avec la terminologie car bound-area est une zone qui encapsule les sous-objets (pas ce que montre votre image). aussi que voulez-vous dire exactement par centroïde? rectangle qui a la même attraction gravitationnelle d'assez loin distance peut-être? comme le centre de l'analogie de point de masse (cela montre votre image) ou quelque chose de complètement différent? Désolé pour les questions stupides mais je pourrais perdre quelque chose dans la traduction et peut-être aussi d'autres comme moi aussi ... – Spektre

Répondre

0

Je partage la confusion de Spektre sur l'énoncé du problème. Mais si vous voulez juste le barycentre du point-ensemble défini par les rectangles, voici comment faire:

Si Ai est la zone du rectangle i et Ci est le barycentre du rectangle i, le centre de gravité de tous les rectangles pris ensemble sont juste:

Sum(i = 1..n; Ai Ci)/Sum(i = 1..n; Ai) 

La zone et le centroïde de chaque rectangle sont faciles à calculer à partir de la géométrie de base.

Vous pouvez considérer chaque rectangle comme ayant toute sa masse (identique à la zone si nous supposons la densité de l'unité). Ensuite, nous avons juste besoin de la moyenne pondérée en masse de ces points.

Questions connexes