Gebogen lijnen

Natuurlijk zijn niet alle lijnen die je wilt tekenen rechte lijnen.
Gelukkig is er wel een manier om een gebogen lijn te tekenen.
De manier waarop we dat doen is dat we een deel van een cirkel tekenen.

De straal van de cirkel bepalen

De eerste stappen die we maken zijn bedoeld om te zoeken naar de vorm van de gebogen lijn.
Daarvoor tekenen we een tijdelijke cirkel die we gaan gebruiken als hulplijn.
Als de gebogen lijn straks klaar is wissen we de code voor de hulplijnen.

We bepalen de kleur van de lijn die we gaan tekenen.
Dat is een lichte kleur omdat er straks een definitieve lijn overheen getekend wordt.

We verplatsen turtle naar het punt waar we willen beginnen met het tekenen van de cirkel.

Als dat gedaan is kunnen we de cirkel tekenen.

				
					t.color('aqua')
t.penup()
t.goto(100,-100)
t.pendown()
t.circle(150)
t.hideturtle()
				
			

De hoek bepalen

Als de lichtblauwe cirkel is getekend veranderen we de tekenkleur.
Daarna tekenen we een cirkel met 2 parameters  150 en 90.

150 is de straal, en die is hetzelfde als bij de eerste cirkel.
90 is de hoek. Die bepaalt welk deel van de cirkel getekend wordt.
90º is dus een kwart van de cirkel.


Turtle staat op het beginpunt van de eerste cirkel en kan beginnen met de nieuwe lijn

				
					t.color('aqua')
t.penup()
t.goto(100,-100)
t.pendown()
t.circle(150)

t.color('black')
t.circle(150,90)
t.hideturtle()
				
			

De richting bepalen

In dit code voorbeeld is de hoek veranderd in 180.
Er wordt dan precies een halve cirkel getekend.

Helemaal aan het begin is de regel t.setheading(45) toegevoegd.
Hiermee bepaal je in welke richting turtle kijkt als hij begint met het tekenen.

				
					
t.setheading(45)
t.color('aqua')
t.penup()
t.goto(100,-100)
t.pendown()
t.circle(150)

t.color('black')
t.circle(150,180)
t.hideturtle()

				
			

De hulplijn verwijderen

Als de gebogen lijn naar je zin is kun je de coce voor de hulplijn verwijderen en verder gaan met tekenen.

				
					t.setheading(90)

t.penup()
t.goto(100,100)
t.pendown()

t.circle(150,180)
t.forward(200)
t.hideturtle()
				
			

Een bloem van code

Met de code hieronder wordt met 24 gebogen lijnen en een cirkel een bloem getekend.

De code voor elk blad van de bloem is in een functie gezet zodat je die steeds kunt hergebruiken in plaats van opnieuw te typen.

Als de import en de standaardinstellingen zijn gemaakt wordt in een variabele het aantal bladeren van de bloem vastgelegd.

Daarna wordt met behulp van deze waarde bepaald hoeveel graden turtle moet draaien als hij met een nieuw blad begint.

De beginrichting van elke lijn wordt ingesteld met sh1 en sh2 

In een for-loop wordt 6x (aantal bladeren keer) een rood met gele vorm getekend.

Telkens als een vorm klaar is verandert de richting van turtle.
Dat doen we door de waarde van sh1 en sh2 te veranderen

Tenslotte wordt het rode hart van de bloem getekend.

				
					number_of_leaves = 6
rotation = 360/number_of_leaves

sh1 = 0
sh2 = 180
for teller in range(number_of_leaves):
    t.color('red')
    t.begin_fill()
    t.setheading(sh1)
    t.circle(100,90)
    t.setheading(sh2)
    t.circle(100,90)
    t.end_fill()
    
    t.color('yellow')
    t.begin_fill()
    t.setheading(sh1)
    t.circle(70,90)
    t.setheading(sh2)
    t.circle(70,90)
    t.end_fill()
    sh1 += rotation
    sh2 += rotation

t.penup()
t.goto(-15,26)
t.pendown()
t.color('red')
t.begin_fill()
t.circle(30)
t.end_fill()
t.hideturtle()