Python har mange moduler, der giver funktionalitet til en lang række opgaver. Et af disse moduler er skildpaddemodulet, som ofte bruges til at undervise begyndere programmører visuelt.
Du kan bruge skildpaddemodulet til at tegne grafik som linjer eller former på et lærred. I første omgang kan du spawne en eller flere skildpadder på lærredet, som repræsenterer punkter, som du kan flytte rundt på. Når du bevæger dig rundt, tegner skildpadderne linjer fra et punkt til et andet.
Du kan tegne forskellige former med denne metode, herunder firkanter, trekanter og cirkler.
Sådan bruger du skildpadder til at tegne figurer
Du kan bruge Python til at lave mange praktiske programmer, som f.eks en farvepalet. Når du tegner skildpadder i Python, skal du først have et lærred og et skildpaddeobjekt til at tegne figurerne med. Hvis det er nødvendigt, kan du revidere nogle grundlæggende Python eksempler.
- Opret en ny fil kaldet shapes.py.
- Øverst i filen skal du importere skildpaddemodulet:
importere skildpadde
- Brug skildpaddemodulet til at oprette et nyt vindue. Dette vil fungere som lærredet til at tegne figurer på:
vindue = skildpadde. Skærm()
window.bgcolor("hvid") - Opret et nyt skildpaddeobjekt, og indstil dets form og farve:
skildpadde_1 = skildpadde. Skildpadde()
skildpadde_1.form("skildpadde")
skildpadde_1.farve("rød") - I bunden af filen skal du bruge funktionen exitonclick() til at holde lærredet åbent. Lærredet lukkes kun, når du klikker på det. Sørg for at beholde denne linje som den sidste kommando i dit program; ellers får du en fejl.
window.exitonclick()
- Åbn en kommandoprompt eller terminal, og naviger til den mappe, hvor du gemte dit Python-script. For eksempel, hvis du gemte din Python-fil på skrivebordet på en Windows-pc, ville din kommando ligne denne:
cd C:\Users\Sharl\Desktop
- Kør python-kommandoen for at åbne skildpaddens lærred. Som standard vender skildpaddens oprindelige retning mod højre:
Sådan tegner du firkanter og rektangler
Tegn en firkant eller et rektangel ved hjælp af en skildpadde på et lærred. Brug fremad() og bagud() funktionerne til at flytte skildpadden rundt. Du kan også bruge funktionerne venstre() eller højre() til at ændre den retning, som skildpadden vender.
- Da skildpadden allerede vender mod en indledende retning, skal du gå 100 pixels frem for at tegne den første linje i firkanten:
turtle_1.forward(100)
- Drej 90 grader til højre for at vende nedad. Gå fremad igen for at tegne den anden linje i firkanten:
turtle_1.right(90)
turtle_1.forward(100) - Fortsæt med at dreje 90 grader til højre for at tegne de resterende to linjer. For at bevare en firkantet form skal du sørge for, at kanterne er alle 100 pixels hver:
turtle_1.right(90)
turtle_1.forward(100)
turtle_1.right(90)
turtle_1.forward(100) - For at ændre denne form til et rektangel skal du ændre koden, så to sider modsat hinanden bliver længere:
turtle_1.forward(100)
turtle_1.right(90)
turtle_1.forward(200)
turtle_1.right(90)
turtle_1.forward(100)
turtle_1.right(90)
turtle_1.forward(200) - Kør python-kommandoen igen ved hjælp af en kommandolinje eller terminal for at åbne lærredet og se rektanglet:
Hvordan man tegner trekanter
Tegn en trekantform ved hjælp af funktionerne fremad(), bagud(), venstre() eller højre(). Da du allerede har tegnet en firkant ved lærredets startposition, tegner du trekanten på en anden del af lærredet.
- Opret et nyt skildpaddeobjekt. Du kan ændre formen til at bruge en pil i stedet for en skildpadde:
skildpadde_2 = skildpadde. Skildpadde()
turtle_2.shape("pil")
skildpadde_2.farve("blå") - Brug funktionen penup() til at løfte skildpaddeobjektet fra lærredet, så det ikke længere tegner en streg:
turtle_2.penup()
- Flyt objektet til et andet punkt på lærredet. Lærredet bruger et kartesisk plan til koordinater, så udgangspunktet er 0, 0. Koordinaterne -250, 200 er mod det øverste venstre hjørne af lærredet.
turtle_2.goto(-250, 200)
- Brug funktionen pendown() til at placere skildpaddeobjektet tilbage på lærredet, så det kan begynde at tegne linjer igen:
turtle_2.pendown()
- Tegn trekantens tre sider ved at dreje 120 grader til venstre tre gange. Hver gang skal du tegne en streg for at skabe siden af trekanten:
turtle_2.forward(100)
skildpadde_2.venstre(120)
turtle_2.forward(100)
skildpadde_2.venstre(120)
turtle_2.forward(100)
skildpadde_2.venstre(120) - Alternativt kan du oprette trekanten ved hjælp af en for-løkke:
til jeg i rækkevidde(3):
turtle_2.forward(100)
skildpadde_2.venstre(120) - Kør python-kommandoen igen ved hjælp af en kommandolinje eller terminal for at åbne lærredet og se trekanten:
Sådan tegner du cirkler
Brug cirkel()-funktionen til at tegne en cirkel. Du kan vælge diameteren på cirklen ved at indtaste en værdi som et argument i funktionen.
- Opret endnu et nyt skildpaddeobjekt til at tegne cirklen med, og indstil dens farve- og formegenskaber:
skildpadde_3 = skildpadde. Skildpadde()
turtle_3.shape("cirkel")
skildpadde_3.farve("grøn") - Flyt skildpadden til en anden del af lærredet. Brug funktionen penup() til at forhindre objektet i at tegne en linje, mens det bevæger sig. Efter at have flyttet skildpadden, læg pennen ned igen:
turtle_3.penup()
turtle_3.goto(-100, 50)
turtle_3.pendown() - Brug cirkel()-funktionen til at tegne cirklen. Indtast diameteren af cirklen i funktionen.
turtle_3.circle(50)
- Kør python-kommandoen igen ved hjælp af en kommandolinje eller terminal for at åbne lærredet og se cirklen:
Hvordan man tegner former såsom sekskanter og oktagoner
For at tegne figurer såsom sekskanter eller ottekanter kan du bruge en for-løkke, der ligner den, der blev brugt i trekantseksemplet. Du kan angive et lige antal sider og oprette disse sider med samme længde.
- Opret et nyt skildpaddeobjekt, og indstil dets form- og farveegenskaber:
skildpadde_4 = skildpadde. Skildpadde()
turtle_4.shape("skildpadde")
skildpadde_4.farve("lilla") - Flyt skildpaddeobjektet til et andet sted på lærredet:
turtle_4.penup()
turtle_4.goto(150,200)
turtle_4.pendown() - I en sekskant, på det punkt, hvor hver linje mødes, er vinklen på det punkt 60 grader. Når du har tegnet en linje, skal du flytte 60 grader til højre for at tegne den næste linje. Gør dette for alle seks sider af sekskanten:
til jeg i rækkevidde(6):
turtle_4.forward(100)
turtle_4.right(60) - Du kan tegne andre former for figurer med lige store sider ved at dividere antallet af sider med 360 for at få værdien af vinklen. For en ottekant er hver vinkel mellem hver side 45 grader. For hver af de otte sider skal du dreje 45 grader til højre og tegne linjen:
til jeg i rækkevidde(8):
turtle_4.forward(100)
turtle_4.right(45) - Kør python-kommandoen igen ved hjælp af en kommandolinje eller terminal for at åbne lærredet og se sekskanten eller ottekanten. Du kan også se den fulde kildekode for alle former på Github.
Lær om grafikprogrammering ved at skabe former
Du kan bruge skildpadde-baseret grafik til at tegne forskellige former for former på et lærred. Hvorfor ikke udforske andre måder at skabe former ved hjælp af Python, såsom ved hjælp af en JES-applikation.