PasteRack.org
Paste # 12276
2021-03-02 21:37:30

Forked from paste # 31878.

Fork as a new paste.

Paste viewed 14 times.


Embed:

#lang htdp/bsl
(require 2htdp/image)

(define pt (right-triangle 100 50 "solid" "purple"))
(define pti (right-triangle 100 50 "solid" "pink"))
(define step1 (rotate 27 pt))
step1
(define step2 (flip-vertical step1))
step2
(define gap (square 5 "solid" "pink"))

(define triangle-assembly (rotate-cw (above step2 gap step1)))
triangle-assembly

(define base-1 (circle 90 "solid" "lightgreen"))
base-1
(define words (text "base" 48 "gray"))
words
(define base-2 (overlay words base-1))
base-2

(define base-3
  (crop-top base-2 15))
(define base-4
  (rotate 120 (crop-top (rotate -120 base-3)
                        15)))
(define base-5
  (rotate -120 (crop-top (rotate 120 base-4)
                         15)))

(define step3
  (above triangle-assembly
         gap gap gap
         base-5))

(define step4a (rotate 120 step3))
(define step4b (above triangle-assembly
                      gap gap gap
                      step4a))
(define step5a (rotate 120 step4b))
(define step5b (above triangle-assembly
                      gap gap gap
                      step5a))

"This is a picture of what you could reasonably do."
"Notice the triangle placements are not perfect."
(rotate 120 step5b)

;; BOSS method
;; Put the first triangle assembly the way we did in class.
;; but put another invisible shape the same size on the other size of the circle to keep it balanced.
;; Measure the height of that to make an invisible circle to guide the placement of the other parts.