# Turtle # Pythagoras Olympiade opgave 374 (Jaargang 57/4, Oplossing Jaargang 58/1) # Hieronder is een schets met twee regelmatige achthoeken en # twee gelijkzijdige driehoeken. Je kunt je voorstellen dat je # dit patroon herhaalt. Kom je dan precies bij het begin uit? # Bonuspunt # Voor welke regelmatige n-hoek (n > 6) kun je een patroon # creeren waarbij je precies terugkeert bij het begin. # Klik steeds op het rode vierkant in het midden om verder te gaan # (1) Plaatje schetsen horende bij deze opgave # (2) Plaatje oplossing schetsen horende bij deze opgave # (3) Andere oplossingen schetsen # Voor de uitwerking van deze opgave zie # https://www.pyth.eu/oplossingen-pythagoras-olympiade-57-4 ### Voor de uitwerking van deze opgave zie ### https://www.pyth.eu/oplossingen-pythagoras-olympiade-57-4 import turtle import ion import time DATA = [(20, 30, 8, 24, 2), (12, 50, 8, 24, 12), (8, 54, 7, 42, 21), (12, 36, 9, 18, 9), (10, 20, 12, 12, 6), (10, 16, 15, 10, 5), (8, 10, 24, 8, 4), ] MAXCNT = 6 def Button(): # Tekenen van rode button in het midden turtle.color('black') turtle.penup() turtle.goto(-15,-15) turtle.pendown() for m in range(4): turtle.forward(30) turtle.left(90) turtle.penup() turtle.goto(0,0) return def Draw(): global cnt (Lengte, InitialisatieLengte, Hoeken1, Hoeken2, Herhalingen) = DATA[cnt] turtle.reset() Button() # Turtle wordt naar juiste positie verplaatst turtle.pendown() turtle.left(90) turtle.penup() turtle.forward(InitialisatieLengte) turtle.left(90) turtle.forward(Lengte/2) turtle.pendown() turtle.left(180) # Tekenen van figuur for m in range(Herhalingen): turtle.color('black') for k in range(Hoeken1): turtle.forward(Lengte) turtle.left(360/Hoeken1) turtle.forward(Lengte) turtle.right(360/Hoeken2) turtle.color('black') for k in range(3): turtle.forward(Lengte) turtle.left(120) turtle.forward(Lengte) turtle.right(360/Hoeken2) # Turtle wordt weer terug geplaatst turtle.penup() turtle.goto(0,0) turtle.pendown() turtle.setheading(0) # Gereed maken van doorgaan of stoppen cnt += 1 return cnt = 0 turtle.speed(0) Button() while True: if ion.keydown(ion.KEY_EXE): Draw() time.sleep(0.01) if cnt == MAXCNT: break