Представление точек в 2D и 3D пространствах с помощью Prolog - PullRequest
0 голосов
/ 27 мая 2020

Мне нужен пример для представления точек в 2D и 3D пространствах с помощью Prolog

1 Ответ

0 голосов
/ 27 мая 2020

Как насчет терминов, которые выглядят как

point(X,Y,Z)

, где X, Y, Z - числа (числа с плавающей запятой, целые числа, рациональные числа, ...).

Тогда вы можете думать как :

:- use_module(library(clpfd)).

% move(PointIn,PointOut,Vector)

move(point(X,Y,Z),point(NX,NY,NZ),point(VX,VY,VZ)) :-
   NX #= X + VX,
   NY #= Y + VY,
   NZ #= Z + VZ.

Тогда:

?- move(point(1,2,3),New,point(5,5,5)).
New = point(6, 7, 8).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...