reede, 26. aprill 2019

Python - graafikaelemendid

Senini oleme Pythonis tegelenud teksti sisestamise ning sellele tekstikujul ka vastuse saamisega.

Tegelikult saab Pythoniga tekitada ka joonistusi. Üks lihtsamaid võimalusi on turtle ehk kilpkonn - seda graafikat kutsutaksegi kilpkonnagraafikaks.

Selleks, et Python aru saaks, et tuleb joonistama hakata, tuleb esmalt seda talle teada anda - selleks kirjutame programmi esimesele reale käskluse

from turtle import *

Nüüd imporditakse Pythoni moodulist turtle vajalikud osad, et joonistamisega algust teha.

Käsklused, millega saab kilpkonna liigutada, on:

forward(x) - liigu edasi x piksli võrra
back(x) - liigu tagasi x piksli võrra
left(d) - pööra vasakule d kraadi
right(d) - pööra paremale d kraadi

Kopeerige järgmine programmilõik Thonny koodiaknasse ja käivitage (NB! Salvestamisel ei tohi failile nimeks anda turtle, sest seda nime kasutab Python ise oma programmis - seega andke failile nimeks näiteks kilpkonn).

from turtle import *             
forward(100)                      
left(90)                        
forward(100)                       
left(90)
forward(100)
left(90)
forward(100)

exitonclick()


Mis kujund joonistatakse?

Käsklus exitonclick() tähendab, et joonistusaken suletakse, kui selles hiirega klõpsata. Kui seda ei lisa, siis tuleb aken ristikesest sulgeda.

Eelmisel tunnil õppisime kirja panema tsükleid.


Ülesanne 10

Pane näiteülesanne kirja while-tsüklit kasutades!


Ülesanne 11

Pane kilpkonn joonistama võrdkülgset kolmnurka, mille küljepikkuseks on 200 pikslit.



Joonistamisel on võimalik ka kilpkonna värvi muuta ning joonistada erinevat värvi kujundeid.
Värvi valimiseks on käsklus color("värvinimi") - näiteks color("red") värvib joone punaseks.

Kui soovime kinnise joonega kujundit seest ära värvida, tuleb joonistamise trükli või käsurea algusesse kirjutada kood

begin_fill()

ja lõppu

end_fill()

Katseta järgmist koodi (kopeeri see Thonny koodiaknasse ja käivita):

from turtle import *               
color("red")
i=0 
begin_fill()
while i<4:
    forward(100)
    left(90)
    i=i+1
end_fill()


Joone paksust saab muuta käsklusega pensize(number)

Ülesanne 12

Täienda oma kolmnurga joonistamise programmi nii, et kilpkonn joonistaks sellise pildi (suurima kolmnurga küljepikkus on 200 ning väikseimal 100, värvid on inglise keeles green, red ja yellow).
Ülesanne 13

Kui eelmine kolmnurk valmis, siis täienda programmi nii, et selle käivitamisel joonistatakse selline kujund.
Kilpkonna saab joonistama panna ka ekraani erinevatest punktidest. Asukoha muutuseks sobib käsklus goto(x, y) ehk näiteks goto(100, 200) läheb punkti, mille x koordinaat on 100 ja y koordinaat 200.

Kui te mingit muud käsurida programmi ei lisa, siis alutab kilpkonn liikumist akna keskpunktist (0, 0) ja jätab uude punkti liikumisel maha joone.

Ilma jooneta joonistamiseks tuleb enne liikumist anda kilpkonnale käsklus penup() või lihtsat up() ja uuest nö pliiati paberile panekuks käsklus pendown() või down().

Lisaülesanne

Katseta käsklusi bgcolor("pink")