Sutherland-Hodgman polygon clipping: Difference between revisions
Sutherland-Hodgman polygon clipping (view source)
Revision as of 19:46, 14 November 2022
, 1 year ago→{{header|Scheme}}
Line 4,093:
{{works with|Gambit Scheme|4.9.4}}
<syntaxhighlight lang="scheme">;;; 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
;; I use only some of the most basic output procedures. Schemes tend
Line 4,209 ⟶ 4,208:
(define (moveto pt)
(display (x pt)
(display " "
(display (y pt)
(display " moveto"
(newline
(define (lineto pt)
(display (x pt)
(display " "
(display (y pt)
(display " lineto"
(newline
(define (setrgbcolor rgb)
(display rgb
(display " setrgbcolor"
(newline
(define (simple-word word)
(lambda ()
(display word
(newline
(define closepath (simple-word "closepath"))
Line 4,253 ⟶ 4,252:
(define (code s)
(display s
(newline
(code "%!PS-Adobe-3.0 EPSF-3.0")
Line 4,270 ⟶ 4,269:
(with-output-to-file outfile
(lambda ()
(write-eps
(define subject-points
|