Kornjačina grafika
O modulu turtle Sadrži funkcije za crtanje Izvođenjem naredbi otvara se grafički prozor veličine 600x600 piksela Olovka (pokazivač) je postavljena u središtu prozora i usmjerena udesno Središte grafičkog prozora ima koordinatu(0,0)
Svojstva olovke Osnovna svojstva: Pozicija u prozoru (pomaci su zadani u pikselima) Orijentacija (zadana u stupnjevima) Dodatna svojstva: Boja Širina Položaj (podignut ili spušten) Oblik y 90 0 180 0 - x (0,0) 270 0 -y 0 0 x
Funkcije za pomicanje pera Pomicanja se rade obzirom na trenutni položaj olovke Prikaz rada funkcija kada je olovka u početnoj poziciji Funkcija forward(n), fd(n) backward(n), bk(n), back(n) right(x), rt(x) left(x), lt(x) Opis djelovanja Pomiče olovku ravno za n koraka u smjeru u kojem je trenutno okrenuta Vraća olovku natrag za n koraka Zakreće olovku u smjeru smjera kazaljke na satu za x stupnjeva (x može biti realan broj) Zakreće olovku u smjeru obrnutom od smjera kazaljke na satu za x stupnjeva 180 0 backward(n) 90 0 left(x) 0 0 forward(n) right(x) 270 0
Primjeri ILI
Algoritam za crtanje pravilnih n-terokuta Nacrtati jednakostranični trokut
Crtanje trokuta fd(a) α x lt(x)
Crtanje n-terokuta Općenito možemo zapisati: for i in range (n): fd(a) lt(360/n) Gdje je a duljina stranice n-terokuta, a n broj kutova.
Funkcije određene koordinatama olovke (0,0) (100,100) (200,100) (200,-100) Funkcija goto(x, y), setpos(x, y), setposition(x, y) setx(x) sety(y) setheading(x), seth(x) Opis djelovanja Postavlja olovku na točku s koordinatama (x, y) Postavlja prvu koordinatu olovke na x, a y ostaje nepromijenjena Postavlja drugu koordinatu olovke na y, a x ostaje nepromijenjena Usmjerava olovku tako da olovka pokazuje u smjer kuta x
Ostale funkcije za upravljanje olovkom Funkcija penup(), pu(), up() pendown(), pd(), down() isdown() position(), pos() heading() home() clear() undo() reset() hideturtle(), ht() showturtle(), st() isvisible() Opis djelovanja Podiže olovku iznad papira tako da ne ostavlja trag prilikom kretanja Vraća olovku na papir tako da sljedeće crtanje ostavlja trag Vraća True ako je olovka na papiru, inače vraća False Vraća trenutne koordinate olovke Vraća smjer olovke Vraća olovku na sredinu grafičkog ekrana (0, 0) te postavlja smjer olovke na 0 stupnjeva ukoliko je olovka na papiru ova naredba ostavlja trag Briše sadržaj grafičkog prozora Briše posljednji napravljeni korak Briše sve crteže i postavlja olovku u početni položaj. (Radi isto što i kombinacija naredbi clear() i home().) Skriva olovku za crtanje Prikazuje olovku za crtanje Vraća True ako je olovka za crtanje vidljiva, inače vraća False
Crtanje kružnice i kružnog isječka circle(r, extend= None, steps= None) radijus kružnice (ako je zadan) Središnji kut kružnog isječka (ako je zadano) crtanje n-terokuta sa steps kutova
Boje u Pythonu Koristi se RGB (red, green, blue) model Zauzeće memorije: 3 bajta - za svaku boju po jedan Vrijednosti udjela pojedine boje kreće se u intervalu od 0-255 ili 0.0-1.0 Udio se navodi u naredbi color()
Tablica boja u Pythonu
Funkcije za rad s bojama Funkcija Opis djelovanja colormode() colormode(255) colormode(1.0) -očitava i vraća trenutno postavljeni RGB mod -postavlja zadavanje boje cijelim brojevima (od 0 do 255) -postavlja zadavanje boje realnim brojevima (od 0 do 1.0) pencolor() pencolor(string) pencolor(r,g,b) fillcolor() fillcolor(string) fillcolor(r,g,b) color() color(string) color(r,g,b) begin_fill() end_fill() - očitava i vraća postavljenu boju olovke - postavlja boju olovke zadanu stringom - postavlja boju olovke zadanu udjelima RGB - očitava i vraća postojeću boju ispune - postavlja boju ispune zadanu stringom - postavlja boju ispune zadanu udjelima RGB - očitava i vraća boju ispune i olovke - postavlja boju ispune i olovke zadano stringom - postavlja boju ispune i olovke udjelima RGB - početak ispune - kraj ispune
Primjeri
Primjeri
Miješanje boja U RGB modu, miješanjem pojedinih udjela boja dobivamo različite nijanse
Linearna interpolacija boja Interpolacija - označava metodu konstrukcije novih točaka podataka unutar raspona skupa poznatih točaka podataka. Boja x Boja 2 Boja 1 1 2 3 4 5 Ilustracija interpolacije boja s 5 intervala
Primjer U primjeru na slici prikazano je 5 kvadrata obojenih interpoliranim sivim nijansama od crne do bijele boje.
Funkcija write() write(arg,move=false,align= left, font=( Arial,8, normal )) arg - string koji treba napisati move ako je True olovka će se pomaknuti zajedno s napisanim tekstom, a ako je False olovka se neće pomicati zajedno s napisanim tekstom align- pozicioniranje teksta u odnosu na olovku(left, right, center) font font, veličina i vrsta teksta
Primjer 1-olovka se ne pomiče Primjeri Primjer 2- olovka se pomiče s tekstom Primjer 3- olovka se ne pomiče, tekst se pozicionira na sredinu u odnosu na olovku
Funkcija textinput() Ime_varijable= textinput(title, prompt) Ime_varijable naziv stringovne varijable kojoj će se pridružiti uneseni string title string koji će biti pridružen nazivu grafičkog prozora prompt- ispisni tekst unutar ulaznog prozora
Primjer
Rad s više olovaka
Rad s mišem Klikom 1. tipike miša na 1. olovku crta se kvadrat (funkcija crtaj1) Klikom 1. tipke miša na 2. olovku crta se trokut (funkcija crtaj2)
Rad s tipkama Pritiskom na tipke strelice okreće se ili pomiče olovka