Sutherland-Hodgman polygon clipping: Difference between revisions

Line 4,093:
{{works with|Gambit Scheme|4.9.4}}
 
<syntaxhighlight lang="scheme">;;; Sutherland-Hodgman polygon clipping.
;;; Sutherland-Hodgman polygon clipping.
 
(define (evaluate-line x1 y1 x2 y2 x)
Line 4,199 ⟶ 4,198:
(for-each-clip-edge 0 subject-points clip-points))
 
(define (write-eps outp subject-points clip-points result-points)
 
;; I use only some of the most basic output procedures. Schemes tend
Line 4,209 ⟶ 4,208:
 
(define (moveto pt)
(display (x pt) outp)
(display " " outp)
(display (y pt) outp)
(display " moveto" outp)
(newline outp))
 
(define (lineto pt)
(display (x pt) outp)
(display " " outp)
(display (y pt) outp)
(display " lineto" outp)
(newline outp))
 
(define (setrgbcolor rgb)
(display rgb outp)
(display " setrgbcolor" outp)
(newline outp))
 
(define (simple-word word)
(lambda ()
(display word outp)
(newline outp)))
 
(define closepath (simple-word "closepath"))
Line 4,253 ⟶ 4,252:
 
(define (code s)
(display s outp)
(newline outp))
 
(code "%!PS-Adobe-3.0 EPSF-3.0")
Line 4,270 ⟶ 4,269:
(with-output-to-file outfile
(lambda ()
(write-eps (currentsubject-outputpoints clip-portpoints result-points))))
subject-points clip-points result-points))))
 
(define subject-points
1,448

edits