TRIANGLE - треугольник

Треугольник представляется трёмя вершинами (радиус-векторами).

(defclass triangle ()
 ((vertex1 :initarg :1 :reader vertex1)  ; селектор может совпадать
  (vertex2 :initarg :2 :reader vertex2)  ; с именем слота
  (vertex3 :initarg :3 :reader vertex3)))

(defmethod print-object ((tri triangle) stream)
  (format stream "[ТРЕУГ ~s ~s ~s]"
          (vertex1 tri) (vertex2 tri) (vertex3 tri)))

(setq tri (make-instance 'triangle
           :1 (make-instance 'cart :x 4 :y 3)
           :2 (make-instance 'cart :x 7 :y 5)
           :3 (make-instance 'cart :x 5 :y -1)))
[ТРЕУГ [CART x 4 y 3] [CART x 7 y 5] [CART x 5 y -1]]