Specifikace: Pružinkový model grafu

Chcel by som naprogramovať "vystierač" 2D grafov ako simuláciu pružinového
systému (po spojoch s odpudzovaním vrcholov) spolu s animáciou tohto procesu.

Výsledný program by bol vo forme webovej aplikácie (JavaScript) ako WebGL
(C - GLSL) program a to z viacerých dobrých dôvodov. Prvý, bude voľne dostupný
ako webová stránka, nič nebude treba kompilovať, distribuovať. Druhý, táto
simulácia je dokonale paralelizovateľná, takže by ju bolo ideálne naprogramovať
pre GPU. Naj cross-platformovejšia forma ako niečo naprogramovať pre GPU je
napísať celú simuláciu ako fragmentový shader v GLSL pre WebGL. Tretí, <canvas>
a webové prostredie všeobecne uľahčuje (dramaticky) tvorbu uživateľského
rozhrania, kreslenia (interpolovaných) kriviek a textu.

Vstup bude vo forme názvov vrcholov a definície (ne)orientovaných hrán.
Prípadne preddefinované konfigurácie pre Kn, Bm,n (bipartitný) a podobne...

Prípadné rozšírenia:
Alternatívny algoritmus pre vystieranie grafu,
simulácia "látky" - veľkého počtu regulárne spojených vrcholov a možnosť
uchopiť vrchol a "pokrčiť" látku (prípadne iné efekty),
exportovanie do clipboardu vo forme súradníc / LaTeX kódu.