8. Koncepty interakce viscg.uni-muenster.de www.cs.uni-paderborn.de viscg.uni-muenster.de Třídy interakčních technik • Navigace – změna pozice kamery, škálování pohledu • Výběr – identifikace objektu, sady objektů, oblasti zájmu, na které aplikujeme další operace • Filtrování – redukce velikosti dat, která mapujeme na obrazovku • Rekonfigurace – změna způsobu mapování dat na grafické entity nebo atributy • Kódování – změna grafických atributů (velikost bodů, …) • Spojování – nástroje pro spojování různých pohledů, objektů • Abstrahování/konkretizace – změna LOD • Hybridní techniky – kombinace uvedených Interakční techniky • Byla vyvinuta řada technik – sdílejí základní principy a mají společný cíl • Popíšeme si framework pro interakční techniky • Identifikace tříd interaktivních operací – operátory + operand (prostor, na který je operátor aplikován) • Definice architektury kombinující různé prostory interakce + soubor rozhraní pro řízení uživatelem Interakční operátory • Řada interakčních operací, které jsou běžně používány při vizualizaci dat a informací • Více informací: http://nm.merz- akademie.de/~jasmin.sipahi/drittes/images/K eim2002.pdf nebo http://www- users.cs.umn.edu/~echi/papers/infovis00/Chi- TaxonomyVisualization.pdf Operátory navigace • Navigace využívána pro vyhledání podmnožiny vstupních dat, která mají být prozkoumána, vyhledání orientace pohledu na data a LOD • Ve 3D je navigace určena pozicí kamery, směrem pohledu, tvarem a velikostí objemu pohledu a stupněm LOD • Navigace může být automatická nebo řízená uživatelem Automatická navigace - příklad • Průlet podél cesty nad multidimenzionálními daty pokrývající část nebo všechny orientace datového prostoru při jejich promítnutí do 2D Operátory výběru • Izolace podmnožiny komponent pro zobrazení, které podléhají dalším operacím – zvýraznění, mazání, maskování, … • Nutné vědět, jaký výsledek očekáváme (např. nahrazení stávající selekce vs. přidání do ní) • Granularita výběru – jak velkou oblast vybíráme • Výběr přímý (uživatelem) nebo nepřímý (vyhovující sadě omezení) Operátory filtrace • Redukce počtu dat, která mají být zobrazena – nastavením omezení • Určení rozsahu zájmu – několik metod: – Manipulace pomocí sliderů, okamžitý update vizualizace – Vybírání položek, které chceme zachovat/schovat – např. schovávání sloupců v Excelu Operátory filtrace Operátory filtrace • Rozdíl mezi filtrací a výběrem následovaným mazáním nebo maskováním: – Filtrování je prováděno nepřímo – často před samotným zobrazením dat, v odděleném dialogovém okně (ne nad samotnými zobrazenými daty) – Výběr je prováděn přímo – objekty označujeme přímo ve vizualizačním okně (např. klikáním myší do scény) Operátory rekonfigurace • Odhalení vlastností, vypořádání se se složitostí či měřítkem dat • Poskytnutí různých pohledů na data • Populární metody – PCA (principal component analysis) – MDS (multidimensional scaling) – Snaha o zachování vztahů mezi daty ve všech dimenzích při jejich projekci do nižší dimenze Operátory kódování • Vlastnosti dat, které nejsou viditelné v jednom způsobu vizualizace, mohou být zřejmé při použití jiného typu vizualizace • Dnešní vizualizace podporují zároveň několik typů vizualizací • Mapování, různé pohledy na data, modifikace použité barevné mapy, velikosti grafických entit, jejich tvaru, průhlednost, texturování, styl čáry a výplně, dynamické atributy – úbytek intenzity, míra přeblikávání, … • Použitím různých variací můžeme překonat řadu omezení použité techniky (např. při překrývání bodů v bodových diagramech) Operátory kódování www.nist.gov code.google.com Operátory spojování • Spojení vybraných dat v jednom pohledu s odpovídajícími daty v pohledech dalších • Řada způsobů, populární je tzv. linked selection – každý z pohledů na data může odhalit zajímavé vlastnosti Operátory spojování • Interaktivní změna výběru dat – brushing – při změně výběru v jednom pohledu se zvýrazní odpovídající spojená data v ostatních pohledech • Další silnou stránkou je specifikace komplexních omezení pro daný výběr • Možnost odpojení (unlink) některých vizualizací. Možnost určení pro každé okno, zda se má informace přenášet do dalších oken nebo ze kterých oken přijímá vstup • Lokální typy interakce (zoom) vs. sdílené mezi všemi okny (přeskládání dimenzí) Operátory abstrahování/konkretizace • Zobrazení velkého množství dat – vhodné se soustředit pouze na určitou podmnožinu dat, kde zobrazíme detaily (konkretizace) a na ostatních částech redukujeme stupeň detailu (LOD) • Distorzní operátory (funkce) – transformace, která může být aplikována na jakýkoliv typ vizualizace • Distorze je součástí původní vizualizace nebo je zobrazena v samostatném okně Operátory distorze • Lineární, nelineární; se spojitostí nultého, prvního nebo druhého řádu (i nespojité) • Mohou být aplikovány na struktury namísto spojitých prostorů – specifické pro daný typ operandu (viz dále) • Operátory mají různé „otisky“ – tvar (obdélníkové, kruhové otisky) nebo rozsah prostoru ovlivněný transformací (definován vzdálenostní funkcí) Distorze http://www.humantransit.org/marketing/ Interakční operandy a prostory • Interakční operand je část prostoru, na kterou je aplikován interakční operátor • Abychom mohli určit výsledek interaktivní operace, musíme vědět, uvnitř jakého prostoru bude interakce prováděna • Uvedeme několik odlišných tříd interakčních prostorů – součástí jejich popisu je uvedení příkladů existujících interakčních technik spadajících do jednotlivých tříd Interakční operandy a prostory • Prostor obrazovky (Pixely) • Prostor datových hodnot (Multivariate datové hodnoty) • Prostor datových struktur (Components of Data Organization) • Prostor atributů (Components of Graphical Entities) • Prostor objektů (3D Surfaces) Prostor obrazovky (Pixely) • Selekce na úrovni pixelů = každý pixel je klasifikován jako vybraný nebo nevybraný • Výběr můžeme provádět nad jednotlivými pixely, obdélníkovými či kruhovými oblastmi pixelů nebo nad oblastmi o libovolném, uživatelem definovaném, tvaru • Distorze = transformace na pixelech: (x’, y’) = f(x, y) Prostor obrazovky (Pixely) • Zvětšení (magnifikace) m(x, y) v daném bodě je derivací této transformace • Rybí oko, rubber sheet, … www.ilovephilosophy.com Prostor datových hodnot (Multivariate datové hodnoty) • Mechanismus specifikace pohledu • Změna zobrazovaných datových hodnot podobné databázovým dotazům • Např. brushing řízený daty: Prostor datových hodnot (Multivariate datové hodnoty) • Nejintuitivnější prostor pro aplikaci filtrace – redukce dat a/nebo dimenzí • Distorze prostoru pomocí transformace: • Ve skutečnosti může každá dimenze podléhat své vlastní transformační funkci: • Nejobecnější případ: ji závisí na libovolném počtu dimenzí ),...,,()',...,','( 1010 nn dddjddd  )(': iiii djdj  Prostor datových hodnot (Multivariate datové hodnoty) Prostor datových struktur (Components of Data Organization) • Data jsou strukturována do seznamů, tabulek, gridů, hierarchií, grafů • Pro každou ze struktur lze vytvořit speciální interakční mechanismus pro výběru části struktury • Zoomování v prostoru obrazovky vs. datové struktury Prostor datových struktur - příklady • Brushing založený na struktuře – výběr dat uložených v hierarchii klastrů. Interakce = např. zvýraznění dat spadajících do dané větve stromu • InterRing – radiální zobrazení struktury. Poloautomatický výběr uzlů vzhledem k jejich hierarchické struktuře InterRing - příklad Prostor datových struktur • Pro redukci množství zobrazované informace se často používá filtrace: – Vizualizace v čase – definujeme rozsah na časové ose – Grafové vizualizace – filtrace uzlů a hran, které jsou dále než uživatelem definovaný počet „skoků“ – Hierarchické vizualizace – filtrace založena na stupni hierarchie Hierarchická filtrace – příklad wiki.c2b2.columbia.edu Prostor datových struktur • Distorze na hierarchických strukturách je běžná • Data jsou uchovávána přímo ve struktuře • Formalizace distorze v prostoru datových struktur je komplikovanější • Většinu distorzí lze definovat pomocí mapování vektoru (D, S), kde D jsou data a S je struktura pro jejich uchování, na vektor (D’, S’), kde transformace může modifikovat data, strukturu nebo obojí Prostor atributů (Components of Graphical Entities) • Navigace je velmi podobná jako v prostoru datových hodnot – panning zahrnuje posun rozsahu hodnot zájmu, zoomování dosáhneme buď škálováním atributů nebo zvětšením rozsahu hodnot zájmu • Filtrace na základě atributů • V prostoru atributů často dochází k přemapování – pomocí výběrů různých rozsahů atributu nebo výběrem různých atributů pro danou vstupní množinu Prostor atributů - příklad • Nechť A je atribut dané grafické entity. Distorzní transformaci můžeme provést aplikováním funkce k:a’ = k(a). Prostor objektů (3D Surfaces) • Data jsou mapována na geometrické objekty a ty následně podléhají interakcím a transformacím • Navigace – pohyb kolem objektů a pozorování povrchů (globální pohled i detailní pohledy) • Výběr – klikání na objekty zájmu nebo zvolení cílových objektů ze seznamu • Přemapování – změna objektu, na který data mapujeme Prostor objektů • Příklady distorze – perspektivní stěny a hyperbolické projekce – varianty metody založené na prostoru obrazovky graphics.stanford.edu Prostor objektů • Proces distorze v prostoru objektů můžeme reprezentovat jako sekvenci dvou funkcí: 1. Mapování dat (obecně parametrizovaných ve dvou dimenzích) na 3D strukturu: 2. Transformace této struktury a její promítnutí na obrazovku: ),(),,( bagzyx  ),,(),( zyxhji  Vizualizace prostoru struktur • Vizualizace se zaměřuje na strukturu, která je relativně nezávislá na hodnotách, atributech a struktuře dat – příkladem je mřížka, do které se vykresluje matice bodových grafů, nebo zobrazení os • Navigace – posun stránek v nástroji založeném na tabulkové vizualizaci, zoomování na jednotlivé grafy v matici bodových grafů Vizualizace prostoru struktur • Výběr – vybírání komponent, které mají být schovány, přesunuty nebo přeskupeny • Distorze – např. table lens technika – transformace řádků a /nebo sloupců tabulky za účelem poskytnutí násobného LOD Vizualizace prostoru struktur – distorze Unifikovaný framework • Pro aplikaci interakčních operátorů na specifický prostor/operand musíme splnit několik parametrů: – Focus (střed zájmu) – umístění ve středu prostoru zájmu uživatele. Může jich být definováno více najednou, což často vyžaduje pro správnou navigaci využití násobných displejů. – Extents (rozsahy) – rozsah uvnitř prostoru definující hranice interakce. Metrika použitá pro určení rozsahu je specifická pro daný prostor – v prostoru obrazovky to mohou být pixely, zatímco v prostoru struktury to může být počet řádků v tabulce či počet hran v grafu. Unifikovaný framework – Transformace – funkce aplikovaná na entity uvnitř rozsahů. Tvar transformace může záviset na typu informace, kterou má ovlivnit. Další komponentou transformace je její stupeň neboli scale faktor transformace. – Blender (míchání) – specifikuje, jakým způsobem pracovat s částmi prostoru, které jsou zasaženy více interakcemi najednou. Například pro selekci tato operace může zahrnovat logické operace nad překrývajícími se entitami. Pro distorzi existuje několik přístupů, včetně váženého průměru, maximální hodnoty a kompozice. Unifikovaný framework Unifikovaný framework • Obrázek ukazuje pipeline zobrazující strukturu obecného procesu distorze • V každé fázi může uživatel řídit kterýkoliv (i všechny) z výše uvedených parametrů • Dosud nebyl implementován systém podporující všechny zobrazené komponenty většina vizualizačních systémů tedy podporuje jednu nebo více z nich Unifikovaný framework • Pořadí aplikování jednotlivých operací může být měněno, pouze metody v prostoru obrazovky jsou intuitivně umístěny na konec. • Pořadí operací, které je prezentováno na obrázku, považují jeho autoři za intuitivní a progresivní, nicméně tuto jejich hypotézu by bylo nutné podložit experimenty. World builder • http://www.youtube.com/watch?v=VzFpg271sm8 Microsoft’s concept of 2019 • http://www.youtube.com/watch?v=bwj2s_5e12U Interactive display window • http://www.youtube.com/watch?v=xFgvNMN2DiQ Interactive table prototype • http://www.youtube.com/watch?v=1T2veycjpTI Interactive table • http://www.youtube.com/watch?v=j9Pl-Nmp9nw