Aplicația este destinată reprezentării grafice a evoluției în timp unor fenomene prin utilizarea unor seturi de valori conținute într-un tabel al unei baze de date.
A
plicația este scrisă în limbajul de programare JavaScript, deci integrabilă în aplicațiile web. Este perfect responsivă, adică adaptabilă la orice dispozitiv desktop sau mobil. Aplicația are un grad mare de generalitate, aspect care-i conferă avantajul integrării imediate în orice pagină web, pentru așa ceva necesitând un număr mic sau nesemnificativ de modificări ale codului sursă.
§ Funcționare:
Aplicația accesează datele conținute într-un tabel al unei baze de date și le reprezintă grafic, pe abscisă fiind dispuse valorile în timp, iar pe ordonată limitele maximă și minimă corespunzătoare mulțimii de funcții selectată. Aceste valori se actualizează automat, depinzând de valorile maxime și minime ale funcțiilor selectate. Programul va desena graficul evoluției în timp a unor serii de valori corespunzătoare unei situații anume. Plimbând cursorul mouse-lui în interiorul zonei de reprezentare grafică, își face apariția o casetă mobilă care urmărește coordonatele cursorului mouse-ului și care conține un tabel cu data curentă și valorile funcțiilor reprezentate grafic.
§ Modul de operare:
Pentru exemplificare am luat situația evoluției în timp a pandemiei de coronavirus cu care omenirea se confruntă în aceste zile. Aplicația pornește cu o valoare prestabilită, în cazul de față `Nr_cazuri` existente pentru fiecare țară. Butonul [gotoDB] este inactiv în acest moment și nicio funție nu este selectată pentru a fi reprezentată grafic. În continuare, utilizatorul are posibilitatea să folosească butonul destinat selectării/deselectării tuturor funcțiilor care se doresc a fi reprezentate grafic. De asemenea are posibilitatea să selecteze separat funcțiile urmărite.
Selectând o altă situație, cum ar fi `Nr_vindecați`, butonul [gotoDB] devine activ, iar utilizatorul va trebui să-l apese pentru a obține datele corespunzătoare situației celor vindecați. Ulterior, utilizatorul va selecta țările pentru care dorește să obțină reprezentarea grafică a datelor corespunzătoare.
§ Considerente legate de reprezentarea grafică
- În vederea reprezentării grafice a funcțiilor am stabilit metoda de interpolare liniară, dar am implementat și alte două metode de interpolare: cosinusoidală și una binomială. Metoda de interpolare aleasă se poate activa prin modificări simple ale codului sursă al aplicației.
- Una dintre fotografiile atașate acestui articol arată diferența dintre metodele de interpolare disponibile în cadrul aplicației: liniară, cosinusoidală și monoton-cubică.
- Evident că nu orice metodă de interpolare este potrivită pentru a reprezenta grafic o funcție atunci când se dispune de un set de valori distincte. Depinde de fenomenul pe care-l reprezintă. Interpolarea cosinusoidală ar putea corespunde sistemelor caracterizate prin inerție în evoluția acestora. Unele metode de interpolare polinomiale ar putea să indice evoluții care nu corespund realității, cum ar fi cele care prezintă un lob în punctul după care se înregistrează două momente consecutive care au aceeași valoare (evoluție constantă). Așa ceva ar fi ilogic să admitem în cazul monitorizării situației pacienților decedați într-un spital, lobul existent cu cădere asimptotică spre următoarea valoare de reprezentare ar da de înțeles că unii oameni ar fi înviat, ori noi știm că Ziua Învierii nu a sosit încă. Metoda de interpolare Bezier ar putea fi utilizată cu succes în cazul datelor obținute prin măsurători cu aparate având clasă de precizie modestă, dar nu va putea fi utilizată în cazul reprezentării grafice a datelor certe. În acest caz, metoda de interpolare potrivită ar putea fi metoda monoton-cubică, deoarece aceasta atinge și deci conține valorile obținute prin măsurători.
Pentru a evita neplăcerile cauzate de copierea și redistribuirea neautorizată a codului sursă al aplicației în cauză, am hotărât să nu-l expun public. Aplicațiile online de tip obfuscate cu ajutorul cărora aș putea să preîntâmpin (într-o oarecare măsură) astfel de neplăceri pentru mine nu prezintă încredere. În aceste condiții, persoanele interesate de codul sursă al aplicației ar putea obține așa ceva pe baza unui acord ce depinde de buna înțelegere și încrederea reciprocă ce s-ar putea stabili între cele două părți.
#