Hogyan kell ezt a fát Imagine-ben (Logo) rekurzívan leprogramozni?
Egy fa az ábrának megfelelően növekszik. Az :n-edik lépésben az :n-1-edik fa különböző darabjaiból újabb ágak nőnek ki, feleakkora ághosszal. Készítsd el a fát rajzoló eljárást (fa :n :h), ahol :h az 1 lépésbeli ághossz!
Itt van hozzá kép is: [link]
Biztosan nem nehéz, de nekem mindig elcsúszott, vagyis ötletem sincs, hogy min kellene változtatnom. Előre is köszi, ha tudtok segíteni. (Nem értem a rekurzív részét teljesen.)
Namost, Comenius/Imagine Logohoz kb 5-6 éve nem volt közöm, de kb így néz ki a történet:
eljárás fa :n :h
hakülönben :n=1 [e :n tf h :n]
[
e :n/3
b 60
fa :n-1 :h/2
j 60
e :n/3
j 60
fa :n-1 :h/2
b 60
e :n/3
tf
h :n
]
elvileg valahogy így cseng.
Köszi, hogy próbáltál segíteni, de ez nagyon nem jó.
Alapból 45 fokos szögekkel nőnek, de ez még a legkisebb gond.
#1: Az alapelv - az eljárás, a feltétel és az alapeset lépései - rendben is lennének (szóval nagyon is jó irányban indultál el), de nem igazán azt rajzolja ki, amit kéne - bár ez is egyféle fraktál ;)
Szerintem egyrészt összekeverted a szintet a mérettel, de azt javítva sem lesz teljesen tökéletes: kimaradnak ágak:
De jó kezdés, ebből a kérdező elindulhat. ;)
Oh, jesszumpepi, most néztem csak meg, hogy nem is azt írtam le, amia feladat.. alaposabban kellett volna megnézni a képeket :DD
Igen, én egész mást írtam le (plusz a :n és a :h is felcserélődött) :D
Mostmár így megvan a valódi megoldás, a lényeg, hogy nem csak kétszer a két lehajló ágon hívjuk meg eggyel kisebb :n-el rekurzívan, hanem a fa törzsén is az egyes ágak között, szintén h/2 hosszal, és a tetején még egyszer felfelé. És így nem h/3-at lépünk az ágak között, hanem h/2-t.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!