Týden 6
Úkol 2 (5 bodu)
Implementujte v Processingu systém pro interaktivní zobrazování velkých grafů se zvětšeným náhledem na okolí uzlů v okolí středu obrazovky.
Požadavky:
1) Po spuštění programu se vygenuruje náhodný obecný graf s náhodným rozmístěním uzlů
1) Uzly lze přemísťovat myší
2) Po kliknutí na uzel se zobrazí (dočasně nebo do dalšího kliknutí) jeho identifikace
3) Uzly trvale optimalizují svoji polohu na základě Vámi zvoleného algoritmu
4) Uzly mají náhodně přidělené váhy, které ovlivňují jejich vzhled a vliv na okolité uzly
5) Zobrazení zahušťuje a zmenšuje uzly daleko od středu obrazovky (např. transformací r = R - k/(sqrt(x^2+y^2) + 1; alfa = arcsin(x/r)), kde x a y jsou karteziánské souřadnice, r a alfa jsou polární souřadnice po transformaci, které je nutné převést na transformované karteziánské xnew = sin(alfa)*r; ynew = cos(alfa)*r)
BONUS: 2 body za implementaci načítání dat ze souboru
VZOROVÉ ŘEŠENÍ:
http://www.fi.muni.cz/~lexa/horacek.pde
http://www.fi.muni.cz/~lexa/ukrop.pde
STUDENTSKA PREZENTACE:
Miroslav Hlavacek: Matplotlib
Odkaz na stránky mnou prezentovaného nástroje je http://matplotlib.org/ respektive http://matplotlib.org/gallery.html pro stránku s většinou grafických příkladů.