Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
31
Task/Pythagoras-tree/Racket/pythagoras-tree.rkt
Normal file
31
Task/Pythagoras-tree/Racket/pythagoras-tree.rkt
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
#lang racket
|
||||
(require racket/draw pict)
|
||||
|
||||
(define (draw-pythagoras-tree order x0 y0 x1 y1)
|
||||
(λ (the-dc dx dy)
|
||||
(define (inr order x0 y0 x1 y1)
|
||||
(when (positive? order)
|
||||
(let* ((y0-1 (- y0 y1))
|
||||
(x1-0 (- x1 x0))
|
||||
(x2 (+ x1 y0-1))
|
||||
(y2 (+ y1 x1-0))
|
||||
(x3 (+ x0 y0-1))
|
||||
(y3 (+ y0 x1-0))
|
||||
(x4 (+ x2 x3 (/ (+ x0 x2) -2)))
|
||||
(y4 (+ y2 y3 (/ (+ y0 y2) -2)))
|
||||
(path (new dc-path%)))
|
||||
(send* path [move-to x0 y0]
|
||||
[line-to x1 y1] [line-to x2 y2] [line-to x3 y3]
|
||||
[close])
|
||||
(send the-dc draw-path path dx dy)
|
||||
(inr (sub1 order) x3 y3 x4 y4)
|
||||
(inr (sub1 order) x4 y4 x2 y2))))
|
||||
|
||||
(define old-brush (send the-dc get-brush))
|
||||
(define old-pen (send the-dc get-pen))
|
||||
(send the-dc set-pen (new pen% [width 1] [color "black"]))
|
||||
(inr (add1 order) x0 y0 x1 y1)
|
||||
(send the-dc set-brush old-brush)
|
||||
(send the-dc set-pen old-pen)))
|
||||
|
||||
(dc (draw-pythagoras-tree 7 (+ 200 32) 255 (- 200 32) 255) 400 256)
|
||||
Loading…
Add table
Add a link
Reference in a new issue