ANIMACIJA ROTACIONOG KRETANJA - PRIMER U PROCESSING-U

Processing sa java programskim jezikom, kao i javascript varijanta p5js se mogu upotrebiti za kreiranje animacije kružnog kretanja. U nastavku će biti prikazana interaktivna aplikacija za prikaz kružnog kretanja, sa mogućnošću menjanja ugaone brzine, poluprečnika i ugaonog ubrzanja. Aplikacija se može upotrebiti za edukaciju i bolje razumevanje kinematike kružnog kretanja materijalne tačke. Takođe, u nastavku će biti prikazan, kako se pomoću processing-a, može izprogramirati, jednostavna varijanta aplikacije za kružno kretanje.
Kako napraviti animaciju koristeći p5js pogledajte veb lokaciju:kosi-hitac.onrender.com/kruzno_kretanje.

Kružno kretanje

Kružno kretanje je kretanje po krivolinijskoj putanji oblika kružnice za razliku od pravolinijskog gde se telo kreće po pravolinijskoj putanji. U ovom članku će biti pokazana animacija kružnog kretanja materijalne tačke. Za razliku od pravolinijskog kretanja gde su fizičke veličine koje opisuju kretanje, pređeni put s[m], brzina v[m/s] i ubrzanje a[m/s2], kod kružnog kretanja posmatraćemo fizičke veličine kao što su ugao koji zaklapa vektor položaja sa X osom φ[rad], ugaona brzina ω[rad/s], ugaono ubrzanje α[rad/s2].

Kružno kretanje može biti:

  • Ravnomerno, gde je ugaono ubrzanje α=0
  • Ravnomerno ubrzano, sa nekim ugaonim ubrzanjem koje je različito od nule α <>0
Ravnomerno kružno kretanje materijalne tačke M
Slika 1: Ravnomerno kružno kretanje materijalne tačke M

Kod ravnomernog kružnog kretanja materijalna tačka se obrće po kružnoj putanji nekom ugaonom brzinom koja se ne menja tokom vremena tj. ω=const.

Radijus vektor R u svakom trenutku menja ugao koji zaklapa sa X osom po zakonu:

φ=ω * t [rad]

Intenzitet linijske brzine v je takođe konstantan, tj. v=const , ali pravac se menja, tako da postoji promena vektora brzine Δv uvek usmerena ka centru, što znači da zbog toga postoji ubrzanje koje ovu promenu izaziva.

To je normalno ili centripetalno ubrzanje:

aN = v2/R, ili

aN = R*ω2

Za razliku od normalnog ubrzanja, tangentno ubrzanje je jednako nuli kod ravnomernog kretanja, jer je ugaono ubrzanje:

α = 0

Ako znamo polarne koordinare R i φ koordinate položaja tačke M, X i Y se mogu izračunati na sledeći način:

X=R*cos(φ)

Y=R*sin(φ)

Projekcije vektora položaja R na koordinatne ose X i Y su na slikama 1 i 2 prikazani plavim zadebljanim linijama

Na slici 2 je prikazan primer kružnog kretanja, gde je ω = 1,1 rad/s i α = 0, sa svim prikazanim veličinama . Takođe su prikazani vektori brzine, i normalnog ubrzanja

Ravnomerno kružno kretanje materijalne tačke M -prikaz veličina
Slika 2: Ravnomerno kružno kretanje materijalne tačke M -prikaz veličina

Ravnomerno ubrzano kružno kretanje

Kod ravnomerno ubrzanog kružnog kretanja postoji ugaono ubrzanje &alpha ><0. Ugaona brzina se menja tokom vremena t po sledećem zakonu:

ω= ω0 + α*t

gde je ω0 ugaona brzina u početnom trenutku

Na slici 2 je prikazan primer ravnomerno ubrzanog kretanja za ω = 0.5rad/s i α = 0.5 rad/s2

Ravnomerno ubrzano kružno kretanje materijalne tačke
Slika 3: Ravnomerno ubrzano kružno kretanje materijalne tačke

Pored normalnog ubrzanja sada postoji i tangentno ubrzanje aT, koje uvek ima pravac tangente, a smer isti kao i brzina ako se ugaona brzina povećava tokom vremena, a suprotan smer, ako se smanjuje.

