У меня есть две точки (x1, y1) и (x2,y2), которые представляют расположение двух сущностей в моем пространстве. Я вычисляю евклидово расстояние между ними по теореме Пифагора, и все замечательно. Однако, если мое пространство становится конечным, я хочу определить новое кратчайшее расстояние между точками, которые «оборачивают» швы карты. Например, если у меня есть точка A как (10, 10)
и точка B как (90,10)
, а моя карта имеет ширину 100 единиц, я хотел бы рассчитать расстояние между A и B как 20 (от правого края карты и обратно в левый край) вместо 80, что является нормальным евклидовым расстоянием.
Я думаю, моя проблема в том, что я использую систему координат, которая не совсем подходит для того, что я пытаюсь сделать, и что на самом деле моя плоская квадратная карта больше похожа на бесшовную форму пончика. Любые предложения о том, как реализовать систему такого рода и конвертировать туда и обратно из декартовых координат, также будут оценены!