Google maps - как да изградим логичен, кратък маршрут

Всъщност има точки. A - начало D - край

Маршрутът се изгражда според реда на точките в масива. (a,b,c,d) Възможно ли е по някакъв начин маршрутът да бъде по-логичен от човешка гледна точка? Т.е. започваме нашето пускане от точка A, следващата точка е B, но би било по-кратко и вероятно по-логично да разгледаме точка D и след това B. Може би има вграден механизъм или готов алгоритъм за смятане?

google

Трябва да изчислите най-отдалечената точка от началната точка. Тази далечна точка ще бъде крайната точка, останалите точки ще бъдат построени автоматично.Формула:Ri= SQRT((xi-x1)**2+(yi-y1)**2)

Пример въз основа на предишен въпрос:

Получихте далечна точка, след това ще получите координати по условия и вече прилагате механизма.