Расстояние между точками на Prolog

В этой теме 1 ответ, 2 участника, последнее обновление  Васильев Владимир Сергеевич 2 года/лет, 8 мес. назад.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #2366

    questioner
    Участник

    Помогите найти расстояние между двумя точками в двумерном пространстве. Точки заданы координатами X, Y.

    #2367

    Расстояние между точками можно найти по теореме Пифагора, при этом гипотенуза прямоугольного треугольника является искомым расстоянием, а его катеты — разность соответствующих координат точек.

    distance(point(APosX, APosY), point(BPosX, BPosY), Distance):-
      DeltaX is abs(APosX-BPosX),
      DeltaY is abs(APosY-BPosY),
      Distance is sqrt(DeltaX*DeltaX+DeltaY*DeltaY), !.

    Для решения используются встроенные функции abs и sqrt, при это решение будет примерно одинаковым в SWI/ISO Prolog и Turbo/Visual Prolog.

    Вложения:
    Вы должны войти для просмотра вложений.
Просмотр 2 сообщений - с 1 по 2 (из 2 всего)

Для ответа в этой теме необходимо авторизоваться.