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

      Комментарии к записи Расстояние между точками на Prolog отключены

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

  • Автор
    Сообщения
  • #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.

    Вложения:

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