Blob


1 (defun make-segment (start end)
2 (cons start end))
3 (defun start-segment (segment)
4 (car segment))
5 (defun end-segment (segment)
6 (cdr segment))
7 (defun make-point (x y)
8 (cons x y))
9 (defun x-point (point)
10 (car point))
11 (defun y-point (point)
12 (cdr point))
13 (defun print-point (point)
14 (format t "(~F,~F)~%" (x-point point) (y-point point)))
15 (defun midpoint-segment (segment)
16 (let ((segstart (start-segment segment))
17 (segend (end-segment segment)))
18 (make-point (average (x-point segstart)
19 (x-point segend))
20 (average (y-point segstart)
21 (y-point segend)))))
22 (defvar aa (make-point 4 6))
23 (defvar bb (make-point 9 15))
24 (print-point
25 (midpoint-segment (make-segment aa bb)))