最小最大方案坐标.x0 y0 x1 y1.


;; makeRectangle -- constructor for 'rectangle
(define makeRectangle
  (lambda (x0 y0 x1 y1)
       (makeGraph 'rectangle
               (list (makePoint x0 y0)
                     (makePoint x1 y1)))))

(makeRectangle 3 2 1 7)必须返回(rectangle (point 1 7) (point 3 2))我将获得相同的回报(makeRectangle 1 2 3 7)(makeRectangle 1 7 3 2),我必须使用:

min x0 x1 min y0 y1 
max x0 x1 max y0 y1

但我不知道该怎么做。你能帮我解决这个问题吗?提前谢谢。

你的意思是:

(define makeRectangle
  (lambda (x0 y0 x1 y1)
    (makeGraph 'rectangle
               (makePoint (min x0 x1) (max y0 y1))
               (makePoint (max x0 x1) (min y0 y1)))))

-> (makeRectangle 3 2 1 7)
'(rectangle (point 1 7) (point 3 2))
-> (makeRectangle 1 2 3 7) 
'(rectangle (point 1 7) (point 3 2))
-> (makeRectangle 1 7 3 2) 
'(rectangle (point 1 7) (point 3 2))
-> (makeRectangle 3 7 1 2)
'(rectangle (point 1 7) (point 3 2))

相关内容

最新更新