Dado um conjunto de pontos 2D ou 3D:
Como encontrar o centro da geometria de um objeto?
De acordo com a figura a seguir, o centro da geometria difere do centro de massa se for calculado da forma mais simples, isto é, densidade homogênea de massa. O problema aparece, de fato, no cálculo desses. Geralmente, uma abordagem é calcular em média as coordenadas X e as coordenadas Y separadamente, ou seja, encontrar uma posição média para os pontos dados (aqui em 2D). Isso pode ser usado como centróide para o conjunto de pontos que representam um objeto. Como mostrado, devido ao vértice extra ao longo da borda inferior, para um retângulo simples, o centróide resultante é (0,5,0,4) enquanto a resposta correta é (0,5,0,5) .
Observe que o exemplo dado é muito simples. O problema de interesse, no entanto, é para formas complexas em 2D e objetos em 3D para os quais apenas coordenadas de vértices estão disponíveis.
BTW, uma maneira computacional eficiente é de interesse.
Apenas para mencionar que verifiquei alguns links da Web, como o da Wikipedia, mas meu problema atual é que há um grupo de pontos 2D e 3D que desejam encontrar um ponto como representativo para eles. Assim, o centróide tornou-se interessante. Os pontos são dados sem qualquer informação topológica. Você pode considerá-los como nuvem de pontos. A demonstração aqui fornecida para deixar claro que a média comum de coordenadas conhecida (consulte, por exemplo, estas Perguntas e Respostas sobre estouro de pilha ) pode estar incorreta, como mostrado no exemplo.
Aqui estão algumas implementações para comparação:
- aa = resposta aceita abaixo
- chull = casco convexo de pontos, isto é, o polígono dourado
- cent = centróide proposto na Wikipedia e discutido em aa como o centróide poligonal
- centl = centróide de polilinha, conforme explicado em aa
Visualmente, centl
parece melhor representativo para a geometria fornecida em comparação com cent
. Dois outros parecem promissores aqui, mas geralmente eles são muito tendenciosos se a dispersão dos pontos não for homogênea, como é o caso usual.
E considere também que, embora o casco convexo torne o problema razoavelmente mais simples, no entanto, pode gerar bordas muito longas e muito curtas sem nenhum posicionamento simétrico no espaço, ou seja, a conscientização é necessária se você fizer uma média simples (ou seja, sem ponderação) para ambos os casos. : pontos inteiros (verde) ou vértices poligonais do casco convexo (azul).
Uma aplicação pode ser encontrada em Como encontrar um retângulo de área mínima para determinados pontos? .