Если программа представлена с координатами X и Y, как я могу заставить программу соединить эти точки, чтобы сформировать форму, подобную кругу?
Если программа представлена с координатами X и Y, как я могу заставить программу соединить эти точки, чтобы сформировать форму, подобную кругу? Это означает, что программа пытается создать фигуру, соединяя эти точки. Что я хочу знать: как определить, какие точки нужно соединить, чтобы сформировать круг(или форму, ближайшую к кругу).
Я не ищу никакого конкретного кода, только алгоритм. Спасибо:)
Пример:
Это визуальное представление входных данных(координат)
Программа будет использовать эти координаты для создания фигуры, соединяя их. Выходные данные должны показывать, какие точки соединены, чтобы сформировать эту фигуру. Эта фигура должна проходить через все точки и при этом быть максимально близкой(через точки) к окружности/иметь максимально возможную площадь поверхности.
визуальное представление выходных данных
Выходные данные этого примера должны быть AB,BC,CX,XY,YZ,ZA
Что я уже пробовал:
Я попытался сравнить расстояния между точками, чтобы увидеть, каков самый короткий путь через все точки, которые заканчиваются в начальной точке, и это, кажется, дает хороший результат. Однако я уверен, что существует более эффективный алгоритм.
Richard MacCutchan
Это зависит от того, сколько координат дано и в каком порядке.