kornjačina grafikaipaq.petagimnazija.hr/.../2014/12/kornjacina-grafika.pdfo modulu turtle •...

26
Kornjačina grafika

Upload: lynguyet

Post on 03-Aug-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

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

00

900

1800

2700

x

y

-y

- x (0,0)

Funkcije za pomicanje pera

Funkcija Opis djelovanja

forward(n), fd(n) Pomiče olovku ravno za

n koraka u smjeru u

kojem je trenutno

okrenuta

backward(n), bk(n),

back(n)

Vraća olovku natrag za

n koraka

right(x), rt(x) „Zakreće“ olovku u

smjeru smjera kazaljke

na satu za x stupnjeva (x

može biti realan broj)

left(x), lt(x) „Zakreće“ olovku u

smjeru obrnutom od

smjera kazaljke na satu

za x stupnjeva

00

900

1800

2700

right(x)

left(x)

forward(n) backward(n)

Prikaz rada funkcija kada je olovka u početnoj

poziciji

Pomicanja se rade obzirom na

trenutni položaj olovke

Primjeri

ILI

Algoritam za crtanje

pravilnih n-terokuta

Nacrtati jednakostranični trokut

Crtanje trokuta

x α

fd(a)

lt(x)

Crtanje n-terokuta

for i in range (n):

fd(a)

lt(360/n)

Gdje je a duljina stranice n-terokuta, a n broj kutova.

Općenito možemo zapisati:

Funkcije određene koordinatama olovke

Funkcija Opis djelovanja

goto(x, y),

setpos(x, y),

setposition(x, y)

Postavlja olovku na

točku s

koordinatama (x, y)

setx(x)

Postavlja prvu

koordinatu olovke

na x, a y ostaje

nepromijenjena

sety(y)

Postavlja drugu

koordinatu olovke

na y, a x ostaje

nepromijenjena

setheading(x),

seth(x)

Usmjerava olovku

tako da olovka

pokazuje u smjer

kuta x

(0,0)

(100,100) (200,100)

(200,-100)

Ostale funkcije za upravljanje olovkom Funkcija Opis djelovanja

penup(), pu(), up() Podiže olovku iznad papira tako da ne ostavlja trag

prilikom kretanja

pendown(), pd(),

down()

Vraća olovku na papir tako da sljedeće crtanje ostavlja

trag

isdown() Vraća True ako je olovka na papiru, inače vraća False

position(), pos() Vraća trenutne koordinate olovke

heading() Vraća smjer olovke

home()

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

clear() Briše sadržaj grafičkog prozora

undo() Briše posljednji napravljeni korak

reset() Briše sve crteže i postavlja olovku u početni položaj. (Radi

isto što i kombinacija naredbi clear() i home().)

hideturtle(), ht() Skriva olovku za crtanje

showturtle(), st() Prikazuje olovku za crtanje

isvisible() 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)

- očitava i vraća postavljenu boju olovke

- postavlja boju olovke zadanu stringom

- postavlja boju olovke zadanu udjelima RGB

fillcolor()

fillcolor(string)

fillcolor(r,g,b)

- očitava i vraća postojeću boju ispune

- postavlja boju ispune zadanu stringom

- postavlja boju ispune zadanu udjelima RGB

color()

color(string)

color(r,g,b)

- očitava i vraća boju ispune i olovke

- postavlja boju ispune i olovke zadano stringom

- postavlja boju ispune i olovke udjelima RGB

begin_fill() - početak ispune

end_fill() - 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 1

Boja 2

Boja x

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

Primjeri

Primjer 1-olovka se ne pomiče

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