Ceci est connu comme le "Centre de Distance" et est différent du centroïde.
Premièrement, vous devez définir quelle mesure de distance vous utilisez. Si nous supposons que vous utilisez la métrique standard de d = sqrt ((x1-x2)^2 + (y1-y2)^2), alors elle n'est pas unique, et le problème est de minimiser cette somme.
L'exemple le plus simple pour montrer que cette réponse n'est pas unique est l'exemple de ligne droite. Tout point entre les deux points a une distance totale égale de tous les points.
Dans 1D, la réponse correcte sera toute réponse ayant le même nombre de points à droite et à gauche. Tant que cela est vrai, tout mouvement vers la gauche et vers la droite augmentera et diminuera les côtés gauche et droit du même montant, et laissera la même distance. Cela prouve également que le centroïde n'est pas nécessairement la bonne réponse.
Si nous étendons à 2D ce n'est plus le cas - car le sqrt fait peser le problème. Étonnamment pour moi, il ne semble pas y avoir d'algorithme standard! La page here semble utiliser une méthode de force brute. Je n'ai jamais su cela! Si je voulais utiliser un algorithme, je trouverais le point médian dans X et Y comme point de départ, puis utiliser un gradient descent algorithm - cela obtiendrait la réponse assez rapidement. Toute l'équation finit comme un quadratique, donc il semble qu'il devrait y avoir une solution exacte.
Ne fermez pas cela, les algorithmes de la géométrie sont tout à fait dans le cadre d'un débordement de pile –
est-il des devoirs? Aussi, dans quelle langue essayez-vous de mettre cela en œuvre? – Piskvor
Non ce n'est pas ses devoirs. J'étudie des algorithmes sur la géométrie computationnelle. Donc, j'ai un doute. Je le fais en C. – nowonder