Vizualizace komplexních dat

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ů.