Korpa je prazna: 0.00 Din.
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.
