We gaan nu de Pythagoras roos tekenen.
Waarschijnlijk zie je dat dit uit vierkanten bestaat. In elk vierkant is weer een nieuw vierkant getekend, die 45 graden is gedraaid en waarbij de afmeting kleiner is geworden.
Om te beginnen met tekenen kunnen we starten met een deeltaak roos met een zijde als variabele.
import turtle t = turtle.Turtle() t.speed(0) def roos(zijde): t.forward(zijde) t.left(90) t.forward(zijde) t.left(90) t.forward(zijde) t.left(90) t.forward(zijde) t.left(90) roos(200)
Nu gaan we zoeken waar in het vierkant het nieuwe vierkant getekend moet gaan worden. Dit is in het midden van één van de zijdes van de vierkant. Laten we de onderzijde nemen.
import turtle t = turtle.Turtle() t.speed(0) def roos(zijde): t.forward(zijde/2) # hier is het midden van onderste zijde t.forward(zijde / 2) t.left(90) t.forward(zijde) t.left(90) t.forward(zijde) t.left(90) t.forward(zijde) t.left(90) roos(200)
We delen de onderste zijde in tweeën. Dus we gaan twee keer .forward(zijde/2)
dat is samen nog steeds één hele zijde. Onze uiteindelijke tekening is dan nog steeds een vierkant.
Wanneer we op het midden van de onderste zijde zijn moet onze Turtle 45 graden naar links draaien.
Daarna kan een vierkant worden getekend. En daarna moet onze Turtle weer 45 graden naar rechts draaien om de oorspronkelijke vierkant af te maken.
import turtle t = turtle.Turtle() t.speed(0) def roos(zijde): t.forward(zijde/2) t.left(45) # hier komt het volgende vierkant t.right(45) t.forward(zijde / 2) t.left(90) t.forward(zijde) t.left(90) t.forward(zijde) t.left(90) t.forward(zijde) t.left(90) roos(200)
Nu moeten we even rekenen hoe groot de zijde van het nieuwe vierkant moet gaan worden.