Python → Processing
Uvod u Python i Processing — kreativno programiranje
Python Processing početna: Povratak na hub | Sledeća lekcija: Osnovni oblici i boje
Python Processing hub: Povratak na Python Processing hub | Pregled lekcija
Šta je Python Processing?
Processing je alat za vizuelno i kreativno programiranje. Umesto ispisa teksta u konzoli, program crta grafiku direktno u prozoru aplikacije.
Programi u Processing-u često se nazivaju sketch (skica). Sketch je mali program koji crta grafiku, pravi animacije ili reaguje na akcije korisnika kao što su pomeranje miša ili pritisak na taster.
Koristeći Python Mode u okviru Processing IDE-a možemo pisati Python kod koji crta oblike, pravi animacije i reaguje na korisničke akcije.
Processing se često koristi u:
- edukaciji programiranja
- generativnoj umetnosti
- vizualizaciji podataka
- interaktivnim instalacijama
- prototipovima igara
Processing je jedan od najpopularnijih alata za učenje grafičkog programiranja. Koriste ga studenti, umetnici, naučnici i programeri širom sveta za brzo pravljenje vizuelnih eksperimenata i prototipova.
Zašto koristiti Processing?
- Rezultat koda vidiš odmah na ekranu
- Lak način za učenje grafike i animacije
- Odličan alat za učenike i takmičare
- Povezuje matematiku, fiziku i programiranje
Gde pišemo Python Processing kod?
- Processing 4 + Python Mode — preporučeni alat
- py5 biblioteka (napredna alternativa)
- p5 Python biblioteka
U ovom kursu koristimo Processing IDE, jer je najjednostavniji za početnike.
Kako radi Processing program?
Processing program obično sadrži dve glavne funkcije:
setup()— pokreće se jednom na početku programadraw()— pokreće se stalno (više puta u sekundi)
Funkcija setup() se koristi za početna podešavanja,
kao što su veličina prozora ili inicijalne vrednosti promenljivih.
Funkcija draw() se izvršava iznova i iznova i zbog toga
možemo praviti animacije i interaktivne programe.
Processing obično pokreće funkciju draw() oko 60 puta u sekundi.
Koordinatni sistem
Processing koristi dvodimenzionalni koordinatni sistem.
- (0,0) je gornji levi ugao prozora
- x osa ide udesno
- y osa ide nadole
Na primer:
ellipse(100, 100, 50, 50)
Ovaj kod crta krug čiji je centar u tački (100,100).
Primer: Prvi prozor
def setup():
size(600, 400)
def draw():
background(200)
Ovaj program otvara prozor veličine 600×400 piksela.
Promeni veličinu prozora u funkciji
size().
Na primer:
size(800, 500)
Pokreni program ponovo i pogledaj kako se promenila veličina prozora.
Primer: Nacrtaj krug
def setup():
size(600, 400)
def draw():
background(240)
fill(0, 100, 200)
ellipse(300, 200, 100, 100)
Program crta plavi krug u centru prozora.
Promeni parametre funkcije
ellipse() i posmatraj šta se dešava.
Na primer:
- povećaj veličinu kruga
- pomeri krug ulevo ili udesno
- promeni boju pomoću funkcije
fill()
Mini projekti — eksperimenti
Pokretni krug
Kratak opis: Krug se pomera po ekranu.
x = 300
def setup():
size(600, 400)
def draw():
global x
background(240)
fill(200, 50, 50)
ellipse(x, 200, 50, 50)
x += 1
if x > width:
x = 0
Krug se pomera ulevo-udesno i vraća na početak kada izađe iz prozora.
Promena boje mišem
Kratak opis: Boja kruga zavisi od pozicije miša.
def setup():
size(600, 400)
def draw():
background(220)
fill(mouseX % 255, 100, 200)
ellipse(width/2, height/2, 100, 100)
Pomeranjem miša horizontalno menja se boja kruga.
Razlika između Processing-a i klasičnog Python-a
- Nema potrebe za importovanjem grafičkih biblioteka
- Funkcije poput
ellipse(),rect()iline()već postoje - Program se stalno izvršava kroz
draw()petlju
Povezane lekcije
- Instalacija Processing 4 i Python Mode
- Prvi sketch — crtanje na ekranu
- Osnovni oblici i boje
- Animacija i draw() petlja
Šta sledi?
U sledećim lekcijama naučićeš:- Kako instalirati Processing i Python Mode
- Kako crtati osnovne oblike i raditi sa bojama
- Kako napraviti animacije i interaktivne programe
- Kako napraviti mini igre i vizualizacije podataka
Kako radi Processing program?
Processing program ima poseban način izvršavanja koji je veoma pogodan za grafiku i animaciju.
Postoje dve osnovne funkcije:
setup()— izvršava se samo jednom na početku programadraw()— izvršava se stalno, mnogo puta u sekundi
Ovo omogućava da program stalno ponovo crta scenu i tako pravi animaciju.
Tok izvršavanja programa
Pokretanje programa
│
▼
setup()
(pokreće se jednom)
│
▼
draw()
│
▼
draw()
│
▼
draw()
│
▼
draw()
│
▼
ponavlja se stalno
Funkcija draw() se obično izvršava oko
60 puta u sekundi. Svako izvršavanje naziva se
frame (kadar).
Zbog toga možemo:
- pomerati objekte
- menjati boje
- praviti animacije
- reagovati na pokrete miša i tastature
Jednostavan primer
def setup():
size(400, 300)
def draw():
background(200)
circle(mouseX, mouseY, 40)
Ovaj program stalno crta krug koji prati kretanje miša.
Zahvaljujući funkciji draw(),
grafika se stalno osvežava i objekti mogu da se pomeraju.
Kako nastaje animacija?
Animacija u Processing-u nastaje tako što program crta sliku mnogo puta u sekundi.
Svako novo crtanje scene naziva se frame (kadar).
Ako se objekat malo pomeri između dva frame-a, naš mozak to vidi kao kretanje.
Primer pomeranja objekta
Frame 1 Frame 2 Frame 3 Frame 4
O O O O
→ → →
U svakom novom izvršavanju funkcije draw()
objekat se pomeri za malu udaljenost.
Pošto se draw() pokreće oko 60 puta u sekundi,
pomeranje izgleda glatko kao prava animacija.
Jednostavan primer koda
x = 0
def setup():
size(400, 200)
def draw():
global x
background(255)
circle(x, 100, 40)
x = x + 2
U ovom programu promenljiva x određuje
horizontalnu poziciju kruga.
Pri svakom izvršavanju funkcije draw()
vrednost x se povećava,
pa se krug pomera ka desno.
Tako nastaje jednostavna animacija.