Uvod u Python i Processing — kreativno programiranje

Okruženje:
primeri u ovoj lekciji pisani su za Processing Python Mode. Ako radiš u preporučenom okruženju Thonny + py5, većina koda ostaje ista, a imena sa velikim slovom u sredini pišu se malim slovima sa donjom crtom: mouseX → mouse_x, noStroke() → no_stroke(). Pogledaj tabelu razlika.

Lekcija 1 od 20 · Python i Processing

Š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

Napomena:

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?


  • Thonny + py5 — preporučeno: pravi Python 3, isto okruženje kao za osnove i MicroPython
  • Processing IDE + Python Mode — stari primeri iz ovog kursa; Python Mode se više ne održava
  • Processing sa Javom — ako želiš da učiš i Javu

Primeri u lekcijama napisani su za Processing Python Mode, a uz svaku lekciju je objašnjeno šta se menja u py5. Razlog za izbor okruženja objašnjen je u lekciji Processing 4 – problemi i izbor puta.


Kako radi Processing program?


Processing program obično sadrži dve glavne funkcije:

  • setup() — pokreće se jednom na početku programa
  • draw() — 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.


Eksperiment:

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.


Pokušaj sam:

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()
Eksperimenti su najbolji način za učenje Processing-a.

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() i line() već postoje
  • Program se stalno izvršava kroz draw() petlju

Povezane lekcije



Šta sledi?

U sledećim lekcijama naučićeš:

Isto u Processing-u sa Javom

Logika je ista; razlikuje se samo sintaksa jezika.

Proveri znanje

Otvori kviz

Mini kviz: kako radi sketch

1. Koliko puta se izvršava funkcija setup()?




2. Gde je tačka (0, 0) u prozoru?




3. Zašto se krug pomera ako u draw() povećavamo x?




Korisni spoljni resursi