[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LOGO-L> Fern



Here's a scap of code that I found amusing...

 =======================================

to fern2 :size :limit :curl :thick :nspace :angle
   local [ d1 d2 a1 ]

   make "d1 :size*:nspace
   make "d2 (1-:nspace)*:size
   fd :d1
   ifelse :limit>:size [
      make "a1 arctan :thick/(1-:nspace)
      fd :d2
      rt :a1
      bk :d2
      fd :d2
      lt :a1*2
      bk :d2
      fd :d2
      rt :a1
      bk :d2
   ] [
      rt :curl
      fern2 :d2 :limit :curl :thick :nspace :angle
      rt :angle-:curl
      fern2 :thick*:size :limit :curl :thick :nspace :angle
      lt :angle*2
      fern2 :thick*:size :limit :curl :thick :nspace :angle
      rt :angle
   ]
   bk :d1
end

cs fs ht setpc 2 pu bk 40 pd
fern2 120 3 2 0.3 0.18 60

; try also...
;    fern2 120 3 2 0.2 0.1 60
;    fern2 120 2 4 0.35 0.3 60

 =======================================

It might need a bit of tweeking, depending on the exact dialect of
Logo you are using, but shouldn't be too hard to make it work.

--
   Tony Belding
   http://hamilton.htcomp.net/tbelding/

---------------------------------------------------------------
Please post messages to the Logo forum to logo-l@gsn.org.  Mail
questions about the list administration to logofdn@gsn.org.  To
unsubscribe send    unsubscribe logo-l    to majordomo@gsn.org.



Global SchoolNet Foundation - Linking Kids Around the World!
Copyright GSN - All Rights Reserved - Comments & Questions
Visit GSN's Global Schoolhouse for more exciting learning resources!
Search our Site - Home