Điều này được gọi là "Trung tâm khoảng cách" và khác với trung tâm.
Trước tiên, bạn phải xác định thước đo khoảng cách bạn đang sử dụng. Nếu chúng tôi giả sử bạn đang sử dụng số liệu chuẩn của d = sqrt ((x1-x2)^2 + (y1-y2)^2) thì nó không phải là duy nhất và vấn đề là giảm thiểu số tiền này.
Ví dụ dễ nhất để hiển thị câu trả lời này không phải là duy nhất là ví dụ đường thẳng. Bất kỳ điểm nào ở giữa hai điểm đều có tổng khoảng cách bằng nhau từ tất cả các điểm.
Trong 1D, câu trả lời đúng sẽ là bất kỳ câu trả lời nào có cùng số điểm ở bên phải và bên trái. Miễn là điều này là đúng, thì bất kỳ di chuyển sang trái và phải sẽ tăng và giảm các cạnh bên trái và bên phải bằng cùng một lượng, và vì vậy để khoảng cách giống nhau. Điều này cũng chứng minh rằng centroid không nhất thiết là câu trả lời đúng.
Nếu chúng tôi mở rộng sang 2D, điều này không còn là trường hợp - vì sqrt làm cho vấn đề được cân nhắc. Đáng ngạc nhiên với tôi có vẻ như không phải là một thuật toán chuẩn! Trang here dường như sử dụng phương pháp bạo lực. Tôi không bao giờ biết rằng!
Nếu tôi muốn sử dụng thuật toán, tôi sẽ tìm điểm trung bình trong X và Y làm điểm bắt đầu, sau đó sử dụng gradient descent algorithm - điều này sẽ nhận được câu trả lời khá nhanh. Toàn bộ phương trình kết thúc như là một bậc hai, do đó, nó cảm thấy như có phải là một giải pháp chính xác.
Nguồn
2009-12-07 09:06:39
Đừng đóng này, các thuật toán hình học là hoàn toàn trong phạm vi stack overflow –
Có bài tập về nhà? Ngoài ra, trong ngôn ngữ nào bạn đang cố gắng thực hiện điều này? – Piskvor
Không có bài tập về nhà. Tôi đang nghiên cứu các thuật toán trên hình học tính toán. Vì vậy, có một nghi ngờ.Tôi đang làm nó trong C. – nowonder