Python heeft veel modules die functionaliteit bieden voor een breed scala aan taken. Een van deze modules is de turtle-module, die vaak wordt gebruikt om beginnende programmeurs visueel te leren.
U kunt de schildpadmodule gebruiken om afbeeldingen zoals lijnen of vormen op een canvas te tekenen. In eerste instantie kun je een of meer schildpadden op het canvas spawnen, wat punten vertegenwoordigt die je kunt verplaatsen. Terwijl je rondloopt, trekken de schildpadden lijnen van het ene punt naar het andere.
U kunt met deze methode verschillende vormen tekenen, waaronder vierkanten, driehoeken en cirkels.
Schildpadden gebruiken om vormen te tekenen
U kunt Python gebruiken om veel praktische programma's te maken, zoals een kleurenpalet. Als je schildpadden in Python tekent, heb je eerst een canvas en een schildpadobject nodig om de vormen mee te tekenen. Indien nodig kunt u enkele herzien eenvoudige Python-voorbeelden.
- Maak een nieuw bestand met de naam vormen.py.
- Importeer bovenaan het bestand de turtle-module:
importeren schildpad
- Gebruik de schildpadmodule om een nieuw venster te maken. Dit zal fungeren als het canvas om vormen op te tekenen:
venster = schildpad. Scherm()
venster.bgcolor("wit") - Maak een nieuw schildpadobject en stel de vorm en kleur in:
schildpad_1 = schildpad. Schildpad()
turtle_1.vorm("schildpad")
turtle_1.kleur("rood") - Gebruik onderaan het bestand de functie exitonclick() om het canvas open te houden. Het canvas sluit alleen als je erop klikt. Zorg ervoor dat u deze regel behoudt als het laatste commando in uw programma; anders krijg je een foutmelding.
venster.exitonclick()
- Open een opdrachtprompt of terminal en navigeer naar de map waarin u uw Python-script hebt opgeslagen. Als u bijvoorbeeld uw Python-bestand op het bureaublad van een Windows-pc hebt opgeslagen, ziet uw opdracht er ongeveer zo uit:
cd C:\Users\Sharl\Desktop
- Voer de python-opdracht uit om het schildpaddencanvas te openen. Standaard is de aanvankelijke richting van de schildpad naar rechts gericht:
Hoe vierkanten en rechthoeken te tekenen
Teken een vierkant of rechthoek met een schildpad op een canvas. Gebruik de functies forward() en backward() om de schildpad te verplaatsen. Je kunt ook de functies left() of right() gebruiken om de richting waarin de schildpad kijkt te veranderen.
- Aangezien de schildpad al in een eerste richting wijst, ga je 100 pixels vooruit om de eerste lijn van het vierkant te tekenen:
turtle_1.forward(100)
- Draai 90 graden naar rechts om naar beneden te kijken. Ga weer vooruit om de tweede lijn van het vierkant te tekenen:
turtle_1.rechts(90)
turtle_1.forward(100) - Blijf 90 graden naar rechts draaien om de resterende twee lijnen te tekenen. Zorg ervoor dat de randen allemaal 100 pixels zijn om een vierkante vorm te behouden:
turtle_1.rechts(90)
turtle_1.forward(100)
turtle_1.rechts(90)
turtle_1.forward(100) - Om deze vorm in een rechthoek te veranderen, past u de code aan om twee tegenover elkaar liggende zijden een langere lengte te geven:
turtle_1.forward(100)
turtle_1.rechts(90)
turtle_1.forward(200)
turtle_1.rechts(90)
turtle_1.forward(100)
turtle_1.rechts(90)
turtle_1.forward(200) - Voer de python-opdracht opnieuw uit met behulp van een opdrachtregel of terminal om het canvas te openen en de rechthoek te bekijken:
Hoe driehoeken te tekenen
Teken een driehoek met de functies vooruit(), achteruit(), links() of rechts(). Aangezien je al een vierkant hebt getekend op de startpositie van het canvas, teken je de driehoek op een ander deel van het canvas.
- Maak een nieuw schildpadobject. Je kunt de vorm wijzigen om een pijl te gebruiken in plaats van een schildpad:
schildpad_2 = schildpad. Schildpad()
turtle_2.vorm("pijl")
turtle_2.kleur("blauw") - Gebruik de functie penup() om het turtle-object van het canvas te tillen, zodat het niet langer een lijn trekt:
turtle_2.penup()
- Verplaats het object naar een ander punt op het canvas. Het canvas gebruikt een Cartesiaans vlak voor coördinaten, dus het beginpunt ligt op 0, 0. De coördinaten -250, 200 zijn in de richting van de linkerbovenhoek van het canvas.
turtle_2.goto(-250, 200)
- Gebruik de functie pendown() om het turtle-object terug op het canvas te plaatsen, zodat het weer lijnen kan gaan tekenen:
turtle_2.pendown()
- Teken de drie zijden van de driehoek door driemaal 120 graden naar links te draaien. Teken elke keer een lijn om de zijde van de driehoek te maken:
turtle_2.forward(100)
turtle_2.links(120)
turtle_2.forward(100)
turtle_2.links(120)
turtle_2.forward(100)
turtle_2.links(120) - U kunt ook de driehoek maken met een for-lus:
voor i in bereik(3):
turtle_2.forward(100)
turtle_2.links(120) - Voer de python-opdracht opnieuw uit met behulp van een opdrachtregel of terminal om het canvas te openen en de driehoek te bekijken:
Hoe cirkels te tekenen
Gebruik de functie circle() om een cirkel te tekenen. U kunt de diameter van de cirkel kiezen door een waarde als argument in de functie in te voeren.
- Maak nog een nieuw schildpadobject om de cirkel mee te tekenen en stel de kleur- en vormeigenschappen in:
schildpad_3 = schildpad. Schildpad()
turtle_3.vorm("cirkel")
turtle_3.kleur("groente") - Verplaats de schildpad naar een ander deel van het canvas. Gebruik de functie penup() om te voorkomen dat het object een lijn tekent terwijl het beweegt. Nadat je de schildpad hebt verplaatst, leg je de pen weer neer:
turtle_3.penup()
turtle_3.goto(-100, 50)
turtle_3.pendown() - Gebruik de functie circle() om de cirkel te tekenen. Voer de diameter van de cirkel in de functie in.
schildpad_3.cirkel(50)
- Voer de python-opdracht opnieuw uit met behulp van een opdrachtregel of terminal om het canvas te openen en de cirkel te bekijken:
Vormen tekenen zoals zeshoeken en achthoeken
Om vormen zoals zeshoeken of achthoeken te tekenen, kunt u een for-lus gebruiken die vergelijkbaar is met die in het driehoeksvoorbeeld. U kunt een gelijk aantal zijden specificeren en die zijden even lang maken.
- Maak een nieuw schildpadobject en stel de vorm- en kleureigenschappen in:
schildpad_4 = schildpad. Schildpad()
turtle_4.vorm("schildpad")
turtle_4.kleur("paars") - Verplaats het schildpadobject naar een andere locatie op het canvas:
turtle_4.penup()
turtle_4.goto(150,200)
turtle_4.pendown() - In een zeshoek, op het punt waar elke lijn samenkomt, is de hoek op dat punt 60 graden. Nadat u een lijn hebt getekend, beweegt u 60 graden naar rechts om de volgende lijn te tekenen. Doe dit voor alle zes zijden van de zeshoek:
voor i in bereik(6):
turtle_4.forward(100)
turtle_4.rechts(60) - U kunt andere soorten vormen met gelijke zijden tekenen door het aantal zijden te delen door 360 om de waarde van de hoek te krijgen. Voor een achthoek is elke hoek tussen elke zijde 45 graden. Draai voor elk van de acht zijden 45 graden naar rechts en teken de lijn:
voor i in bereik(8):
turtle_4.forward(100)
turtle_4.rechts(45) - Voer de python-opdracht opnieuw uit met behulp van een opdrachtregel of terminal om het canvas te openen en de zeshoek of achthoek te bekijken. U kunt ook de volledige broncode voor alle vormen bekijken op Github.
Meer informatie over grafisch programmeren door vormen te maken
U kunt op schildpadden gebaseerde afbeeldingen gebruiken om verschillende soorten vormen op een canvas te tekenen. Ontdek andere manieren om vormen te maken met behulp van Python, zoals het gebruik van een JES-toepassing.