Zelo verjetno te novice ne bi uvrstili v revijo, saj je knjižnica namenjena ozkemu krogu uporabnikov, če je skoraj v celoti ne bi »napisal« Slovenec. Programske kode, ki jih ni napisal Barbič, so prispevali Fun Shing Sin, Daniel Schroeder in Christopher Twigg. Knjižnica ima naslov Vega, po matematiku in fiziku Juriju Vegi, rojenem leta 1754, ki je med drugim znan po izračunu vrednosti števila PI na deset decimalk natančno. Barbiča je ameriška tehnološka revija Technology review uvrstila med najpomembnejše svetovne inovatorje, mlajše od 35 let.

Vega je računsko učinkovita in stabilna knjižnica za fiziko tridimenzionalne simulacije deformacije kompleksnih 3D-objektov, napisana v programskem jeziku C/C++. Zasnovana je tako, da modelira velike deformacije, vključno z geometričnimi in nelinearnimi deformacijami materiala, učinkovito pa simulira tudi linearne sisteme. Knjižnica je prostokodna, izdana pod licenco »3-clause BSD license«, kar pomeni, da je dovoljena njena uporaba za akademske in komercialne namene. Uporabniku omogoča, da v realnem času simulira in premika zapletene (kompleksne) objekte, jih upogiba, razteza in zvija. Prilagojena je za hitrost izračuna (delovanja programa), zato podpira delovanje v večjedrnem računalniškem sistemu in lahko animira gibanje trdnega 3D-objekta glede na vsako zunanjo silo, ki deluje na objekt. V bistvu ne obstaja podobna prostokodna knjižnica, ki ponuja tako široko paleto materialov in vključenih metod simulacij deformacije. Sposobna je za vsako 3D tetraedrsko (piramidno) ali kubično mrežo izračunati notranje elastične sile in njihove gradiente v vsaki konfiguraciji deformacije. Različnim delom mreže (gre za predstavitev 3D-objekta z mrežo na zaslonu) lahko dodelimo poljubne lastnosti materialov.

Edinstvena je v izvajanju največkrat uporabljenih metod simulacije deformacije objekta nad modelom, ki je predstavljen (oblikovan) s piramidami. Pri tej predstavitvi 3D-objekta ne gre le za prikaz njegove površine, temveč tudi notranjosti. V nekaj sekundah lahko »vega« simulira tako geometrično preproste objekte kot zapletene objekte, ki jih sestavlja nekaj tisoč »piramid«. Veliko »delov« knjižnice so uporabljali vrsto let, pred izdajo prostokodne različice pa je Barbič uredil in optimiziral trenutni paket, ki ga namerava tudi nadgrajevati. »Veliko podobnih 'knjižnic' ali delov programske kode, ki so nastali znotraj akademskih raziskovalnih projektov in so dosegljivi na spletu, je preveč specifičnih, preveč zapletenih in med seboj prepletenih,« je povedal Barbič in dodal: »Vega je splošno uporabna, dobro dokumentirana in visokomodularna knjižnica, ki omogoča neodvisno večkratno uporabo.« Koda je hkrati tudi napisana tako (brez nepotrebne zapletenosti), da jo lahko uporabi čim več programerjev.

Čeprav je prostokodna, kar pomeni ne samo, da jo lahko uporablja vsak, temveč da jo spreminja, nadgrajuje, je plod osemletnega dela. Namenjena je znanstvenikom in inženirjem z znanjem numerične simulacije, izdelavi (zahtevne) računalniške grafike in matematikom, ki jo lahko vključijo v svoje projekte. Njena moč je v razdrobljenosti na manjše dele (knjižnice C/C++), ki so minimalno odvisni drug od drugega in jih zato v večini primerov lahko uporabimo samostojno. Paket vega vsebuje 50 tisoč vrstic programske kode.

Moj mikro, september – oktober 2012 | Jan Kosmač |