Uvod u Python

U ovoj lekciji ću vam pokazati kako se u Python-u moÅŸe nacrtati linija i to uz pomoć funkcije koja se naziva Turtle. U tom cilju je neophodno da se u program prvo ubaci odgovarajuća datoteka a ja sam to uradio na samom početku tj. u prvom redu programskog koda.

import turtle

Zatim sledi funkcija kojom se kreira tzv. ekran za crtanje pa ću zato upotrebiti funkciju screen i dodeliti joj promenjivu istog naziva.

screen = turtle.Screen()

Funkcija bgcolor mi omogućava da odredim boju pozadine koja će u ovom slučaju postati plava a primenom funkcije title ću postaviti odgovarajući naslov.

screen.bgcolor(blue)
screen.title(„Drawing Lines Practice“)

PoÅ¡to sada raspolaÅŸem sa dovoljnim brojem elemenata, ja ću sačuvati i pokrenuti ovaj program da bi se na ekranu odmah pojavio novi okvir sa plavom pozadinom i odgovarajućim natpisom.

PoÅ¡to je do sada sve ispalo baÅ¡ onako kao Å¡to sam planirao, mogu da pređem na crtanje prve linije pa ću u tom cilju kreirati svoj prvi „turtle“. To se moÅŸe postići kreiranjem promenjive my_turtle i pozivanjem funkcije Turtle.

my_turtle = turtle.Turtle()

Zatim mogu da pređem na crtanje linije i dodelim joj duÅŸinu od 100 piksela.

my_turtle.forward(100)

Ako sada sačuvam i pokrenem ovaj program, na plavoj pozadini će se pojaviti tamna linija a ako obratite paÅŸnju, primetićete da se na njenom desnom kraju nalazi mali trougao koji u predstavlja „olovku“ tj. alat kojim se vrÅ¡i crtanje. Ukoliko vam se to ne dopada, moÅŸete primeniti funkciju shape i izabrati neki drugi oblik a ja ću iskoristiti priliku da umesto trougla postavim kruÅŸnicu.

my_turtle.shape(„circle“)

Ukoliko ponovo pokrenem isti program, primetićete da se na kraju linije sada nalazi drugačiji simbol Å¡to znači da je ova promena uspeÅ¡no izvrÅ¡ena. Postoji čak i mogućnost da se ovaj element pretvori u stvarnu kornjaču ali ću se ja ipak zadrÅŸati na kruÅŸnom elementu.

my_turtle.shape(„turtle“)

PoÅ¡to sam uspeÅ¡no nacrtao svoju prvu liniju, ne bi bilo loÅ¡e da je učinim malo debljom. To se moÅŸe postići primenom funkcije kojom se u stvari kontroliÅ¡e veličina olovke a ja ću se ovom prilikom odlučiti za 5 piksela.

my_turtle.pensize(5)

Da bih proverio kako će se ova promena odraziti na grafički prikaz, ja ću sačuvati i pokrenuti program da bi se na ekranu pojavila neÅ¡to deblja linija na čijem kraju se nalazi mala kruÅŸnica.

Sada se postavlja pitanje, da li je moguće nacrtati liniju u nekom drugom pravcu? Da bih vam pokazao kako se radi, ja ću primeniti funkciju left jer mi ona omogućava direktno određivanje novog pravca. Ja ću izabrati ugao od 45 stepeni i zatim se pomeriti za još 100 piksela.

my_turtle.left(45)
my_turtle.forward(100)

Ako nakon toga sačuvam i pokrenem ovaj program, videćete da se na ekranu pojavila nova kosa linija koja ima tačno određenu Å¡irinu i duÅŸinu. Na ovaj način je moguće nacrtati bilo kakvu formu a to uključuje i kreiranje segmenata koji ne sadrÅŸe nikakve linije. To se moÅŸe postići primenom funkcije penup a da bih vam pokazao kako to izgleda u praksi, ja ću prvo primeniti pomenutu funkciju

my_turtle.penup()

a ako nakon toga preskočim korak u kome se vrši pomeranje olovke i ponovio „spustim“ olovku

my_turtle.pendown()

biću u prilici da dodam novi segment.

my_turtle.forward(100)

Da bih vam pokazao šta sam na ovaj način postigao, ja ću sačuvati i pokrenuti ovaj program da bi se na ekranu pojavile dve nepovezane linije. Ovakav efekat sam postigao naizmeničnom primenom funkcija za „podizanje“ olovke (penup) i pomeranje za određenu razdaljinu (forward), da bih nakon toga „spustio“ olovku (pendown) i konačno nacrtao novu liniju.

Ukoliko ÅŸelite da liniju usmerite u suprotnom pravcu to moÅŸete postići primenom funkcije backward. Da bih vam pokazao kako to izgleda u praksi ja ću u ovaj program dodati joÅ¡ jedan red

my_turtle.backward(100)

a zatim ga sačuvati i pokrenuti. Kao što vidite, kruşnica koja predstavlja vrh olovke se sada nalazi na suprotnom kraju kose linije što znači da sam je pomerio za 100 piksela unazad.

Sada kada znate kako se crtaju pojedinačni linijski segmenti, vreme je da to znanje primenite za neÅ¡to konkretnije a ja vam predlaÅŸem da to bude zvezda sa osam krakova. Da bi to postigli, potrebno da olovku postavite na sredinu ekrana i zatim nacrtate svih osam segmenata. Ja ne bih ÅŸeleo da viÅ¡e puta ponavljam slične linije koda pa ću umesto toga primeniti petlju i pri tome iskoristiti opseg od 1 do 8

for x in range(0,8):

Nakon toga ću obrisati kod koji mi viÅ¡e nije potreban i zatim dodati prvi segment čija duÅŸina iznosi 100 piksela, vrati se na početni poloÅŸaj i okrenuti se za 45 stepeni.

my_turtle.forward(100)
my_turtle.backward(100)
my_turtle.left(45)

Ako nakon toga sačuvam i pokrenem ovaj program, na ekranu će se pojaviti ÅŸeljena forma Å¡to znači da sam uspeÅ¡no obavio i ovaj zadatak.

Ukoliko ste završili sa crtanjem i ne şelite više da koristite komandu Turtle, neophodno je da na kraj programa dodate izraz kojim se on prekida.

turtle.done()

Pored toga, ne bi bilo loÅ¡e i da sakrijete simbol koji predstavlja četkicu, a to se moÅŸe postići primenom funkcije hideturtle.

my_turtle.hideturtle()

Pre nego što dovršim ovu lekciju, ja ću još jednom sačuvati i pokrenuti ovaj program pa ćete i sami moći da se uverite u njegovu efikasnost.

0% Završeno
Call Now Button