Herkese selamlar, önceki yazılarımızda Dr Racket ile geometrik şekiller çizdirmeyi görmüştük. Bakmadı iseniz tıklayınız. Şimdi de içe içe çizdireceğiz. Hemen kodlara geçelim…
İç İçe Üçgen Oluşturma(Sierpinski Üçgeni)
(define (sierpinski n kenar mod renk) ; fonksiyon ismi ve parametrelerini yazıyoruz
(cond
((= n 0) (above
(triangle kenar mod renk) ; triangle = üçgen üçgen oluşturuyoruz
(beside
(triangle kenar mod renk)
(triangle kenar mod renk))))
(else (above
(sierpinski (- n 1) (/ kenar 2) mod renk) ; kenarını 2’ye bölerek yeni üçgen oluşturmasını istiyoruz
(beside
(sierpinski (- n 1) (/ kenar 2) mod renk)
(sierpinski (- n 1) (/ kenar 2) mod renk))))))
(sierpinski 4 100 “solid” “green”) ; yeşil renkli boyu 100 birim olan ve iç içe 4 üçgen olan bir sierpinski oluşturuyoruz.
Hemen görsel örneğini de vereyim:
İç İçe Daire Oluşturma
(define (içiçeDaireler y k l) ; fonksiyon oluşturuyoruz ve parametrelerini yazıyoruz
;y =en dıştaki dairenin çapı
;k = küçültme oranı
;l = en küçük dairenin çapı
(cond
((< y l) (circle y “outline” “blue”)) ; dairemizin rengini ve içi dolu mu boş mu parametrelerini giriyoruz
(else (overlay ; içinde olacağını söylüyoruz
(içiçeDaireler (* y (/ (- 100 k) 100)) k l) ;küçültme oranı kadar küçültüp y değerini döndürüyoruz
(circle y “outline” “blue”))))) ; tekrar dairemizi oluşturmasını istiyoruz
(içiçeDaireler 100 10 10) ; fonksiyona istediğimiz değerleri gönderiyoruz biz burada en dış dairenin çapı 100’den başlıyor, 10’ar azalarak gidiyor(küçülme miktarı) ve 10 olduğunda(en küçük) duruyor gibi düşünebiliriz.
Görsel örneği:
Umarım faydalı olmuştur kolay gelsin başarılar..