Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / School & Studie / Huiswerkvragen: Exacte vakken
Reageren
 
Topictools Zoek in deze topic
Oud 21-09-2015, 12:07
student123452
student123452 is offline
Hallo,

Voor een schoolopdracht moet ik het volgende figuur maken met Turtle Graphics (Python programming) zonder de penup functie te gebruiken. Alle lijnen moeten dus aansluitend worden getekend. Nadat het huis getekend is, mag je weer penup() gebruiken en plaats je de turtle in het huis.





Wat ik heb geprobeerd is het volgende:

Code:
import turtle
t = turtle.Turtle()
screen = turtle.Screen()
t.shape("turtle")
t.forward(200)
t.right(90)
t.forward(300)
t.right(90)
t.forward(200)
t.right(90)
t.forward(300)
t.right(90)

Ik hoop dat iemand mij hier verder mee kan helpen.
Bij voorbaat dank.
Met citaat reageren
Advertentie
Oud 21-09-2015, 13:23
bloodyb
Avatar van bloodyb
bloodyb is offline
Ik ben geen programmeur dus jouw programma zegt me niks. Maar dit huis moet dus in 1 lijn worden getekend zonder de pen van het papier te halen?
Trek lijn:
A - B
B - C
C - D
D - E
E - C
C - A
A - D
Bijgevoegde afbeelding(e)
Bestandstype: jpg image.jpg (128.3 KB, 21x gelezen)
__________________
Huh-huh-huh you said but. Shut up Bunghole! Je suis Manneke Pis
Met citaat reageren
Oud 02-10-2015, 10:07
Rob
Avatar van Rob
Rob is offline
https://docs.python.org/2/library/turtle.html

De schildpad is het object dat de tekening maakt. Alles moet in één beweging, dus je zult eerst je schildpad eerst een positie moeten geven, en dan pen neerzetten.

Je begint dus met goto() (of één van de alternatieven, namelijk setpos() of setposition()) om een X,Y coördinaat op te geven. Hier begint je huis.
Daarna zet je de pen neer, met pendown(). Op dit moment kan je dus tekenen door de schildpad te bewegen.

Als ik de documentatie goed begrepen heb, kan je dit doen DMV forward() en right() en left(), maar ook doormiddel van goto(). Al deze functies resulteren in het tekenen van een lijn wanneer de pen op het papier staat.

Wanneer je klaar bent haal je de pen weer omhoog met penup(), roep je goto() aan op een coördinaat in het huis en je bent klaar.

ik ga er even vanuit dat de onderkant van je huis vierkant moet zijn.

Je kunt dus forward() combineren met right() en left(). Verwijzend naar bloodyb's post, kan je de lijn AB dus tekenen door de schildpad eerst 90º naar rechts te draaien en vervolgens forward aan te roepen:

turtle.right(90) (of turtle.left(90), moet je maar even kijken wat klopt, want het is nl afhankelijk van de modus)
turtle.forward(200)
#rest van het huis
turtle.penup()
turtle.goto(X,Y)

Daarna doe je BC door weer een aantal graden naar links te draaien en dan weer vooruit te gaan. Houd hierbij rekening dat BC langer is dan AB.

De andere optie is alles via goto().
turtle.goto(10,10)
turtle.pendown()
turtle.goto(210,10) #AB, 200 naar rechts, Y blijft hetzelfde
turtle.goto(10,282) #BC, 200 naar links, maar 282 naar boven (Pythagoras)
#rest van het huis
turtle.penup()
turtle.goto(X,Y)

Hiermee moet je er wel uit kunnen komen!
__________________
Bad spelling and grammar make me [sic].
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Psychologie Asperger [autisme] of niet?
PapaRoach<3
48 03-02-2009 15:23
Studeren Tech. Na. Eindhoven
sten-vvv
35 27-11-2008 16:25
Algemene schoolzaken hoe kom ik de proefwerkweek GOED door?!?!
imy017
11 21-02-2008 17:27
Verhalen & Gedichten [verhaal]schrijftstijl
T_ID
10 28-10-2005 21:52
Verhalen & Gedichten [ Begin van Verhaal ] Behold, and enjoy...
niam
14 04-01-2005 22:43
Games Game Design
tommiegun
1 11-12-2004 12:05


Alle tijden zijn GMT +1. Het is nu 10:43.