Skip to content

Instantly share code, notes, and snippets.

@kouddy
Created March 22, 2015 02:16
Show Gist options
  • Save kouddy/988d81c083a509fbc9ee to your computer and use it in GitHub Desktop.
Save kouddy/988d81c083a509fbc9ee to your computer and use it in GitHub Desktop.
(define (make-rect2 p1 p2)
(let ((p3 (make-point (x-point p2) (y-point p1))))
(cons (make-segment p1 p3) (make-segment p3 p2))))
(define (width2 r)
(let ((seg (car r)))
(- (x-point (end-segment seg)) (x-point (start-segment seg)))))
(define (length2 r)
(let ((seg (cdr r)))
(- (y-point (end-segment seg)) (y-point (start-segment seg)))))
(define (area2 r) (* (width2 r) (length2 r)))
(define (perimeter2 r) (* (+ (width2 r) (length2 r)) 2))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment