Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
courses:b4m39viz [2026/05/25 17:17] – [Question 1: Relační data - typy grafů, jak je vizualizovat, jaké úlohy ty vizualizace řeší] zapleka3courses:b4m39viz [2026/05/27 13:14] (current) – [Question 2: Odlehlé hodnoty (Outliers) – Co to je, co znamenají a k čemu slouží] zapleka3
Line 3: Line 3:
 [[https://docs.google.com/document/d/1hs0U9I88zJqfhg11oBHGQ6gKXcJD5on6AonXecsxDJI/edit?tab=t.0#heading=h.1az79lm4wx0i|VIZ Otázky z minulých let dokument]] [[https://docs.google.com/document/d/1hs0U9I88zJqfhg11oBHGQ6gKXcJD5on6AonXecsxDJI/edit?tab=t.0#heading=h.1az79lm4wx0i|VIZ Otázky z minulých let dokument]]
  
 +[[https://orgpad.info/s/fgJM6_uUP5x|Mind map]]
  
 ======= Question set 1 ======= ======= Question set 1 =======
Line 158: Line 159:
 Sugiyamův rámec (Sugiyama Framework) je široce používaný algoritmus, který řeší problém, jak prostorově uspořádat uzly u relačních dat. Sugiyamův rámec (Sugiyama Framework) je široce používaný algoritmus, který řeší problém, jak prostorově uspořádat uzly u relačních dat.
  
-  - Je určený specificky pro výpočet **hierarchického rozvržení stromů** nebo **orientovaných acyklických grafů (DAG)**. +  - Je primárně navržený pro výpočet **hierarchického rozvržení stromů** nebo **orientovaných acyklických grafů (DAG)**. Lze jej však aplikovat i na **obecné orientované grafy (s cykly)**, se kterými si poradí dočasným otočením problémových hran
-  - Je naprosto ideální pro úlohy, kde potřebujeme jasně komunikovat **hierarchii, návaznosti nebo směr toku** informací.+  - Je naprosto ideální pro úlohy, kde potřebujeme jasně komunikovat **hierarchii, návaznosti nebo hlavní směr toku** informací.
   - %%Příklad využití:%% Zobrazení prerekvizit předmětů na univerzitě (předmět A musím splnit před předmětem B), analýza závislostí v softwarovém kódu, nebo zobrazení rodokmenu.   - %%Příklad využití:%% Zobrazení prerekvizit předmětů na univerzitě (předmět A musím splnit před předmětem B), analýza závislostí v softwarovém kódu, nebo zobrazení rodokmenu.
 ++++ ++++
Line 167: Line 168:
  
   - **Horizontální vrstvy:** Všechny uzly grafu jsou úhledně seřazeny do zřetelných horizontálních vrstev (úrovní).   - **Horizontální vrstvy:** Všechny uzly grafu jsou úhledně seřazeny do zřetelných horizontálních vrstev (úrovní).
-  - **Jednosměrnost hran:** Zásadním rysem je, že **všechny hrany směřují pouze jedním směrem** (typicky shora dolů).  +  - **Převážná jednosměrnost hran:** Zásadním rysem je, že **naprostá většina hran směřuje pouze jedním směrem** (typicky shora dolů). Výjimkou jsou zpětné hrany (pokud původní data obsahovala cykly) – ty po vykreslení směřují nahoru proti hlavnímu toku
-  - **Jasná hierarchie:** Každý uzel-potomek se vždy nachází vizuálně ve vrstvě pod svým rodičem. Díky tomu algoritmus zamezuje vzniku matoucích zpětných smyček směřujících nahoru, což divákovi umožňuje okamžitě pochopit celou strukturu od kořene až po listy.+  - **Jasná hierarchie:** Každý uzel-potomek se (až na zmíněné cykly) vždy nachází vizuálně ve vrstvě pod svým rodičem. Algoritmus tak minimalizuje vizuální chaos a umožňuje divákovi okamžitě pochopit celkovou strukturu od kořenů až po listy.
 ++++ ++++
  
Line 237: Line 238:
  
   - **Dynamické mapování (Čas $\rightarrow$ Čas / Animace):** Fyzický čas přehrávání vizualizace odpovídá času v datech.   - **Dynamické mapování (Čas $\rightarrow$ Čas / Animace):** Fyzický čas přehrávání vizualizace odpovídá času v datech.
-    * *Výhoda:* Přirozené (žádná mentální konverze), dobré pro sledování vývoje 2D/3D polí (%%např.%% šíření bouře). +    **Výhoda:** Přirozené (žádná mentální konverze), dobré pro sledování vývoje 2D/3D polí (%%např.%% šíření bouře). 
-    * *Nevýhoda:* Nevhodné pro analytické úlohy. Lidská krátkodobá paměť nedokáže přesně porovnat to, co vidí teď, s tím, co viděla před chvílí.+    **Nevýhoda:** Nevhodné pro analytické úlohy. Lidská krátkodobá paměť nedokáže přesně porovnat to, co vidí teď, s tím, co viděla před chvílí.
   - **Statické mapování (Čas $\rightarrow$ Prostor):** Čas je namapován na osu nebo vizuální kanál.   - **Statické mapování (Čas $\rightarrow$ Prostor):** Čas je namapován na osu nebo vizuální kanál.
-    * *Výhoda:* Umožňuje **přímé vizuální srovnání** hodnot napříč historií.+    **Výhoda:** Umožňuje **přímé vizuální srovnání** hodnot napříč historií.
     * **Vizuální kanály pro kódování času:**     * **Vizuální kanály pro kódování času:**
       * **Pozice:** Nejčastější a nejpřesnější (osa X).       * **Pozice:** Nejčastější a nejpřesnější (osa X).
Line 376: Line 377:
 **Přímé objemové renderování** je pokročilá vizualizační technika pro zobrazení 3D objemových dat (např. CT nebo MRI skenů).  **Přímé objemové renderování** je pokročilá vizualizační technika pro zobrazení 3D objemových dat (např. CT nebo MRI skenů). 
  
-  - **Základní princip:** Na rozdíl od *nepřímé vizualizace* (která z dat nejprve vytvoří 3D geometrii, např. síť trojúhelníků pomocí Marching Cubes), DVR **neextrahují žádnou mezilehlou geometrickou reprezentaci**. Zobrazuje 3D data přímo a mapuje vlastnosti objemu na pixely obrazovky.+  - **Základní princip:** Na rozdíl od **nepřímé vizualizace** (která z dat nejprve vytvoří 3D geometrii, např. síť trojúhelníků pomocí Marching Cubes), DVR **neextrahují žádnou mezilehlou geometrickou reprezentaci**. Zobrazuje 3D data přímo a mapuje vlastnosti objemu na pixely obrazovky.
   - **Ray Marching (Paprskový pochod):** Základní algoritmus DVR. Pro každý pixel 2D obrazovky (kamery) se do 3D objemu vyšle světelný paprsek. Algoritmus po malých krocích "pochoduje" podél tohoto paprsku a v každém kroku odebere vzorek dat (interpoluje skalární hodnotu z mřížky).   - **Ray Marching (Paprskový pochod):** Základní algoritmus DVR. Pro každý pixel 2D obrazovky (kamery) se do 3D objemu vyšle světelný paprsek. Algoritmus po malých krocích "pochoduje" podél tohoto paprsku a v každém kroku odebere vzorek dat (interpoluje skalární hodnotu z mřížky).
   - **Vyhodnocení paprsku:** Nasbírané vzorky podél paprsku se musí "zploštit" do jedné barvy pixelu. To se děje dvěma způsoby:   - **Vyhodnocení paprsku:** Nasbírané vzorky podél paprsku se musí "zploštit" do jedné barvy pixelu. To se děje dvěma způsoby:
Line 496: Line 497:
     * Je to často **intuitivnější**, protože proces přirozeně odpovídá fyzikálnímu modelu (světlo se kumuluje od zdroje k pozorovateli).     * Je to často **intuitivnější**, protože proces přirozeně odpovídá fyzikálnímu modelu (světlo se kumuluje od zdroje k pozorovateli).
     * Z hlediska výpočtu potřebujeme řešit **pouze jednu rovnici** pro každý vzorek (počítá se pouze kumulace intenzity).     * Z hlediska výpočtu potřebujeme řešit **pouze jednu rovnici** pro každý vzorek (počítá se pouze kumulace intenzity).
 +  - **Nevýhody:**
 +      * Zbytečné výpočty pokud existuje neprůhledný objekt blíž ke kameře.
 ++++ ++++
  
Line 501: Line 504:
 Zde algoritmus prochází vzorky podél paprsku od **nejbližšího bodu k nejvzdálenějšímu** (od %%$i = 0$%% do %%$i = n$%%). Zde algoritmus prochází vzorky podél paprsku od **nejbližšího bodu k nejvzdálenějšímu** (od %%$i = 0$%% do %%$i = n$%%).
  
-  - **Princip:** Během průchodu se postupně kumuluje jak výsledná barva, tak i **celková průhlednost**. Algoritmus si pamatuje, kolik světla ještě může projít dále do objemu. Výpočet vyžaduje řešení **dvou rovnic** (jednu pro intenzitu a druhou pro průhlednost).+  - **Princip:** Během průchodu se postupně kumuluje jak výsledná barva, tak i **celková průhlednost**. Algoritmus si pamatuje, kolik světla ještě může projít dále do objemu. 
   - **Výhody a Časné ukončení (Early termination):**   - **Výhody a Časné ukončení (Early termination):**
     * Hlavní a naprosto klíčovou výhodou této metody je možnost **časného ukončení**.      * Hlavní a naprosto klíčovou výhodou této metody je možnost **časného ukončení**. 
     * Jakmile kumulovaná průhlednost (alpha) dosáhne hodnoty blížící se 1.0 (tj. materiál se stane plně neprůhledným), proces skládání pro daný paprsek se **okamžitě zastaví**.     * Jakmile kumulovaná průhlednost (alpha) dosáhne hodnoty blížící se 1.0 (tj. materiál se stane plně neprůhledným), proces skládání pro daný paprsek se **okamžitě zastaví**.
     * Všechny další vzorky za tímto bodem už by stejně nebyly viditelné, takže je zbytečné je počítat. To může **výrazně zrychlit renderování**, zejména u objemů s neprůhlednými strukturami.     * Všechny další vzorky za tímto bodem už by stejně nebyly viditelné, takže je zbytečné je počítat. To může **výrazně zrychlit renderování**, zejména u objemů s neprůhlednými strukturami.
 +  - **Nevýhody:**
 +      * Výpočet vyžaduje řešení **dvou rovnic** (jednu pro intenzitu a druhou pro průhlednost).
 ++++ ++++
  
Line 514: Line 519:
 Prvním zásadním problémem je **nelinearita (percepční neuniformita)** mnoha běžných barevných prostorů (např. RGB, HSV). Prvním zásadním problémem je **nelinearita (percepční neuniformita)** mnoha běžných barevných prostorů (např. RGB, HSV).
   - V těchto prostorech matematická vzdálenost mezi dvěma barvami neodpovídá tomu, jak rozdíl vnímá lidské oko. Stejný číselný rozdíl v datech se může v jedné části barevného spektra jevit jako obrovský skok a v jiné jako neviditelná změna.   - V těchto prostorech matematická vzdálenost mezi dvěma barvami neodpovídá tomu, jak rozdíl vnímá lidské oko. Stejný číselný rozdíl v datech se může v jedné části barevného spektra jevit jako obrovský skok a v jiné jako neviditelná změna.
 +  - Odstín neimplikuje řazení, jas ano.
 +  - Odstín má vyšší rozlišitelnost než jas a sytost.
   - **Duhová škála (Rainbow / Jet Colormap):** Je odstrašujícím příkladem tohoto problému. Není percepčně uniformní v odstínu ani v jasu. Vytváří **falešné (umělé) hrany** v místech rychlého vizuálního přechodu (např. kolem žluté a tyrkysové) a naopak skrývá detaily v oblastech, kde se barva mění vizuálně pomalu (např. v širokém zeleném pruhu).   - **Duhová škála (Rainbow / Jet Colormap):** Je odstrašujícím příkladem tohoto problému. Není percepčně uniformní v odstínu ani v jasu. Vytváří **falešné (umělé) hrany** v místech rychlého vizuálního přechodu (např. kolem žluté a tyrkysové) a naopak skrývá detaily v oblastech, kde se barva mění vizuálně pomalu (např. v širokém zeleném pruhu).
   - **Řešení:** Pro kvantitativní data je nutné používat percepčně uniformní prostory, jako je **CIELAB** nebo **HCL** (např. škály Viridis nebo Plasma).   - **Řešení:** Pro kvantitativní data je nutné používat percepčně uniformní prostory, jako je **CIELAB** nebo **HCL** (např. škály Viridis nebo Plasma).
Line 674: Line 681:
 **1. Kontrola a ověřování analytických modelů (např. Regrese):** **1. Kontrola a ověřování analytických modelů (např. Regrese):**
   - Pokud při automatizované analýze aplikujeme na data matematický model (např. proložíme je regresní přímkou), i **jeden jediný silný outlier dokáže drasticky změnit sklon a posun této přímky**, což vede ke zcela chybné interpretaci celého vztahu.   - Pokud při automatizované analýze aplikujeme na data matematický model (např. proložíme je regresní přímkou), i **jeden jediný silný outlier dokáže drasticky změnit sklon a posun této přímky**, což vede ke zcela chybné interpretaci celého vztahu.
-  - Vizualizace (např. zobrazení bodového grafu s proloženou přímkou) nám umožní okamžitě vidět, že model selhává kvůli odlehlé hodnotě. Můžeme ji vizuálně identifikovat, interaktivně odfiltrovat a sledovat, jak se model zpřesní pro zbytek dat. (Slavným příkladem důležitosti vizualizace je *Anscombův kvartet*).+  - Vizualizace (např. zobrazení bodového grafu s proloženou přímkou) nám umožní okamžitě vidět, že model selhává kvůli odlehlé hodnotě. Můžeme ji vizuálně identifikovat, interaktivně odfiltrovat a sledovat, jak se model zpřesní pro zbytek dat. (Slavným příkladem důležitosti vizualizace je **Anscombův kvartet**). 
 +{{:courses:pasted:20260527-131216.png?350}}
  
 **2. Praktické aplikace (Detekce anomálií):** **2. Praktické aplikace (Detekce anomálií):**
Line 680: Line 688:
   - **Kyberbezpečnost:** Hledání abnormální aktivity v síti, která indikuje pokus o prolomení nebo zero-day útok.   - **Kyberbezpečnost:** Hledání abnormální aktivity v síti, která indikuje pokus o prolomení nebo zero-day útok.
   - **Bankovnictví a finance:** Detekce podvodů s kreditními kartami (kdy transakce neodpovídá typickému chování uživatele).   - **Bankovnictví a finance:** Detekce podvodů s kreditními kartami (kdy transakce neodpovídá typickému chování uživatele).
-  - V těchto doménách se běžně využívá *Vizuální analytika* a speciální mantry jako "Search, Show Context, Expand on Demand", protože ukazovat všechny miliardy normálních transakcí nedává smysl.+  - V těchto doménách se běžně využívá **Vizuální analytika** a speciální mantry jako "Search, Show Context, Expand on Demand", protože ukazovat všechny miliardy normálních transakcí nedává smysl.
 ++++ ++++
  
Line 834: Line 842:
 ---- ----
  
 +======= Question set 11 =======
 +
 +===== Question 1: Vizuální proměnné - pre-pozornostní vnímání (popout) a jeho limity =====
 +
 +++++ 1. Co znamená pre-pozornostní vnímání (Vizuální popout)|
 +**Pre-pozornostní zpracování (Pre-attentive processing)** je rychlé, paralelní a nízkoúrovňové zpracování vizuálních informací naším mozkem. Probíhá zcela automaticky, bez nutnosti soustředěné a vědomé pozornosti na daný úkol. 
 +
 +Výsledkem tohoto zpracování je **vizuální popout efekt** – cílová položka s odlišnou vlastností zkrátka "okamžitě vyskočí" z obrazu a upoutá náš zrak.
 +  - Je nezávislé na počtu rušivých prvků (distraktorů) v zorném poli (zda je na pozadí 10 nebo 100 prvků, cíl najdeme stejně rychle).
 +  - Je velmi rychlé (doba reakce je pod 200–250 ms).
 +  - Výrazně snižuje kognitivní zátěž uživatele při vizuální analýze.
 +++++
 +
 +++++ 2. Které vizuální proměnné LZE vnímat pre-pozornostně (Příklady)|
 +Lidský vizuální systém dokáže pre-pozornostně zpracovat celou řadu základních vizuálních vlastností (proměnných). Patří mezi ně například:
 +  - **Odstín barvy (Color hue):** Např. jeden červený bod okamžitě vyskočí v moři modrých bodů.
 +  - **Tvar (Shape):** Např. jeden kruh vyskočí v poli tvořeném samými čtverci.
 +  - **Velikost, délka a šířka:** Např. jedna výrazně delší čára mezi krátkými čarami.
 +  - **Orientace / Sklon:** Např. jedna šikmá čára mezi samými svislými čarami.
 +  - **Intenzita (Svítivost):** Např. jeden velmi tmavý bod na světlém pozadí.
 +  - **Pozice, Směr pohybu nebo 3D hloubka.**
 +++++
 +
 +++++ 3. Co NELZE vnímat pre-pozornostně|
 +Pokud informace nelze zpracovat pre-pozornostně, mozek musí přejít na **sekvenční prohledávání** (prohlíží prvek po prvku), což je pomalé a kognitivně náročné. Děje se to typicky ve dvou případech:
 +
 +  - **Konjunkce (kombinace) vlastností:** Pozorovatel nemůže rychle a přesně najít cíl, pokud tento cíl hledá na základě **kombinace dvou a více vlastností**, přičemž tyto vlastnosti se vyskytují i u rušivých prvků. 
 +    * **Příklad:** Hledáme "červený kruh". Na pozadí jsou ovšem "červené čtverce" a "modré kruhy". Ani barva, ani tvar zde nejsou pro hledaný prvek unikátní. Zrak nedokáže udělat paralelní průnik těchto dvou vlastností a my musíme obrázek prohledávat sekvenčně.
 +  - **Text:** Čtení a hledání konkrétního slova v bloku textu (např. najít slovo "VOJÁK" ve shluku náhodných písmen) není pre-pozornostní, vyžaduje vždy aktivní čtení a soustředění.
 +++++
 +
 +
 +===== Question 2: Izočára - jak vytvořit z dat ve 2D čtvercové mřížce =====
 +
 +++++ 1. Definice a algoritmus Marching Squares|
 +**Izočára (kontura / izolinie)** je čára, která spojuje body mající naprosto stejnou, konstantní skalární hodnotu (tzv. izo-hodnotu, např. vrstevnice na mapě výšek nebo izobary u tlaku).
 +
 +Pokud máme data zadaná jako 2D strukturovanou čtvercovou mřížku (hodnoty jsou uložené v uzlech mřížky), standardním algoritmem pro nalezení a vykreslení izočar je **Marching Squares** (pochodující čtverce). 
 +++++
 +
 +++++ 2. Krok 1: Klasifikace uzlů a hledání průsečíků na hranách|
 +Algoritmus zpracovává mřížku následujícím způsobem:
 +  - **Klasifikace uzlů:** Pro každý uzel (vrchol) mřížky se určí, zda je jeho datová hodnota **větší nebo menší** než naše hledaná izo-hodnota %%$v$%%. (Vizuálně si můžeme uzly obarvit, např. modrá pro %%$>$%% a červená pro %%$<$%%).
 +  - **Dělení hran:** Algoritmus prochází každou buňku (čtverec tvořený 4 uzly). Podívá se na každou její hranu. Pokud má hrana jeden uzel s hodnotou nad izo-hodnotou a druhý pod ní, znamená to, že izočára musí tuto hranu někde **protnout**.
 +  - **Výpočet průsečíku:** Přesný bod průsečíku na hraně se spočítá pomocí **lineární interpolace**. Výpočet zjistí přesnou pozici %%$q$%% na základě hodnot obou uzlů hrany (%%$v_i$%%, %%$v_j$%%) a hledané izo-hodnoty %%$v$%%:
 +    %%$q = \frac{p_i(v_j - v) + p_j(v - v_i)}{v_j - v_i}$%%
 +++++
 +
 +++++ 3. Krok 2: Konstrukce izočáry uvnitř buňky (Topologické stavy)|
 +Jakmile známe průsečíky na hranách čtverce, musíme je uvnitř čtverce spojit čárou.
 +  - 2D čtverec má 4 vrcholy. Každý může být buď nad, nebo pod izo-hodnotou, což nám dává %%$2^4 = 16$%% možných **topologických stavů**.
 +  - Pomocí zrcadlení a inverze (symetrie) se těchto 16 stavů zredukuje na několik málo základních (často uváděno 8).
 +  - Algoritmus obsahuje pevně danou **vyhledávací tabulku (lookup table)**. Ta pro každý topologický stav (podle toho, které rohy jsou "nad" a které "pod") přesně definuje, které průsečíky se mají uvnitř čtverce spojit úsečkou. Izočára tak po malých segmentech projde celou mřížkou.
 +++++
 +
 +++++ 4. Problém ambiguity (nejednoznačnosti) a jeho řešení|
 +Marching Squares naráží na zásadní problém, pokud dojde k **ambiguóznímu stavu**:
 +  - **Vznik:** Nastává při šachovnicovém rozložení hodnot na uzlech čtverce (např. stavy 1010 nebo 0101). Dva diagonálně protilehlé vrcholy jsou nad izo-hodnotou a zbylé dva pod ní. 
 +  - **Důsledek:** Na hranách vzniknou 4 průsečíky. Existují dvě naprosto platné možnosti, jak je uvnitř čtverce spojit (buď "shora dolů", nebo "zleva doprava"). Pokud algoritmus vybere špatnou variantu vzhledem k sousedním buňkám, vznikne v izočáře díra (nespojitost).
 +  - **Řešení:** 
 +    * **Možnost 1:** Rozdělení čtverce na dva trojúhelníky. Trojúhelníky (se 3 vrcholy) nemají ambiguózní stavy, ale volba diagonály stále ovlivňuje výsledek.
 +    * **Možnost 2 (Pokročilejší):** Aplikace tzv. **Asymptotického rozhodovače (Asymptotic Decider)**. Ten pomocí bilineární interpolace zjistí exaktní hodnotu uprostřed buňky (v průsečíku asymptot hyperbol) a podle toho, zda je tento střed nad nebo pod izo-hodnotou, spolehlivě vybere správné propojení čar.
 +++++
  
 ---- ----
Line 965: Line 1036:
 ++++ ++++
  
 +----
 +
 +======= Question set 14 =======
 +
 +===== Question 1: Prostorová pole - popis skalárních, vektorových a volumetrických polí, techniky zobrazení a nutnost topologie =====
 +
 +++++ 1. Prostorová pole a nutnost znát topologii mřížky|
 +Prostorová pole jsou datové struktury, které obsahují atributy distribuované v nějakém fyzickém nebo abstraktním prostoru. Skládají se ze dvou hlavních částí: **atributů** (samotné hodnoty) a **mřížky (grid)**. 
 +
 +Mřížka diskretizuje prostor pomocí uzlů (pozic) a buněk. Klíčovou vlastností mřížky je její **topologie (konektivita)**.
 +  - **Co to je:** Konektivita definuje, jak jsou jednotlivé uzly navzájem propojeny a jaké tvoří buňky (např. trojúhelníky, čtverce, čtyřstěny).
 +  - **Proč je nutná:** V reálném světě máme data změřena jen v diskrétních bodech (uzlech). Abychom zjistili hodnotu kdekoli jinde v prostoru (abychom zrekonstruovali spojitý model), musíme data **interpolovat**. Způsob, jakým je mřížka definována (její konektivita), přímo určuje, ze kterých sousedních bodů se bude interpolovat. 
 +  - **Důsledek:** Pokud změníme topologii (např. u 4 bodů ve čtverci změníme orientaci úhlopříčky, která je dělí na dva trojúhelníky), výsledná interpolovaná hodnota uprostřed se může drasticky změnit a vizualizace bude ukazovat jiná data.
 +++++
 +
 +++++ 2. Skalární a volumetrická pole + techniky zobrazení|
 +**Skalární pole:** Každému bodu v prostoru je přiřazena přesně jedna číselná hodnota (skalár). Příkladem je rozložení teploty nebo tlaku na 2D mapě.
 +  - **Techniky pro 2D:** 
 +    * **Mapování na barvu:** Hodnota se převede na barvu pomocí percepčně uniformní barevné škály (vytvoří se "teplotní mapa").
 +    * **Konturování (Izočáry):** Spojování bodů se stejnou hodnotou. Používá se algoritmus **Marching Squares**. Lze kombinovat s barevným pruhováním (color banding).
 +
 +**Volumetrická (objemová) pole:** Jedná se o 3D skalární pole. Hodnoty jsou definovány ve 3D prostoru (často v pravidelné voxelové mřížce). Příkladem je CT nebo MRI sken lidského těla (mapuje se hustota tkáně).
 +  - **Techniky pro 3D (Nepřímé):** Převádí data na 3D geometrii. Patří sem **Řezné roviny** (2D řezy objemem) nebo extrakce 3D izo-povrchů pomocí **Marching Cubes** či **Marching Tetrahedrons**.
 +  - **Techniky pro 3D (Přímé - Direct Volume Rendering):** Neextrahují geometrii, obraz se počítá rovnou na pixely. Základem je **Ray Marching** (paprskový pochod) s využitím paprskových funkcí (MIP - projekce maximální intenzity, AIP - průměrná projekce) nebo pokročilejší **Integrace paprsku** s využitím přenosové funkce (transfer function), která určuje barvu a průhlednost (opacity) voxelů pro pohled "dovnitř" objemu.
 +++++
 +
 +++++ 3. Vektorová pole + techniky zobrazení|
 +**Vektorová pole:** Každému bodu v prostoru je přiřazen vektor, který má **směr i velikost (magnitudu)**. Příkladem je rychlost a směr větru nebo proudění tekutin (voda, vzduch). Klíčovými vlastnostmi k vizualizaci jsou často divergence (zdroje a propady) a vorticita (rotace/víry).
 +  - **Techniky zobrazení:**
 +    * **Glyfy (Šipky):** V uzlech mřížky se vykreslí geometrický objekt (šipka), jehož orientace ukazuje směr a délka ukazuje velikost vektoru. Trpí na překrývání (clutter) a jsou nevhodné pro zobrazení kontinuity.
 +    * **Proudnicové objekty (Trasování částic):** Do pole se vypustí virtuální částice a pomocí numerické integrace (např. Eulerova metoda) se počítá jejich dráha. Patří sem **Proudnice** (Streamlines - pro statická pole), **Trajektorie** (Pathlines - pro časově závislá pole) nebo **Proudové pásky** (Stream ribbons - navíc ukazují rotaci/vorticitu).
 +    * **Texturové metody (LIC - Line Integral Convolution):** Poskytují hustou vizualizaci vektorového pole v každém pixelu obrazu. Využívají vstupní bílý šum a korelují hodnoty pixelů podél směru proudnic, čímž vzniká plynulá textura vizuálně kopírující tok. Lze je obarvit podle velikosti vektoru (Color-mapped LIC).
 +++++
 +
 +
 +===== Question 2: Force-directed layout - popis, algoritmy a vhodné použití =====
 +
 +++++ 1. Co je Force-directed layout a k čemu je vhodný|
 +**Metody řízené silami (Force-directed layouts)** představují fyzikálně inspirovaný přístup k výpočtu rozvržení (pozic uzlů) v relačních datech.
 +  - **Princip:** Na graf se pohlíží jako na systém fyzikálních objektů. Uzly představují hmotná tělesa nebo částice a hrany fungují jako síly (např. pružiny), které na ně působí. Algoritmus hledá rovnovážný stav – konfiguraci s **lokálně minimální energií**, kde se přitažlivé a odpudivé síly vyruší a součet sil působících na každý uzel je roven nule.
 +
 +**Vhodné a nevhodné použití:**
 +  - **Kde excelují:** Jsou naprosto ideální pro **obecné neorientované sítě** (např. sociální sítě). Skvěle slouží pro **identifikaci shluků (komunit)**, protože hustě propojené skupiny uzlů se fyzicky přitáhnou k sobě. Také velmi dobře odhalují inherentní **symetrie** grafu.
 +  - **Kde selhávají:** 
 +    * U stromů a hierarchií (zcela zničí vizuální strukturu rodič-potomek, tam patří Sugiyama).
 +    * U velmi velkých a hustých grafů vytvářejí nečitelný zmatek plný překrývajících se čar (tzv. **hairball efekt**).
 +    * Nijak **neberou v úvahu křížení hran** (nesnaží se ho primárně minimalizovat).
 +    * Často uvíznou v lokálním minimu (graf se "zauzluje" a algoritmus nenajde to nejlepší možné "rozmotané" řešení).
 +++++
 +
 +++++ 2. Eadesův model a Kamada-Kawai|
 +**Eadesův model (1984):**
 +Jeden z prvních a nejjednodušších modelů. Uzly se chovají jako ocelové kroužky a hrany jako pružiny.
 +  - **Přitažlivá síla:** Působí **pouze** mezi uzly, které jsou **spojené hranou**. Snaží se uzly přitáhnout k sobě na ideální vzdálenost.
 +  - **Odpudivá síla:** Působí vzájemně mezi **všemi** uzly v grafu (i těmi nespojenými). Brání tomu, aby se všechny uzly shlukly do jednoho bodu. Klesá se vzdáleností.
 +  - Algoritmus v cyklu počítá celkovou sílu na každý uzel a posouvá ho o malý kousek v jejím směru.
 +
 +**Model Kamada-Kawai (1989):**
 +Jedná se o čistě **energetický model**.
 +  - **Princip:** Předpokládá, že existují pružiny mezi **úplně všemi páry uzlů** (nejen mezi těmi, které spojuje hrana).
 +  - Ideální délka této pružiny je definována jako **nejkratší cesta (shortest path)** mezi danými dvěma uzly v topologii grafu.
 +  - Cílem je minimalizovat globální potenciální energii. Algoritmus neposouvá všechny uzly naráz, ale najde uzel s maximální energií (ten nejvíce "tažený" mimo ideální pozici) a přesune ho do rovnováhy pomocí numerické metody Newton-Raphson.
 +++++
 +
 +++++ 3. Model Fruchterman-Reingold|
 +**Fruchterman-Reingold (1991)** je vylepšením Eadesova modelu a v praxi je velmi oblíbený pro svou rychlost a eleganci.
 +  - **Fyzikální analogie:** Každý uzel je elektricky nabitá částice (všechny uzly se navzájem odpuzují). Každá hrana je elastická pružina (spojené uzly se přitahují).
 +
 +**Klíčový prvek - Zavedení "Teploty" (Simulované žíhání):**
 +  - Aby se algoritmus nezasekl ve špatném lokálním minimu, používá koncept teploty (inspirovaný metalurgií). Teplota funguje jako **maximální limit pro velikost posunu uzlu** v jedné iteraci.
 +  - Na začátku se teplota nastaví vysoko. Systém je "horký", uzly mohou dělat obrovské skoky a graf se může radikálně přeskládat (rozmotat).
 +  - V každé další iteraci se teplota o něco **sníží (systém chladne)**. Pohyby uzlů se stávají stále menšími a jemnějšími, až nakonec "zamrznou" na svém místě a systém dosáhne přesného rovnovážného stavu.
 +++++
  
Navigation

Playground

QR Code
QR Code courses:b4m39viz (generated for current page)