lisp programlama dili

Lisp Dili İçe İçe Üçgen ve Daire Çizdirme

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:

lisp dili ile içe içe üçgen çizme

İç İç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:

lisp dili içe içe daire çizme

Umarım faydalı olmuştur kolay gelsin başarılar..

Bir cevap yazın