Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
lehrkraefte:blc:informatik:glf22:turtle [2023/01/24 07:07] Ivo Blöchliger [Pythagorasbaum] |
lehrkraefte:blc:informatik:glf22:turtle [2023/01/27 09:22] (current) Ivo Blöchliger [Pythagorasbaum] |
||
---|---|---|---|
Line 214: | Line 214: | ||
* Man erhält einen interessanten Baum, wenn man statt einen konstanten Winkel '' | * Man erhält einen interessanten Baum, wenn man statt einen konstanten Winkel '' | ||
</ | </ | ||
+ | |||
+ | <hidden Lösungsvorschlag> | ||
+ | <code python> | ||
+ | from kroete import Kroete | ||
+ | from math import cos,sin,pi | ||
+ | |||
+ | |||
+ | |||
+ | def baum(t, winkel, stufe): | ||
+ | t.save() | ||
+ | for i in range(4): | ||
+ | t.forward() | ||
+ | t.left(90) | ||
+ | t.left(90) | ||
+ | t.move() | ||
+ | a = cos(winkel/ | ||
+ | b = sin(winkel/ | ||
+ | t.right(90-winkel) | ||
+ | t.r = a | ||
+ | if stufe==0 or (stufe<0 and t.r<3): | ||
+ | t.forward() | ||
+ | else: | ||
+ | baum(t, winkel, stufe-1) | ||
+ | t.right(90) | ||
+ | t.r = b | ||
+ | if stufe==0 or (stufe<0 and t.r<3): | ||
+ | t.forward() | ||
+ | else: | ||
+ | baum(t, winkel, stufe-1) | ||
+ | t.restore() | ||
+ | t.move() | ||
+ | |||
+ | |||
+ | |||
+ | t = Kroete() | ||
+ | t.y = -200 | ||
+ | t.x = 50 | ||
+ | t.r = 110 | ||
+ | baum(t, 30, -1) | ||
+ | </ | ||
+ | </ |