Функции с координати в Лисп



Функция за проверка дали една точка с координати (X Y) е в един кръг с център (0,0) и радиус b, и извън кръг с център (0,0) и радиус a.
Първият начин е директно с една дефиниция:

(define (isIn? x y a b)
  (and (<= (+ (* x x) (* y y)) (* b b))
       (> (+ (* x x) (* y y)) (* a a))))

Другия начин е с дефиниране дали една точка е в кръг и след това дефиниране на главната функция:

(define (inCircle? x y z)
  (<= (+ (* x x) (* y y)) (* z z)))

(define (isIn? x y a b)
  (and (inCircle? x y b)
       (not (inCircle? x y a))))
  1. Няма коментари.
(will not be published)