aramej

spatna vazba

Jul 7th, 2024
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.21 KB | None | 0 0
  1. # Odpovede na doplňujúce otázky k vývoju trojfázovej simulácie
  2.  
  3. ## 1. Matematický model a presnosť výpočtov
  4.  
  5. - **Konkrétne problémy**: Najväčšou výzvou bolo správne modelovanie vzťahu medzi napätím, prúdom a výkonom v trojfázovom systéme. Implementácia fázového posunu a jeho vplyvu na výkony (činný, jalový, zdanlivý) vyžadovala veľkú pozornosť.
  6.  
  7. - **Zabezpečenie presnosti**: Využili sme normalizáciu hodnôt a obmedzenie vstupných parametrov na realistické rozsahy. Pre extrémne hodnoty sme implementovali adaptívne škálovanie grafov.
  8.  
  9. - **Alternatívne prístupy**: Zvažovali sme použitie externej matematickej knižnice pre komplexné výpočty, ale nakoniec sme sa rozhodli pre vlastnú implementáciu kvôli lepšej kontrole nad výpočtami a minimalizácii závislostí.
  10.  
  11. ## 2. Optimalizácia výkonu a plynulosť animácií
  12.  
  13. - **Výkonnostné problémy**: Hlavným problémom bolo udržať plynulosť animácií pri súčasnom vykresľovaní viacerých grafov a aktualizácii fázorového diagramu.
  14.  
  15. - **Efektívne techniky**: Využitie `requestAnimationFrame` namiesto `setInterval`, optimalizácia vykresľovacích funkcií a minimalizácia prekresľovania nezmeneých častí grafu.
  16.  
  17. - **Kompromis vizuál vs. výkon**: Znížili sme počet bodov na krivkách pri vysokých frekvenciách a implementovali adaptívnu kvalitu vykresľovania v závislosti od výkonu zariadenia.
  18.  
  19. ## 3. Škálovateľnosť a adaptabilita
  20.  
  21. - **Výzvy škálovateľnosti**: Hlavnou výzvou bolo zabezpečiť, aby grafy zostali čitateľné a informatívne pri extrémnych hodnotách prúdu alebo napätia.
  22.  
  23. - **Riešenie extrémnych hodnôt**: Implementovali sme adaptívne škálovanie osí a automatické prepínanie jednotiek (napr. z A na kA).
  24.  
  25. - **Responzívny dizajn**: Využili sme flexibilné layouty a percentuálne veľkosti pre prispôsobenie rôznym veľkostiam obrazovky.
  26.  
  27. ## 4. Integrácia komponentov
  28.  
  29. - **Problémy pri integrácii**: Najväčšou výzvou bola synchronizácia stavu medzi rôznymi komponentmi, najmä pri zmene vstupných parametrov.
  30.  
  31. - **Riešenie synchronizácie**: Využili sme centralizovaný stav v React komponente najvyššej úrovne a props drilling pre zdieľanie stavu medzi komponentmi.
  32.  
  33. ## 5. Obmedzenia veľkosti kódu
  34.  
  35. - **Stratégie**: Využili sme vyššie funkcie, mapovanie a redukciu opakujúceho sa kódu. Implementovali sme generické komponenty pre grafy.
  36.  
  37. - **Kompromisy**: Museli sme vyvážiť medzi čitateľnosťou kódu a jeho kompaktnosťou. V niektorých prípadoch sme obetovali detailné komentáre v prospech kratšieho kódu.
  38.  
  39. ## 6. Voľba technológií
  40.  
  41. - **Dôvody pre JS a React**: Reaktívnosť, efektívna správa stavu, široká podpora a ekosystém knižníc. Zvažovali sme Vue.js, ale React vyhral kvôli väčšej komunite a osobným skúsenostiam.
  42.  
  43. - **Canvas vs. iné**: Canvas poskytol lepší výkon pri animáciách oproti SVG. Umožnil tiež väčšiu kontrolu nad vykresľovaním.
  44.  
  45. ## 7. Užívateľské rozhranie a interaktivita
  46.  
  47. - **Hlavné výzvy**: Vytvorenie intuitívneho rozhrania pre komplexné parametre ako fázový posun a typy záťaže.
  48.  
  49. - **Spätná väzba**: Na základe spätnej väzby sme pridali tooltip vysvetlenia pre zložitejšie koncepty a vizuálne indikátory zmien.
  50.  
  51. ## 8. Testovanie a ladenie
  52.  
  53. - **Neočakávané problémy**: Objavili sa problémy s presnosťou výpočtov pri nízkych frekvenciách a extrémnych hodnotách prúdu.
  54.  
  55. - **Užitočné nástroje**: React Developer Tools pre ladenie stavu komponentov, Chrome DevTools pre profilovanie výkonu.
  56.  
  57. ## 9. Budúce vylepšenia
  58.  
  59. - **Potenciálne funkcie**: Implementácia 3D vizualizácie fázorového diagramu, pridanie možnosti porovnávať viacero scenárov súčasne.
  60.  
  61. - **Technické výzvy**: Integrácia 3D renderingu by vyžadovala značné rozšírenie kódovej základne a potenciálne využitie WebGL.
  62.  
  63. ## 10. Získané poznatky
  64.  
  65. - **Kľúčové ponaučenia**: Dôležitosť počiatočného návrhu architektúry, hodnota priebežného testovania s koncovými užívateľmi.
  66.  
  67. - **Zmeny pri novom začiatku**: Implementovali by sme robustnejší systém správy stavu (napr. Redux) od začiatku projektu pre lepšiu škálovateľnosť.
Advertisement
Add Comment
Please, Sign In to add comment