aT=R*α[m/s2]

Ukupno ubrzanje se dobija kao vektorski zbir normalnog i tangentnog ubrzanja, ako je i prikazano na slici 3.

Iz trougla koji obrazuju vektori aN, aT i a, intenzitet ukupnog ubrzanja se može odrediti:

a=√aN2+aT2


Kružno kretanje - aplikacija

         U nastavku je prikazana aplikacija za prikaz kružnog kretanja. U plavom panelu mogu se manjati polazne veličine: poluprečnik putanje R, početna ugaona brzina, ugaono ubrzanje i to pomoću slajdera. Ispot toga se nalazi panel sa dugmadima za navigaciju za startovanje, za jedan iteracioni korak, za pauzu i za resetovanje. Takođe se u istom panelu nalaze "check boxovi" za izbor smera obrtanja, prikaz informacija, brzina i ubrzanja. Animaciju je moguće usporiti do 20 puta, preko slajdera za usporenje, koji se nalazi takođe na plavom panelu. 

Kružno kretanje - primer koda u processing-u

Na sledećoj slici je prikazana jednostavna animacija kružnog kretanja, ravnomerno ubrzanog, a posle toga i kod u processing-u.Ravnomerno ubrzano kružno kretanje-processing
Slika 4: Ravnomerno ubrzano kružno kretanje-processing
          U scath-u "RotacijaTackeUbrzanoOsnovno" prikazanom na slici 5, prvo se deklarišu objekti "tacka"(tačka koja rotira), "putanja"(kružna linija po kojoj tačka rotira), "centar", processing-ove klase PShape. Takođe su deklarisane x osa i y osa, takođe objekti klase PShape. Takođe se deklarišu fizičke veličine ugla(fi), poluprečnik putanje "R", ugaona brzina "w", ugaono ubrzanje "alfa" tipa float, i vektori (PVector) položaja tačke  koja rotira(M), brzina(v), centripetalnog ubrzanja "ac" .
Unutar setup metode podese se prvo, veličina scatch-a na 500*500, bela pozadina, broj iteracija u sekundi, a zatim se kreiraju, prethodno deklarisani objekti.Ravnomerno ubrzano kružno kretanje-processing-kod1
Slika 5: Ravnomerno ubrzano kružno kretanje-processing-kod1
       PShape objekti se kreiraju pomoću processing-ove metode createShape()kojoj se kao parametri prosleđuju oblik, ELLIPSE ili LINE, a ostali parametri su, za krug, koordinate gornjeg levog ugla pravougaonika u koji je upisana elipsa(krug), a zatim širina i visina istog. U slučaju linije, potrebno je proslediti početnu i krajnju tačku.
Tačka M je objekat klase PVector, kao i linijska brzina v, a,w, alfa i fi su realni brojevi. Ugaona brzina w se inicijalizuje koristeći formulu w=v.mag()/R.
Funkcija mag() za vektor daje intenzitet vektora, kako je ranije objašnjeno u članku: Vektori u Processing-u.

Ravnomerno ubrzano kružno kretanje-processing-kod 2
Slika 6: Ravnomerno ubrzano kružno kretanje-processing-kod 2
      U nastavku se može wideti draw funkcija u kojoj se iscrta pozadina(background()), translira koordinatni sistem na sredinu canvas-a za prikaz animacije, a zatim izvrše promene ugaone brzine w na osnovu definisanog ugaonog ubrzanja(usporenja) alfa i ugla rotacije fi. 
U istoj metodi se zatim iscrtavaju centar, kružna putanja, materijalna tačka i pokretni koordinatni sistem, vezan za tačku koja rotira.
Pre iscrtavanja malog kruga koji rotira(tačka M), potrebno je zarotirati koordinatni sistem za ugao fi, metodom rotate(fi), a zatim ga translirati za vrednost -R, tako da se tačka posle toga definiše u odnosu na taj pokretni koordinatni sistem sa koordinatama položaja (0,0).
Metoda shape(tacka) iscrtava tačku na koordinatama (0,0) jer su to podrazumevane koordinate, ako se ne precizira drugačije(vidi referencu shape).Ravnomerno ubrzano kružno kretanje-processing-kod 3
Slika 7: Ravnomerno ubrzano kružno kretanje-processing-kod 3