summaryrefslogtreecommitdiff
path: root/coding-exercises/2/51.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'coding-exercises/2/51.rkt')
-rw-r--r--coding-exercises/2/51.rkt29
1 files changed, 29 insertions, 0 deletions
diff --git a/coding-exercises/2/51.rkt b/coding-exercises/2/51.rkt
new file mode 100644
index 0000000..5dcdd70
--- /dev/null
+++ b/coding-exercises/2/51.rkt
@@ -0,0 +1,29 @@
+#lang racket
+(require "../../shared/pict.rkt")
+
+(define (below painter1 painter2)
+ (let ((split-point (make-vect 0 0.5)))
+ (let ((top-painter
+ (transform-painter
+ painter2
+ split-point
+ (make-vect 1 0.5)
+ (make-vect 0 1)))
+ (bot-painter
+ (transform-painter
+ painter1
+ (make-vect 0 0)
+ (make-vect 1 0)
+ split-point)))
+ (lambda (frame)
+ (top-painter frame)
+ (bot-painter frame)))))
+
+(define (below2 painter1 painter2)
+ (<-rotate180
+ (<-rotate270
+ (beside (<-rotate270 painter1)
+ (<-rotate270 painter2)))))
+
+(paint (below einstein einstein))
+(paint (below2 einstein einstein))