triangle?
triangle-points
triangle-center
- triangle-radius))
+ triangle-radius
+ triangle-has-edge))
(define-record-type <triangle>
(make-raw-triangle points center radius)
(+ y2 (* dy2 t2))))
(radius (points-distance center tp1)))
(make-raw-triangle (list tp1 tp2 tp3) center radius))))))
+
+(define (triangle-has-edge triangle a b)
+ (let ((points (triangle-points triangle)))
+ (let ((p1 (car points))
+ (p2 (cadr points))
+ (p3 (caddr points)))
+ (or (and (equal? p1 a) (equal? p2 b))
+ (and (equal? p2 a) (equal? p3 b))
+ (and (equal? p3 a) (equal? p1 b))))))