i Uvodni stranka

Transkript

i Uvodni stranka
Uvodni stranka
i
ii
České vysoké učení technické
Fakulta elektrotechnická
Katedra počítačů
Bakalářská práce
Simulace a vizualizace polární záře
Martin Bláha
Vedoucí práce: Ing. Jaroslav Sloup
Studijní program: Elektrotechnika a informatika
Obor: Výpočetní technika
18.5.2011
iv
v
Poděkování
Děkuji panu Ing. Jaroslavu Sloupovi za cenné rady, které mi poskytl při zpracování této
práce a také za jeho obrovskou trpělivost během konzultací.
vi
vii
Prohlášení
Prohlašuji, že jsem práci vypracoval samostatně a použil jsem pouze podklady uvedené
v přiloženém seznamu.
Nemám závažný důvod proti užití tohoto školního díla ve smyslu §60 zákona č. 121/2000
Sb. O právu autorském, o právech souvisejících s právem autorským a o změně některých
zákonů (autorský zákon).
V Praze dne 18.5. 2011
viii
ix
Abstract
This work contains the description of the way how could be realized the simulation
and visualisation of the aurora borealis, also know as northen lights. There are used
nowadays known frameworks for the realization of our aim, the simulation and
visualisation of the aurora. Because of better understanding of all parts of these methods,
we try to explain the physical nature of the aurora and describe all elements which have
some influence on the final shape of the aurora and elements which help to control the
dynamic of the aurora.
After the decription of the physical basics of the aurora, we describe all known
simulating methods, where we explain how we can simulate these described physical parts.
The comparison of our generated pictures of the aurora with the realistic
photographas is a part of this work, too.
Abstrakt
Tato práce obsahuje informace o realizaci vizualizace a simulace polární záře.
Vychází přitom z dosud známých postupů implementace pro realizaci našeho cíle. Pro lepší
pochopení jednotlivých částí, popsaných v již existujících postupech, se zde pokusíme
vysvětlit, jak polární záře funguje z hlediska fyziky. Představíme si faktory ovlivňující
konečný tvar a následnou dynamiku polární záře.
Kromě představení základních fyzikálních principů polární záře si pomocí těchto
informací postupně popíšeme jednotlivé metody pro vizualizaci a simulování polární záře a
ukážeme si, jaké postupy slouží k simulování událostí ovlivňujících výsledný tvar záře.
Obsahem práce je i porovnání vygenerovaných obrázků polární záře se skutečnými
fotografiemi.
x
Obsah
1
Kapitola 1 .................................................................................................................. 1
Úvod ................................................................................................................................. 1
2
Kapitola 2 .................................................................................................................. 3
Teorie polární záře ............................................................................................................. 3
2.1
Vliv Slunce ........................................................................................................ 4
2.2
Vliv zemského magnetického pole ..................................................................... 4
2.3
Vyzařování barevného světla .............................................................................. 5
2.4
Tvar a rozdělení polární záře podle složení......................................................... 6
2.5
Stálost tvarů polární záře .................................................................................... 7
2.6
Oblast výskytu ................................................................................................... 9
3
Kapitola 3 ................................................................................................................ 11
Existující metody simulace .............................................................................................. 11
3.1
Simulace pásů a oblouků .................................................................................. 11
3.1.1
Plošný model (Sheet model) ..................................................................... 11
3.1.2
Cesta elektronového svazku ..................................................................... 13
3.1.3
Určení barevného spektra a intenzity světla .............................................. 15
3.1.4
Vykreslení ................................................................................................ 15
3.1.5
Antialiasing .............................................................................................. 17
3.1.6
Dynamika ................................................................................................. 19
3.2
Tančící světla (Dancing lights) ......................................................................... 19
3.2.1
Výpočty pro určení spirálovitého pohybu ................................................. 20
3.2.2
Algoritmus spirálovitého pohybu (Warp algorithm) .................................. 21
3.2.3
Určení náboje ........................................................................................... 22
3.2.4
Poissonova rovnice................................................................................... 22
3.2.5
Implementace multimřížkové metody....................................................... 23
3.2.6
Rychlost a nová pozice elektronů.............................................................. 24
3.2.7
Další postup ............................................................................................. 24
4
Kapitola 4 ................................................................................................................ 27
Analýza a návrh řešení .................................................................................................... 27
4.1
Zvolená metoda vizualizace a simulace ............................................................ 27
4.2
Návrh na rozšíření ............................................................................................ 27
4.3
Návrh uživatelského rozhraní ........................................................................... 28
4.4
Analýza aplikace .............................................................................................. 28
4.4.1
Hlavní zobrazovací smyčka ...................................................................... 28
4.4.2
Výpočet polární záře ................................................................................ 29
5
Kapitola 5 ................................................................................................................ 33
Implementace .................................................................................................................. 33
5.1
Vývojové prostředí a jazyk............................................................................... 33
5.2
Datové typy ..................................................................................................... 33
5.3
Implementace jednotlivých částí ...................................................................... 33
6
Kapitola 6 ................................................................................................................ 41
xi
xii
OBSAH
Výsledky..........................................................................................................................41
6.1
Generování obrázku pro různé druhy polární záře .............................................41
6.2
Vliv změny magnetického vektoru....................................................................43
6.3
Generování obrázku a použití antialiasingu .......................................................43
6.4
Pozorování z různých míst ................................................................................45
6.5
Dynamika polární záře ......................................................................................45
6.6
Porovnání generovaných obrázků s původní metodou .......................................47
6.7
Měření rychlosti ...............................................................................................47
Kapitola 7 ........................................................................................................................49
Závěr ...............................................................................................................................49
A. Příloha A ................................................................................................................. A1
Barevný prostor CIE XYZ .............................................................................................. A1
B. Příloha B ................................................................................................................. B1
Tabulky odečtených hodnot ze spektrálních křivek a křivek intenzit ................................ B1
C. Příloha C ................................................................................................................. C1
Uživatelská příručka ....................................................................................................... C1
C.1
Systémové požadavky...................................................................................... C1
C.2
Instalace aplikace............................................................................................. C1
C.3
Ovládání aplikace ............................................................................................ C1
D. Příloha D ................................................................................................................. D1
Obsah CD ....................................................................................................................... D1
Seznam obrázků
Obrázek 1.1 Polární záře zachycená z vesmíru [20]. .......................................................... 1
Obrázek 2.1 Kristian Bikerland ......................................................................................... 3
Obrázek 2.2 Erupce na Slunci ............................................................................................ 4
Obrázek 2.3 Ilustrace magnetosféry Země [11]. ................................................................. 5
Obrázek 2.4 Ukázka pohybu nabitých částic a jejich vychýlení po kolizi [3]...................... 6
Obrázek 2.5 Druhy zakřivení pozorované v polární záři..................................................... 7
Obrázek 2.6 Rozdělení podle tvaru a struktury záře ........................................................... 8
Obrázek 2.7 Fotografie polární záře typu koruna [12]. ....................................................... 8
Obrázek 2.8 Fotografie polární záře typu oblouk [14]. ....................................................... 9
Obrázek 2.9 Zobrazení aurálního oblouku kolem magnetického pólu Země [19]. .............. 9
Obrázek 3.1 Sinusová křivka určující polohu počátečních bodů paprsků [3]. ................... 12
Obrázek 3.2 Ukázka nahrazení části křivky záhybem ...................................................... 13
Obrázek 3.3 Jednotlivé fáze pro určení dalšího bodu kolize, ............................................ 14
Obrázek 3.4 Křivky určující intenzity polární záře, .......................................................... 16
Obrázek 3.5 Ilustrace mapování bodu ze světových souřadnic do pole okna[3] ................ 17
Obrázek 3.6 Použití Gaussova filtru ................................................................................ 18
Obrázek 3.7 Výsledky metody simulace pomocí plošné metody ...................................... 19
Obrázek 3.8 Část proudu částic modelovaný pomocí pruhu ............................................. 21
Obrázek 3.9Popis namanipulaces nábojm mřížce............................................................. 22
Obrázek 3.10 Popis V-cyklu[4] ........................................................................................ 24
Obrázek 3.11 Obrázky generované pomocí metody plasmového modelu[4] ..................... 25
Obrázek 4.1 Popis hlavní vykreslovací smyčky................................................................ 30
Obrázek 4.2 Popis funkčních částí bloku pro výpočet polární záře. .................................. 31
Obrázek 6.1 Porovnání skutečného[3] a námi generovaného oblouku. ............................. 41
Obrázek 6.2 porovnání skutečného[3] a generovaného paprskovitého oblouku. ............... 42
Obrázek 6.3 Porovnání skutečné[10] a námi generované drapérie. ................................... 43
Obrázek 6.4 Vliv změny směru vektoru magnetického pole Země. .................................. 44
Obrázek 6.5 Vliv antialiasingu na generovaný obrázek. ................................................... 44
Obrázek 6.6 Generované obrázky polární záře typu oblouk, ............................................ 45
Obrázek 6.7 Průběh dynamiky polární záře (oblouk). ...................................................... 46
Obrázek 6.8 Porovnání metody modelu plošky[3] a naší upravené metody. ..................... 47
Obrázek 6.9 Časové průběhy ovlivněné rozlišením .......................................................... 48
Obrázek A.1Popis barevných srovnávacích funkcí prostoru RGB[7]............................... A1
Obrázek A.2 Popis barevných srovnávacích funkcí prostoru XYZ[7].............................. A2
Obrázek C.1 Ukázka vyvolaného menu. .......................................................................... C2
Obrázek D.1 Ukázka obsahu CD .................................................................................... D1
xiii
xiv
SEZNAM OBRÁZKŮ
Seznam tabulek
Tabulka 5.1 Odečtené hodnoty srovnávacích funkcí prostoru XYZ .................................. 38
Tabulka 5.2 Odečtené hodnoty srovnávacích funkcí prostoru XYZ .................................. 38
Tabulka 6.1 Naměřené hodnoty určující dobu k vykreslení generovaného obrázku .......... 47
Tabulka 6.2 Zobrazení doby výpočtu ............................................................................... 48
Tabulka B.1 Odečtené hodnoty spektrálních křivek. ........................................................ B1
Tabulka B.2 Hodnoty intenzit pro typ oblouk. ................................................................. B2
Tabulka B.3 Hodnoty intenzit paprskovitého oblouku. ..................................................... B2
Tabulka B.4 Hodnoty intenzit pro tvar drapérie. .............................................................. B3
xv
xvi
SEZNAM TABULEK
1
Kapitola 1
Úvod
Polární záře je zajímavý světelný úkaz ve vnější vrstvě atmosféry, ionosféře a
nejčastěji se objevuje v podobě zkrouceného závěsu či záclony.
Polární záře je také známá pod pojmem „Aurora Borealis“, což se dá přeložit jako
rudý úsvit severu [6], pro severní polokouli, kdežto na jižní polokouli se nazývá jako
„Aurora Australis“. Termín Aurora, latinsky svatozář nebo také antický bůh úsvitu, použil
jako první Galileo Galilei a používá se dodnes.
Polární záři lze spatřit nejen na naší planetě, ale i na jiných planetách se silným
magnetickým polem jako například Saturn či Jupiter.
Obrázek 1.1 Polární záře zachycená z vesmíru [20].
Vizualizace a simulace polární záře umožňuje sledování vzácných jevů, které nejsou
na Zemi příliš časté, přestože ve vesmíru nejsou ničím neobvyklým (Obrázek 1.1). Jedním
z mnoha příkladů je třeba plazma, která se na Zemi vyskytuje spíše jen v laboratorních
zařízeních.
Simulace proto může být přínosem pro studium chování těchto vzácných jevů a díky
1
2
KAPITOLA 1. ÚVOD
tomu i pro předpověď dalšího chování opravdové polární záře.
Úkolem této práce je realizovat simulaci a vizualizaci polární záře pomocí dosud
dostupných metod. Výstupem programu by měly být obrázky, které respektují dynamiku
v tomto jevu a měly by odpovídat skutečným fotografiím, na kterých je polární záře
zachycena. Pomocí pohybu ve scéně a možnosti měnit směr vektoru magnetického pole
Země, by mělo být umožněno sledovat chování polární záře z různých pozic a úhlů.
V této práci se nejprve seznámíme s polární září, představíme si vývoj v oblasti
poznávání a zkoumání a vysvětlíme si pomocí aktuálních poznatků příčiny vzniku této
světelné podívané (kapitola 2). Dále si představíme a popíšeme doposud známé metody
pro simulaci a vizualizaci polární záře (kapitola 3). V další kapitole se podíváme na návrh
řešení zadání s pomocí existujících metod a popíšeme funkčnost programu s našimi
úpravami (kapitola 4). Po představení hlavních funkcí si ukážeme i samotnou
implementaci programu, kde si rozvedeme zajímavosti, které souvisejí se samotnou
implementací (kapitola 5). Na závěr porovnáme výsledky vizualizace s původními
metodami a s reálnými fotografiemi a porovnáme časové náročnosti generování scény
(kapitola 6).
2
Kapitola 2
Teorie polární záře
Úkaz známý jako polární záře je obdivován lidmi už řadu let. Objevuje se v
severských mytologiích a je obsahem i mnoha legend. Než byl objasněn jeho původ, byly
mu přiřazovány různé vlastnosti, schopnosti a dokonce i božský původ.
V mnoha legendách se hovoří o polární záři jako o špatném znamení, předzvěsti
válek, moru, naštvání bohů, či tancích mrtvých duchů. Lidé dokonce věřili, že záře může
unést a zabít lidi, proto děti nesměly vycházet ven. Další vysvětlení mají norské legendy,
které mluví o Valkýrkách, panenských bojovnicích s oštěpy na koních, které se projížděly
krajem takovou rychlostí, že vzduch za nimi zářil energií. Ve Finsku zase věřili, že záři
způsobuje polární liška, která třením srsti o hory při běhu vytvářela jiskry, jenž se dostaly
až do nebe. Zajímavé je, že polární záře je spojována i s legendami čínských i evropských
draků [1,22].
Lidé si také mysleli, že záře může být přivolána pískáním nebo že lze zvýšit její
intenzitu mávání bílým oblečením [6].
Obrázek 2.1 Kristian Bikerland
testující teorii přitahování elektronových paprsků k pólům terrellu [21].
Prvním realistickým písemným popisem je norská kronika Královo zrcadlo z roku
1230. Záře byla vysvětlena jako odraz plamenů, které plály na naší placaté, jak se tehdy
věřilo, planetě za hranicí oceánů, na nebi.
Roku 1716 sir Edmund Halley sepsal první detailní popis polární záře, usoudil, že
záři způsobují částice ovlivněné magnetickým polem Země a paprsky záře proudí paralelně
s magnetickým polem Země.
Největší průlom způsobil Nor Kristian Bikerland, který se snažil prokázat teorii o
nabitých částicích ze Slunce na zmenšeném modelu Země – terrellu (Obrázek 2.1).
Posílané svazky elektronů směrem k modelu byly vtaženy k pólům tohoto modelu. Později
tyto experimenty potvrdily vesmírné družice.
Představili jsme si vývoj v poznávání polární záře během několika let. Pro lepší
3
4
KAPITOLA 2. TEORIE POLÁRNÍ ZÁŘE
pochopení polární záře si v následujících kapitolách představíme polární záři z hlediska
současných poznatků. Popíšeme hlavní příčiny vzniku polární záře, vliv Slunce a jeho
úlohu při vytváření této podívané, úlohu magnetického pole Země a příčiny vyzařování
světla. Dále zde popíšeme, jaké části a tvary může polární záře nabývat a jakou mohou mít
tyto tvary strukturu. V poslední části této kapitoly jsou popsány oblasti výskytu tohoto
světelného jevu.
2.1 Vliv Slunce
Polární záře začíná na Slunci. Hlavními činiteli jsou sluneční skvrny a sluneční
erupce. Vlivem rozdílů v magnetickém poli Slunce dojde k vytvoření slunečních skvrn ve
fotosféře a následné erupci (obvykle o síle výbuchu 1 miliardy megatun TNT). Během
slunečních erupcí je zejména z oblastí slunečních skvrn, kde je teplota nižší než v koroně,
uvolněn proud rotujících nabitých částic [22]. Gravitace Slunce nedokáže udržet tento
proud vlivem teploty korony a proud složený z elektronů, pozitronů a alfa částic ve formě
plazmy dorazí během dvou dnů k Zemi rychlostí kolem 1000 km/s.[8] Tyto výboje se
mohou opakovat i několikrát za den, obzvláště v období slunečního maxima, které se
opakuje v 11-ti letém cyklu. Cesta slunečního větru je ilustrována na obrázku 2.2.
Obrázek 2.2 Erupce na Slunci
a vyslání slunečního větru směrem k Zemi, kde se částice snaží proniknout k pólům[17].
2.2 Vliv zemského magnetického pole
Při dosažení slunečního větru zemské magnetosféry (Obrázek 2.3) jsou částice
slunečního větru odraženy nárazovou vlnou magnetosféry nebo jsou při průchodu touto
vrstvou zachyceny Van Allenovými radiačními pásy. Tyto radiační pásy jsou oblasti
magnetosféry, kde se zachycují nabité částice slunečního větru. Při velkém množství
příchozích nabitých částic mohou tyto částice ze slunečního větru proniknout k pólům a do
magnetosférického chvostu. Z chvostu se pak nechají unášet po směru siločar zemského
magnetického pole [22]. Částice jsou urychlovány směrem k pólům díky vlivu
geomagnetických bouří a subbouří, způsobujících změny v magnetickém poli. Magnetické
5
bouře jsou vyvolány vnějšími podněty, jako například proudem slunečního větru. Během
magnetické bouře prochází velké množství iontů a elektronů z chvostu do vnějšího
radiačního pásu. To způsobí nárůst prstencového proudu, čímž se naruší magnetické pole
Země. Prstencové proudy se nacházejí ve vzdálenosti několika kilometrů od povrchu Země
a jejich magnetické pole nabývá opačné orientace oproti magnetickému pólu Země.
Subbouře jsou menší bouře, při kterých nedochází k tak velkému injektování
nabitých částic. Subbouře nejsou zatím plně prozkoumány, ale právě díky nim sílí aktivita
polární záře. Jejich výskyt je častý zejména v oblasti magnetických pólů Země.
Tyto bouře mohou narušit komunikaci satelitů, polohovacího systému GPS,
mobilních sítí a jiných zařízení.
Obrázek 2.3 Ilustrace magnetosféry Země [11].
2.3 Vyzařování barevného světla
Pohyb nabitých částic se skládá ze dvou složek (Obrázek 2.4), kolmého pohybu na


vektor magnetického pole Země B a pohybu rovnoběžným
s
vektorem
B
. Výsledkem je

spirálovitý pohyb ve směru vektoru magnetického pole B . Během cesty nabitých částic
k dolní hranici polární záře dochází ke srážkám těchto nabitých částic ze slunečního větru s
neutrálními atomy a molekulami plynů v Zemské atmosféře. Při těchto srážkách dochází k
předání energie neutrálním atomům či molekulám plynu a dočasnému přeskočení na vyšší
energetickou hladinu. Při zpětném seskoku na původní hladinu dojde k vyzáření světla –
fotonu. Elektron může během cesty prodělat mnoho srážek, než přijde o svou energii [3].
Vyzářené světlo je monochromatické a odpovídá přechodům mezi energetickými
hladinami.
Vlnová délka vyzářeného fotonu závisí hlavně na složení plynů v atmosféře,
schopnosti částice zůstat v excitovaném stavu a výšce vyzáření fotonu. Obvykle se záře
objevuje ve výškách od 100 – 300km nad povrchem Země, výjimečně i 500 – 800km [6].
Hlavními prvky vyzařující světlo jsou atomy a molekuly kyslíku a atomy dusíku.
Nejběžnější a nejsvětlejší barvou je zelená barva způsobená kolizemi s atomy kyslíku v
dolních částech ve výškách okolo 100 km nad povrchem Země s vlnovou délkou 557,7 nm.
6
KAPITOLA 2. TEORIE POLÁRNÍ ZÁŘE
Obrázek 2.4 Ukázka pohybu nabitých částic a jejich vychýlení po kolizi [3].
Tato barva je nejsvětlejší, protože vrchol citlivosti lidského oka je ohraničen
hodnotou 550 nm. Dále je v nižších částech vyzařována modrá barva molekulami dusíku o
vlnové délce 427,8 nm. Ve vyšších částech kyslík vyzařuje červenou barvu o vlnové délce
630 nm. Díky těmto hodnotám je možno určit velikost uvolněné energie.
Vlastnosti vyzařování světla jsou různé dokonce i pro atomy stejného prvku,
například u kyslíku. Atom kyslíku vyzařující zelené světlo vydrží v přechodném
excitovaném stavu jen 0,7 s a excitovaný atom nedokáže urazit větší vzdálenost, než je
vyzářen foton. Oproti tomu atomy kyslíku vyzařující červenou barvu dokáží vydržet v
přechodném stavu okolo 110 s a tím dokážou urazit i delší vzdálenost, než se vrátí do
původního stavu a vyzáří foton. To je i příčinou toho, že červené vyzařování je
rozprostřeno přes delší oblast a tím je i slabší intenzita kvůli možným srážkám a ztráty
energie před vyzářením. Ionizovaný dusík vydrží nejkratší dobu v přechodném stavu, a to
méně než 0,001 s [3].
2.4 Tvar a rozdělení polární záře podle složení
Tvar záře je dán hustotou a energií nabitých částic slunečního větru vstupujícího do
atmosféry a změnami elektrického pole Země. Nejčastějším tvarem polární záře je tvar
zvlněné záclony složené ze světelných emisí částic z atmosféry a zabarvené podle barev
popsané v předešlé kapitole.
Přirovnání k zácloně odpovídá možnostem tvarování polární záře, mohou na ní
nastat různé zakřivení dělící se podle prostorové rozsáhlosti (Obrázek 2.5), ale i délky
trvání zobrazení, kde nejrozsáhlejší trvá nejdéle, naopak nejmenší má nejkratší trvanlivost.
Nejdelší zakřivení záře od velikosti 50 km a dále jsou spirály (spirals), středně veliké
zakřivení se nazývají záhyby (folds), které odpovídají délkám o 20 km a nejkratší zakřivení
vyvolává dojem kruhu na křivce nebo kudrlinek (curls), ukazuje se ve vzdálenostech 2-10
7
km [4].
Obrázek 2.5 Druhy zakřivení pozorované v polární záři
a) kudrlinky (curls), b)spirály (spirals), c)záhyby (folds) [4].
Podle Mezinárodního atlasu polárních září (International Auroral Atlas), vydaného
Mezinárodní unií geodézie a geofyziky, lze rozdělit druhy záře podle struktury na záři
s paprskovitou strukturou a záři se stejnorodou strukturou [3].
Mezi tvary se stejnorodou strukturou patří typ oblouk (arc, Obrázek 2.6 a)) a pás
(band, Obrázek 2.6 b)). Tyto druhy se dokáží roztáhnout na vzdálenosti až 1000 km, jejich
tloušťka může nabývat hodnot od 100m do 10 km a výška je v rozmezí 20-30km. Pásy
občas mohu získat i tvar podkovy [3].
Dalším typem této kategorie jsou difúzní záře. Jedná se o slabě svítící plochy, které
mohou zabírat několik km2, připomínající oblaka. Jejich slabá intenzita je téměř
nepostřehnutelná pro lidské oko.
Drapérie (Obrázek 2.6 f)) se skládají z pásů s ostrou dolní hranicí, které jsou
tvořeny dlouhými až 100 km paprsky.
2.5 Stálost tvarů polární záře
Změny tvaru závisí na pohybu a intenzitě záře. Tyto změny mohou být patrné
během několika minut, jiné jsou viditelné během několika sekund i méně.
Se změnou tvaru souvisí rychlost pohybu jednotlivých částí. Ne v každém směru a
ne každá část polární záře se pohybuje stejnou rychlostí. Například u typu oblouku
dosahuje rychlost v horizontálním směru až 200 m/s, kdežto ve vertikálním kolem 10 km/s.
Menší části jako záhyby a kudrlinky nabývají vyšších hodnot v horizontálním směru,
záhyby až 5 km/s, kudrlinky dokonce až 90 km/s. Při roztažení oblouku přes celé zorné
pole se při těchto rychlostech a pohybech může uživateli zdát, že paprsky cestují sem a tam
z jednoho konce na druhý. Intenzita těchto změn závisí na magnetických subbouřích.
8
KAPITOLA 2. TEORIE POLÁRNÍ ZÁŘE
Obrázek 2.6 Rozdělení podle tvaru a struktury záře
a)oblouk se stejnorodou strukturou, b) oblouk s paprskovitou strukturou, c) pás se
stejnorodou strukturou, d) pás s paprskovitou strukturou, e) koruna s paprskovitou
strukturou, f) drapérie s paprskovitou strukturou [3].
Mezi paprskovité struktury patří paprskový oblouk (rayed arc), paprskový pás
(rayed band), koruny (corona), drapérie (drapery) a paprsky (rays) [8,13]. Oblouky i pásy
se mohou objevit i po skupinách, to znamená více oblouků či pásů současně.
Paprskový oblouk (Obrázek 2.6 b), Obrázek 2.8) i pás (Obrázek 2.6d)) svým
tvarem odpovídají tvarům stejnorodé struktury, jen vzbuzují zdání, že jsou tvořeny
vertikálními pruhy.
Obrázek 2.7 Fotografie polární záře typu koruna [12].
9
Korunu (Obrázek 2.6 e), Obrázek 2.7) je možno spatřit v přímé blízkosti
magnetického pólu, má tvar koruny, jejíž paprsky směřují do jednoho bodu.
Obrázek 2.8 Fotografie polární záře typu oblouk [14].
2.6 Oblast výskytu
Polární záři je možno sledovat v oblasti magnetických pólů, které neodpovídají
přesně pólům geografickým. Tyto oblasti se nazývají aurální oblouky (Obrázek 2.9), které
mají střed v magnetickém pólu a roztahují se přes vzdálenost 3000 km. Tyto oblouky se
vytváří symetricky na obou pólech Země. V období solárního maxima, při větší intenzitě
slunečního větru, mohou tyto oblouky expandovat i do nižších oblastí a polární záře může
být pozorována i z oblastí vzdálenějších od magnetických pólů.
Obrázek 2.9 Zobrazení aurálního oblouku kolem magnetického pólu Země [19].
10
KAPITOLA 2. TEORIE POLÁRNÍ ZÁŘE
Magnetické póly Země se pohybují, proto dříve za dob Vikingů byla záře
spatřována v oblastech kolem Grónska, vzácně i v Norsku. Dnes je k vidění v severní
Skandinávii [22].
3
Kapitola 3
Existující metody simulace
V této kapitole jsou představeny dva způsoby simulace polární záře. První je určena
pro simulace pásů a drapérií a je zaměřena spíše na statické zpracování obrazu. Druhá
metoda se více zaměřuje na dynamiku polární záře a rozšiřuje první metodu, zahrnuje také
aspekty chování plazmy, díky čemuž může poskytnout realističtější dojem při animaci
záře.
3.1 Simulace pásů a oblouků
První způsob simulace polární záře se zaměřuje na vykreslování oblouků a pásů.
Místo sledování samostatných elektronů jsou zde pro zjednodušení sledovány cesty celých
svazků elektronů. Jiné částice slunečního větru než elektrony zde nejsou uvažovány kvůli
malému podílu na výsledku při vyzařování světla. Popis této metody vychází z článku [3].
Tato metoda modeluje polární záře pomocí plošek, které se snaží zachytit tvar
závěsu. Tyto plošky jsou generovány pomocí sinusových křivek, kde každá křivka
představuje vrstvu dané plošky. Na těchto křivkách se vygenerují počáteční body
elektronových svazků, které budou sledovány během cesty k dolní hranici polární záře.
Elektronové svazky během své cesty k dolní hranici polární záře narážejí do atomů
plynů v atmosféře. Během sledování cesty elektronového svazku určíme jednotlivé body
srážek. Tyto body jsou zároveň považovány za body vyzáření fotonů. Barvy vyzáření
určíme pomocí odečtených hodnot ze spektrálních křivek (Obrázek 3.4). Tyto barvy jsou
určené v barevném prostoru XYZ (blíže popsaném v příloze A). Jednotlivé body vyzáření
fotonu namapujeme do pole obrazovky, kam uložíme vyzářené barevné hodnoty.
Tyto barevné hodnoty převedeme z prostoru XYZ do prostoru RGB pro konečné
vykreslení. Jelikož jsou sledovány svazky elektronů, použijeme Gaussův filtr pro
rozostření jednotlivých bodů vyzáření, aby byl zahrnut fakt vyzáření více elektronů.
Po vykreslení záře následuje zavedení dynamiky, realizované posuny jednotlivých
částí záře (např. koncové body), pro dojem pohybu polární záře.
3.1.1
Plošný model (Sheet model)
Výzkumy polární záře ukazují, že proudy urychlujících se elektronů mohou být
reprezentovány ploškami (sheety) ohraničenými sinusovými křivkami. Tyto plošky se
skládají z vnitřních vrstev, které jsou také tvořeny sinusovými křivkami. Všechny křivky v
ploškách, včetně hraničních křivek, mají stejnou amplitudu, ale jsou od sebe fázově
posunuty. Tento fázový posun  může nabývat hodnoty až 0,35· radiánů. Důležitými
11
12
KAPITOLA 3. EXISTUJÍCÍ METODY SIMULACE
parametry každé plošky jsou její tloušťka w a vlnová délka elektronů plošek . Tloušťka
může nabývat hodnot od 1-10 km, poměr mezi tloušťkou a vlnovou délkou elektronů
plošek je v rozmezí 5,2 -31,4.
Veličiny ovlivňující tvar plošek jsou koncové body plošky počáteční Pi a koncový
Pf , počet počátečních bodů v jedné vrstvě n, ze kterých se začnou spouštět svazky
elektronů, počet vnitřních vrstev b, fázový posun vrstvy hraničních křivek , tloušťka
plošky w a vlnová délka elektronu .
Po určení jednotlivých vrstev můžeme určit jednotlivé počáteční body
elektronových svazků. Počáteční body elektronových svazků se nacházejí na sinusovce
dané vrstvy a jsou dány parametrem s z rozsahu 0-1 (kde s = 0 u Pi a s = 1 u Pf) a fázovým
posunem r vrstvy. Pro určení přesné pozice (Obrázek 3.1) počátečního bodu musíme určit

vektor ua určený body Pi a Pf.
Obrázek 3.1 Sinusová křivka určující polohu počátečních bodů paprsků [3].
Pozici bodu na vektoru lze určit pomocí náhodně generovaného parametru s a

následně jeho posunutím na sinusovku ve směru určeném vektorem u b , který je výsledkem
vektorového součinu, to znamená ve směru kolmém na oba násobené vektory.
Matematicky je vyjádřen výpočet počátečního bodu.


ub
Ps,Φ r   u a s   w  sin Φ r  
(3.1)
ub


Vektor ub je definován jako vektor kolmý na vektor magnetického pole Země B a

směrový vektor ua a je určen následujícím vztahem
  
ub  ua  B .
Nový fázový posun Φrnew dané vrstvy je definován pomocí vztahu (3.2), kde se přičítá k
fázovému posunutí předchozí vrstvy Φrold inkrementační hodnota dr, určená vztahem (3.3)
Φ rnew  Φrold  d r
dr 
D  2 
n
(3.2)
(3.3)

kde D je vzdálenost mezi body Pi a Pf, tedy velikost vektoru ua . Roznásobení konstantou
2· je zde kvůli periodické vlastnosti funkce sinu.
Náhodný parametr s je vypočten pomocí vzdálenosti mezi elektronovými svazky ds
a náhodně generovaného čísla ξ1 z intervalu <0;1>. Výpočet je dán následujícím vztahem
13
s new  s old  d s  1 
(3.4),
kde náhodně generovaná hodnota ξ1 je přičtena k ds, pokud je hodnota ξ1 > 0,5, jinak je
hodnota odečtena, což by mělo zajistit nepravidelnosti jako ve skutečné záři.
Pro modelování záhybů (folds) se použijí Beziérovy křivky (Obrázek 3.2), kterými
se nahradí části sinusových křivek. Pro tyto části záře jsou zde další vstupní parametry, a to
počet počátečních bodů v těchto nahrazených částech np, dále kvazi-periodický interval df,
udávající vzdálenost mezi záhyby (folds). Počáteční body svazků v těchto částech jsou také
náhodně rozmístěny a pomocí změn řídících bodů Beziérových křivek se mohou ovládat
tvary jednotlivých záhybů.
Obrázek 3.2 Ukázka nahrazení části křivky záhybem
3.1.2
Cesta elektronového svazku
Elektrony jsou během své cesty vychylovány po srážkách s atomy plynů v atmosféře.
Tato vychýlení jsou důležitá pro určení tvaru a dynamiky záře, tudíž i pro důvěryhodnost
simulace. Pro zjednodušení jsou body srážky elektronů s atomy plynů v atmosféře určeny i
jako body vyzáření světla.
Cesta elektronových svazků (Obrázek 3.4 c)) začíná z počátečních bodů

generovaných na sinusových křivkách v plošce (sheet). Směr vektoru rychlosti v
klesajícího svazku je určen jako celkový směr postupu částic, zahrnující i spirálovitý
pohyb popsaný v kapitole o teorii polární záře. Úhel α, tzv. úhel vychýlení (pitch angle),
zobrazený na obrázku 3.3 a), svíraný vektorem rychlosti elektronového svazku bez


spirálovité složky vt a vektorem rychlosti se zahrnutou spirálovitou složkou v p , pomáhá
určit ztrátovou oblast (loss cone), popsanou dále v textu. Hranice ztrátové oblasti je
ovlivněna výškou bodu nárazu a úhlem ztrátové oblasti αD, který je dán vztahem
 D  arc sin
B
B100
(3.5),

kde B je hodnota intenzity magnetického pole B ve výšce h a B100 je hodnota intenzity
magnetického pole ve výšce 100 km nad povrchem Země, tedy nad spodní hranicí pro
výskyt polární záře.
Elektronové svazky svírající úhel  < D jsou ve ztrátové oblasti a urychleny pryč do
14
KAPITOLA 3. EXISTUJÍCÍ METODY SIMULACE
atmosféry – ztraceny. Hranice ztrátové oblasti se zmenšuje s výškou srážek elektronů, tyto
změny dosahují hodnot menších než 3°.
Body srážek jsou vypočteny v několika krocích. Prvním krokem je určení bodu pnew´,
který je vypočten ve směru pohybu bez zahrnutí vlivu spirálovitého pohybu a je koncovým

bodem dočasného vektoru rychlosti vt (Obrázek 3.3 b). Výpočet tohoto bodu udává
následující rovnice

B
new´
old
p  p  L  dt   2  
(3.6),
B
kde L je délka cesty, kterou urazí proud elektronů. Hodnota L závisí na zobrazovaném
typu, 20-30 km pro oblouky (arc) a 70 – 100 km pro drapérie (draperies). Vertikální
vzdálenost mezi kolizemi dt závisí na počáteční energii elektronů. Elektrony s průměrnou
energií 10 keV se mohou během své cesty srazit s atomy plynů atmosféry až 300krát, než
dosáhnou hranice 100 km nad povrchem Země, tedy dolní hranice pro zobrazení záře.

Z tohoto důvodu můžeme hodnotu dt určit jako 1/300. B je vektor magnetického pole.
Obrázek 3.3 Jednotlivé fáze pro určení dalšího bodu kolize,
a) zrychlení, b) výpočet bodu srážky, c) vychýlení elektronového svazku během cesty skrz
magnetické pole [3].
Požadovaného směru na skutečný bod kolize se dosáhne pomocí azimutového úhlu
 (3.7), kde ξ3 odpovídá náhodně generovanému číslu v intervalu <0;1>, a polárního úhlu
, který odpovídá přírůstku úhlu vychýlení , díky kterým je možno určit koncový

bod vektoru v p (Obrázek 3.3 b)) a tedy i bod srážky pnew.  obvykle odpovídá hodnotě
0,015 radiánů. Pro každý bod pnew tedy platí vztah 3.10.
  2   3
(3.7)
   D  t   
(3.8)

new
old
p  p  vp
(3.9)
Vertikální parametrický posun mezi srážkami t určíme dle vztahu (3.7) z intervalu
<0;1>. ξ2 je náhodně generované číslo z intervalu <0;1>.
15
t new  t old  d t 2 
(3.10)
U každé srážky jsou určeny intenzity jednotlivých barev při vyzáření fotonu. Postup
určení jednotlivých barevných složek je popsán v následující kapitole.
Cesta každého elektronu, dokonce i elektronů se stejnými počátečními
podmínkami, není stejná. V simulaci je této vlastnosti dosaženo hlavně díky rozdělení
výpočtu srážek na dvě zmíněné části.
3.1.3
Určení barevného spektra a intenzity světla
Každý bod srážky zahrnuje i vyzáření fotonu. Pro určení barevného spektra
vyzářeného fotonu jsou využity hodnoty určené spektrálními křivkami, získaných z grafu
na obrázku 3.4 a). Tyto hodnoty obsahují intenzitu vyzářené barvy v barevném prostoru
XYZ.
Jako hodnota výšky je při mapování hodnoty intenzity barevných složek použita
výška bodu srážky. V této metodě je mapování zaměřeno na nejsvětlejší emise, které jsou
nejčastější, a proto je mapování zredukováno na červenou, zelenou a modrou barvu. Tyto
barvy jsou určené pomocí vlnových délek.
3.1.4
Vykreslení
První fází vykreslení je namapování souřadnic bodů kolizí (= bodů vyzáření fotonu)
ze světových souřadnic do souřadnic okna (Obrázek 3.5), které probíhá při výpočtu bodů
srážek, popsaném v předchozí části (3.1.3). Toho je dosaženo sestrojením vektoru

e s koncovými body, kterými jsou bod kolize elektronového svazku s částicemi plynů v
atmosféře E a bod určující projekční střed Q, nebo-li bod umístění kamery. Pokud vektor
protíná plochu obrazovky, je určen bod průniku s polem obrazovky a indexy určující prvek
v poli obrazovky, kam máme uložit hodnoty barevných složek bodu. Pokud vektor
neprotne plochu obrazovky, znamená to, že daný bod není zobrazitelný a přejdeme
k výpočtu dalšího bodu kolize. Do pole obrazovky jsou akumulovány (přičítány) hodnoty
intenzity vyzáření odečtené z obrázku 3.3 a), tyto hodnoty se skládají ze tří hodnot červené, zelené a modré, popsaných v barevném prostoru XYZ. Každá z těchto složek je
následně roznásobena hodnotou intenzity určené podle typu zobrazované záře, dle křivek
na obrázku 3.3.b). U obou odečítání hodnot je jako hodnota výšky použita y souřadnice
bodu E.
Další fází je převod barev určených vlnovými délkami barevném prostoru XYZ, do
barevného prostoru RGB. Převod je realizován ve dvou krocích. Zaprvé jsou hodnoty CIE
spektrálních barevných srovnávacích funkcí pro vlnové délky, ~
x  , ~
y   a ~
z   ,
převedeny na hodnoty srovnávacích barevných funkcí r  , g   a b  z RGB systému
pomocí následujícího vztahu
x  
 r   
~
 g    M  ~

(3.11),


 y  
b  
 ~
z  
kde M je převodní matice určená standardem SMPTE (Society of Motion Picture
and Television Engineers) pro převod z XYZ prostoru do RGB prostoru.
16
KAPITOLA 3. EXISTUJÍCÍ METODY SIMULACE
Obrázek 3.4 Křivky určující intenzity polární záře,
a) křivka pro odečtení barevného spektra v dané výšce, b)křivky určující intenzity vyzáření
jednotlivých tvarů určené výškou nad dolní hranicí výskytů polární záře (100 km) [3].
Namapované intenzity jsou poté roznásobeny podle hodnot získaných
z křivek grafu intenzit na obrázku 3.4 b), kde se jednotlivé hodnoty mění podle typu
zobrazovaného tvaru. Tyto získané hodnoty využijeme následně při mapování bodů
vyzáření fotonů do pole obrazovky.
17
Obrázek 3.5 Ilustrace mapování bodu ze světových souřadnic do pole okna[3]
Výsledkem převodu jsou hodnoty srovnávacích barevných funkcí r  , g   a b  z
RGB systému vypočtené z každé jednotlivé složky XYZ barevného prostoru. Proto
obdržíme pro každou z r  , g   a b  srovnávací funkci 3 hodnoty, které zpracujeme
v následujícím kroku (tzn. pro ~
x    r  ~x , g  ~x , b ~x , stejně pro hodnoty ~
y   a
~
z   ).
Dalším krokem převodu do RGB barevného prostoru je tedy určení jednotlivých
složek základních barev RGB systému, tedy červené, zelené a modré pomocí následujících
rovnic
3
R   f i ri  
(3.12),
G   f i g i  
(3.13),
i 1
3
i 1
3
B   f i bi  
(3.14),
i 1
kde hodnota f i je intenzita i-té složky ( ~
x  , ~
y   a ~
z   ) určené v XYZ prostoru a
hodnoty r  i , g  i a b i jsou hodnoty získané převodem té samé i-té složky. Tyto
intenzity jsou uloženy pro každý pixel v poli obrazovky, pro každou vlnovou délku, podle
postupu popsaném výše.
3.1.5
Antialiasing
Ke zvýšení autentičnosti obrazu polární záře je využit antialiasing. Antialiasing je
realizován rozostřením obrazu, tedy rozprášením barev do sousedních pixelů pomocí
Gaussova filtru (Obrázek 3.6), čímž je realizováno vyzáření světla elektronů ve svazku a
ne pouze jednoho jediného elektronu.
18
KAPITOLA 3. EXISTUJÍCÍ METODY SIMULACE
Obrázek 3.6 Použití Gaussova filtru
a) jeho použití pro rozprášení na pole obrazovky, b) příklad Gaussova jádra kde m =31 a
 = 5.25 [3].
Pomocí funkce Gaussova filtru určíme dočasné nové barevné hodnoty prvků pole
obrazovky (reprezentující jednotlivé pixely). Tyto hodnoty obdržíme pomocí funkce
Gaussova filtru, která je dána vztahem
1
G i, j  
e
2 2

 i2  j2
2 2

(3.15),
kde i a j jsou indexy Gaussova jádra, pro které určujeme nové hodnoty a  je standardní
odchylka, tedy hodnota určující velikost okolí pro rozostření. Gaussovo jádro určuje
množiny sousedních pixelů, pro které budeme počítat antialiasing.
Nová hodnota každého pixelu hi,j je dána váženým průměrem hodnot okolních
pixelů oi,j
m/ 2
hi , j 

i, j m / 2
Gi , j  oi , j
wi , j
,
kde váhy jednotlivých okolních sousedních pixelů Gi,j jsou dány Gaussovou funkcí.
Hodnota m značí aktuální prvek Gaaussova jádra.
Rozdíl mezi vykreslením s antialiasingem a bez antialiasingu je znázorněno na
obrázku 3.7.
19
Obrázek 3.7 Výsledky metody simulace pomocí plošné metody
bez antialiasingu (vlevo) a s antialiasingem (vpravo)[3].
3.1.6
Dynamika
Simulace dynamiky je realizována pomocí dvou nejdůležitějších pohybů v polární
záři. Posunování oblouků je vyřešeno pomocí posunutí koncových bodů Pi a Pf. Další častý
pohyb v polární záři, tedy horizontální pohyb kudrlinek, je uskutečněn určením nového
počtu počátečních bodů elektronových svazků a posunutím záhybů.
3.2 Tančící světla (Dancing lights)
Tato metoda je rozšířením předešlé metody vizualizace. Metoda pro zobrazování
pásů a oblouků nezahrnuje magneto-elektrické nestability potřebné pro změny chování
záře během časové změny. Tyto změny popisují odlišné chování v různých částech záře.
Popis této metody vychází z článku [4].
Pro větší přesnost je zde použit model plasmy, který umožňuje přesnější simulování
průběhu středně velkých zakřivení – záhybů (folds) a paprsků. Simulování plasmy, včetně
její nestability, je založeno na algoritmu simulování nestabilit tekutin. K tomu jsou využity
výpočty částečných diferenciálních rovnic (PDE), sdružených gradientů (CG) nebo rychlé
Fourierovy transformace (FFT). Pro výpočty PDE je využit multimřížkový algoritmus
(multigrid algorithm) upravený oproti doposud existujícím postupům, osvobozený od
ukládání matic a šetřícím tak nároky na paměť.
Chování plasmy lze počítačově zpracovat dvěma způsoby. Pomocí Lagrangova
modelu, nebo pomocí Eulerova modelu. Lagrangeova metoda spočívá ve sledování pohybu
jedné konkrétní částice v čase, zatímco Eulerova metoda sleduje stav proudění částic
v určitém prostoru (více o mechanice kontinua v [5]).
Pro modelování je využito kombinace obou zmíněných metod, kde Lagrangův
přístup je využit pro výpočet interakcí mezi částicemi v paprsku a mezi paprsky. Eulerův
20
KAPITOLA 3. EXISTUJÍCÍ METODY SIMULACE
přístup je využit, pokud nastanou větší prostorové změny. Pro výpočty pomocí tohoto
hybridního přístupu jsou využity mřížky, na které aplikujeme multimřížkový algoritmus.
Postup simulace a vizualizace polární záře touto metodou tedy obdobný jako u první

metody. Jediný rozdíl nastává při určení vlivu rychlosti kolmé vk na magnetické pole
Země, tedy hlavního faktoru pro spirálovitý pohyb elektronových svazků. Hlavním úkolem

tohoto postupu je určení vektoru kolmé rychlosti v  a následného celkového vektoru

rychlosti v elektronových svazků pro směr postupu. Pro výpočet aktuální pozice je použit
algoritmus pro určení spirálovitého pohybu (warp algorithm) a dále je také zahrnut vliv
příchozích dalších částic slunečního větru
Elektronové svazky jsou sledovány během cesty k dolní hranici, dokud nepřijdou o
svou energii a nestanou se zaměnitelnými s ostatními částicemi atmosféry. Během své
cesty je směr elektrických svazků ovlivněn elektrickým polem E , generovaným
jejich

vzájemným elektrostatickým působením,
  a magnetickým polem Země B . Proto je pro
výsledný směr pohybu nutné určit E i B . Další po určení bodů srážek je totožný s první
metodou vizualizace a simulace.
3.2.1
Výpočty pro určení spirálovitého pohybu

Postup elektronového svazku je ovlivněn elektrickým polemE , generovaným
vzájemným elektrostatickým působením a magnetickým polem Země B . Lorenzova síla

Fk působící na elektronový svazek s nábojem q a vektorem určující kolmý vektor rychlosti

v  , zodpovědný za spirálovitý pohyb, je dán vztahem

 

Fk  qk E  v k  B
(3.16),
kde k slouží jako index jednotlivých svazků. Pohyb svazku elektronů o hmotnosti mk je dán
Newtonovým pohybovým zákonem

dvk 
mk
 Fk
(3.17).
dt
 
Pro aktualizaci poloh svazku je třeba spočíst E a B . Pro určení zakřivení cest je

magnetické pole považováno za neměnné v každém okamžiku a je určeno velikostí B .



Vektory B a E jsou na sebe kolmé. Využitím Gaussova zákonu lze určit E
 
 E 
(3.18),
0
kde 0 je primitivita vakua a  značí hustotu elektrického náboje danou vztahem


N
 P    qk  P  Pk 
(3.19),
k 1
kde P je počáteční pozice elektronového svazku, qk je hodnota elektrického náboje v pozici
Pk a  je Diracova funkce. Využitím Maxwellových rovnic popisujících dynamiku nabitých
částic a elektrického pole je obdržen vztah

(3.20).
 E  0
Poslední důležitou veličinou této metody je elektrický potenciál  určený vztahem
21

E  
(3.21)
a jeho využití v Poissonově rovnici určující divergenci gradientu potenciálu

  2 
(3.22).
0
Vztahy 3.17 a 3.22 jsou základem částicového systému, ve kterém jsou spojeny dva
postupy pro určení aktuální polohy svazku. Tento systém využívá částicovou mřížku, ve
které jsou aplikovány právě vztahy určující sílu v dané pozici 3.17, využívající Lagrangovu
metodu, a vztah určující vliv elektrického potenciálu 3.22, využívající Eulerův postup.
3.2.2
Algoritmus spirálovitého pohybu (Warp algorithm)
Pro určení rychlosti svazků, tedy síly na něj působící, je použit Lagrangův postup,
zatímco pro výpočty potenciálu Eulerův. Určení kolmých rychlostí je rozloženo do čtyř
kroků, kde
1) Z pozice elektronů Pk je určena hustota elektrického náboje  3.19.
2) Z nábojového rozložení pomocí Poissonovy rovnice (3.22) se určí elektrostatický
potenciál Φ.

3) Z potenciálu pomocí vztahu 3.21 je určeno elektrické pole E ovlivňující každý
svazek.
4) Použitím Newtonova zákonu síly 3.17 s lokálním elektrickým polem a
magnetickým polem Země lze určit novou polohu a kolmou rychlost každého
elektronového svazku.
Pro určení dalších pozic se opakuje postup od bodu 1. Stopování paprsků začíná stejně jako
v předešlé metodě, z počátečního bodu umístěném na plošce. Tyto plošky zde jsou
modelovány pomocí pruhů ohraničených periodickými a Neumannovými podmínkami
podél os x a y. Počáteční body paprsků jsou rozmístěné náhodně uvnitř těchto pruhů,

ohraničených délkou  a tloušťkou  (Obrázek 3.8) a s počáteční kolmou rychlostí v   0 .
Počet srážek je ovlivněn počáteční hodnotou poměru : .
Obrázek 3.8 Část proudu částic modelovaný pomocí pruhu
elektronových svazků s periodickými a Neumanovým hraničními podmínkami
podél os x a y [4].
22
3.2.3
KAPITOLA 3. EXISTUJÍCÍ METODY SIMULACE
Určení náboje
V hybridním Eulero-Lagrangeově postupu jsou použity pro elektrické pole a pro
počet částic, ovlivněné silou, různé mřížky. Výpočet nábojové hustoty i,j v jednotlivých
bodech mřížky G(i,j) je dán výpočetní metodou CIC (Cloud-in-cell), při které je hodnota
buňky určena sumou vážených hodnot  k elektrických nábojů qk elektronových paprsků ek
v okolí mřížkového bodu (Obrázek 3.9 a) ).
i , j 
1

 k qk

oblast sousednich bunek ek bunky obklopujíc í G (i, j)
(3.23)
Namísto hledání, ke kterému bodu G(i,j) daný elektronový paprsek ek přispívá svým
nábojem,
je
jeho
náboj
qk
rozdělen
pomocí
vah
ik*, j* kde
i *  {i, i  1}, j *  { j , j  1} mezi všechny mřížkové body, které jej obklopují (Obrázek 3.9
b) ). S ohledem na spojitost nábojové hustoty  musí být váhy ik*, j* definovány
následujícím vztahem
ik, j  S Gi , j   Pk 
(3.24),
kde Se je upravená Diracova delta funkce určená vztahem
lim S .   .
 0
(3.25).
Obrázek 3.9 Popis namanipulaces nábojm mřížce
a)Popis nábojové akumulace v bodu mřížky Gi,j, b)Popis rozložení náboje svazku elektronů
ek do nejbližších mřížkových bodů [4].
3.2.4
Poissonova rovnice
Gradient elektrického potenciálu je dán Poissonovou rovnicí 3.22. Pro Eulerovu
mřížku s rozměrem h může být částečná diferenciální rovnice rozložena na
23
4i , j  i 1, j  i 1, j  i , j 1  i , j 1
h
2

i , j
0
(3.26),
čímž dostaneme soustavu lineárních rovnic, které lze vyjádřit pomocí zápisu A,
kde A představuje matici rovnic,  vektor neznámých potenciálů a  vektor nábojové
hustoty.
Pro řešení matice A se nabízí řada metod. Jako nejefektivnější byla vybrána
multimřížková metoda (multigrid method) s lineární časovou složitostí O(n). Ostatní
metody jako je například Gaussova eliminační metoda, jsou příliš zdlouhavé s časovou
složitostí O(n2), sdružené gradienty s O(n1.5) a FFT O(nlog2n).
3.2.5
Implementace multimřížkové metody
Jak již bylo zmíněno v předešlé kapitole, časová složitost je lineární. U
Poissonových rovnic navíc konstanta složitosti n obvykle nedosahuje větších hodnot než
10.
Multimřížková metoda využívá vlastností lineárních rovnic na úrovni částečných
diferenciálních rovnic, což je výhodnější než na úrovni matic. Navíc dřívější
multimřížkové implementace byly náročné na paměť kvůli ukládání množství mřížek
s menším rozlišením(coarse grid). Proto byl dosavadní postup upraven na postup
osvobozený od práce s maticemi, který je velmi efektivní právě při práci s pamětí. Hlavním
požadavkem na multimřížkové metody je zrychlení konvergence iterací pomocí částečných
diferenciálních rovnic na sekvenci mřížek s nižším rozlišením.
Základním principem je eliminovat vysokofrekvenční chyby pomocí relaxace
vyhlazováním (relaxation smoothing) a nízkofrekvenční chyby pomocí korekce mřížky
s nižším rozlišením. h označuje aktuální aproximace řešení na mřížce s vyšším rozlišením
(fine grid) s rozměrem mřížky h a  h danou vztahem
 h   h
(3.27)
značí chybu. Díky kontroverzní podstatě Poissonovy rovnice se hodnota chyby h, získaná
několika relaxačními kroky, zjemní (smooth). Díky tomu lze snadno přesně určit
aproximaci mřížky s nižším rozlišením pomocí projekce zbytkových chyb
r h    A h
(3.28)
na mřížce s nižším rozlišením s rozměrem mřížky H. Chybu mřížky s nižším rozlišením
tak lze určit ze vztahu
A H  H  RhH r h
(3.29)
s malou výpočetní náročností díky menšímu počtu mřížkových bodů na hrubé mřížce. AH
značí matici mřížky s nižším rozlišením a RhH plnohodnotný omezující operátor (full
weighing restriction operator). Nakonec je chyba mřížky interpolována zpět na mřížku
s vyšším rozlišením (fine grid) k přepočtu mřížky s vyšším rozlišením (fine grid)
 new   h  PHh H
(3.30),
kde PHh je lineární interpolační operátor. Tímto výpočtem je zakončen jeden průchod
24
KAPITOLA 3. EXISTUJÍCÍ METODY SIMULACE
multimřížkovým V-cyklem (Obrázek 3.10).
Obrázek 3.10 Popis V-cyklu[4]
Při implementaci jsou využity pouze úkony související s hrubou mřížkou, interpolace
a omezujícími operátory. Proto nedochází k vytváření ani ukládání matic, díky čemuž je
třeba pouze 3.5 vektorů mřížky s vyšším rozlišením, což využívá dokonce méně paměti
než metoda sdružených gradientů.
3.2.6
Rychlost a nová pozice elektronů
Elektrické pole Ei,j je definováno na Eulerově mřížce, jehož hodnota je dána derivací
potenciálu i,j, zatímco elektronové svazky jsou definovány na Lagrangeově mřížce. Tyto
dvě mřížky nejsou na sebe obecně převeditelné, proto musí být elektrické pole
elektronových paprsků ek v bodě Pk určeno pomocí interpolace do nejbližších rohů buňky,
tedy do okolních bodů mřížky, což je obrácený postup než při rozkládání náboje (Obrázek
č. 3.9) Výpočet nové hodnoty kolmé rychlosti a pozice elektronových paprsků se určí
vztahem (17).
3.2.7
Další postup
Další postup odpovídá metodě založené na plošném modelu. Dalším krokem je tedy
sledování trajektorie a celkový postup elektronového svazku magnetickým polem Země.
Poté je potřeba odečíst hodnoty spektrálních křivek a intenzit (Obrázek 3.4) podle výšky
bodů kolize a provést mapování těchto bodů do pole obrazovky. Nakonec dojde k převodu
barev do RGB prostoru a rozostření obrazu pomocí Gaussova filtru. Výsledky této metody
jsou zobrazeny na obrázku 3.11.
25
Obrázek 3.11 Obrázky generované pomocí metody plasmového modelu[4]
26
KAPITOLA 3. EXISTUJÍCÍ METODY SIMULACE
4 Kapitola 4
Analýza a návrh řešení
Tato kapitola se snaží zodpovědět otázky, týkající se funkčnosti a vlastností
vytvářeného programu. Představíme metodu, pomocí které je program realizován a
rozšíření, které jsme do stávající metody zavedli. Dále představíme také návrh
uživatelského rozhraní aplikace. Poté se pustíme do poznávání funkčnosti jednotlivých
částí a způsobu komunikace mezi nimi.
4.1 Zvolená metoda vizualizace a simulace
Pro vizualizaci a simulaci polární záře jsme zvolili metodu s plošným modelem.
Tento postup simulace vizualizace pomocí plošného modelu byl představen v kapitole 3.1 ,
zde si ji krátce zrekapitulujeme a připomeneme základní kroky.
Zvolená metoda slouží k simulaci oblouků, pásu a drapérií. Pásy a oblouky si jsou
velice podobné a dají se snadno zaměnit, drapérie se zase skládá z pásů. Díky tomu může
tato metoda zahrnout tyto 3 typy polární záře.
Prvním krokem při simulaci a vizualizaci pomocí této metody je určení rozmístění
počátečních bodů elektronových svazků, které putují ve směru vektoru magnetického pole
Země, na plošce. Tyto plošky jsou tvořeny vrstvami, které představují sinusové křivky.
Části plošky nahradíme záhyby, pomocí Beziérových kubik, pro získání tvaru zvlněné
záclony, popsaném v kapitole 2.4.
Dále postupně určíme body srážek, tedy i vyzáření, elektronů a přiřadíme jim
barevné hodnoty odečtené z grafů na obrázku 3.3. Body dále namapujeme do pole
obrazovky tak, že na místo odpovídající namapovanému bodu přičteme k původní barevné
hodnotě barevnou hodnotu namapovaného bodu. Poté hodnoty uložené v poli obrazovky
převedeme do RGB systému a pomocí Gaussova filtru zahrneme do výsledného zobrazení
vyzáření elektronů jako celého svazku.
Pro simulaci dynamiky záře budeme posunovat záhyby na plošce a měnit množství
počátečních bodů pro dojem vertikálního pohybu a posunovat koncové body plošky pro
dojem horizontálního pohybu.
4.2 Návrh na rozšíření
Jako rozšíření jsme zavedli možnou manipulaci s vektorem magnetického pole Země
s tím, že máme možnost měnit jeho směr. Dále je přidána možnost pozorovat polární záři
z více úhlů, a to díky možnosti pohybu ve scéně. Kvůli časové náročnosti při výpočtu tvaru
záře jsme zavedli možnost přepínání mezi obrysem polární záře a plnohodnotným
27
28
KAPITOLA 4. ANALÝZA A NÁVRH ŘEŠENÍ
zobrazením. Dále je kvůli časové náročnosti možnost vypnutí antialiasingu.
Dalším rozšířením jsou možnosti přepínání standardů převodních matic z CIE XYZ
systému do systému RGB při převodu hodnot intenzit jednotlivých barevných složek.
4.3 Návrh uživatelského rozhraní
V této kapitole představíme návrh na ovládání programu, na pohyb ve scéně a
manipulaci s polární září. Také představíme uspořádání hlavního okna aplikace pro
možnost vykreslení krajiny a zobrazení vektoru magnetického pole Země.
Rozdělení okna
Aplikace obsahuje hlavní okno a podokno. Pro vykreslení scény s krajinou a
polární záře slouží hlavní okno, které zabírá větší část okna celé aplikace a je možno se
v něm pohybovat a sledovat polární záři. Vykreslení vektoru magnetického pole Země je
realizováno do podokna umístěného v pravém horním rohu. Se souřadným systémem lze
otáčet pomocí virtuálního trackballu [23] a kontrolovat tak směr vektoru ze všech stran.
Pohyb ve scéně
Pro pohyb v hlavním okně je využita klávesnice i myš. Pomocí klávesnice je
zajištěn samotný posun ve scéně a otáčení kamery. Pro naklonění kamery leze využít i
myš.
Nastavení polární záře
Nastavení polární záře lze změnit pouze omezeně při běhu aplikace. Většina
nastavení je realizována pomocí konfiguračního souboru a při běhu programu lze pouze
upravovat některé údaje, například směr vektoru magnetického pole.
Pomocí klávesnice lze polární záři přiblížit či oddálit vzhledem ke krajině. Dále
pomocí klávesnice lze měnit směr vektoru magnetického pole, čímž měníme i natočení
polární záře.
Další změny polární záře lze nastavit pomocí menu vyvolaného pravým tlačítkem
myši, kde lze nastavit zvolený zobrazovaný typ polární záře, převodní matici, barevný
prostor, ze kterého se převádí do RGB (CIE XYZ 1931/CIE XYZ 1964), přepínání
antialiasingu, animace a přepínání mezi zobrazením obrysu záře a plnohodnotným
zobrazením záře.
4.4 Analýza aplikace
V této části si popíšeme jednotlivé části aplikace a jejich funkčnost. Pro jednodušší
pochopení funkce programu jej popíšeme pomocí funkčních bloků. Každý jednotlivý blok
bude blíže popsán, aby bylo jasné, co se v programu děje a jak mezi sebou jednotlivé bloky
komunikují.
4.4.1
Hlavní zobrazovací smyčka
Hlavní vykreslovací smyčka (Obrázek 4.1) začíná načtením dat z konfiguračního
souboru. Tyto údaje jsou hlavními parametry ovlivňující tvar záře a jsou předány dále do
bloku sloužícímu k výpočtům jednotlivých částí polární záře. Podrobnější funkce bloku
sloužícímu k výpočtům popíšeme v další části Výpočet polární záře
29
Výsledkem bloku výpočtu je naplněné pole obrazovky, které je rozměrově stejně
velké jako velikost okna a každý prvek pole odpovídá jednotlivým pixelům v okně. Každý
prvek pole také obsahuje hodnoty barevných složek převedených do RGB.
Toto pole obrazovky je poté zpracováno v bloku zobrazení polární záře, kde dochází
k vykreslení jednotlivých pixelů s pomocí barevných hodnot uložených v jednotlivých
prvcích pole odpovídající pixelům v okně aplikace.
Po vykreslení polární záře dojde k překreslení scény. Tato scéna je načtena pomocí
grafu scény využitého z kurzu X36ZPG [23], jenž je doplněn o skybox. Scéna je načtena
při spuštění programu a poté dochází jen k aktualizaci kamery při pohybu v této krajině.
Posledním krokem zobrazovací smyčky je vykreslení vektoru magnetického pole
Země. Pro tento účel je vyžit také virtuální trackball [23], pro kontrolu směru vektoru
magnetického pole Země a tím i směru pohybu elektronových svazků.
Průchodem smyčky dojde k vykreslení polární záře, krajiny a ovládacího okna pro
změnu směru vektoru magnetického pole Země. Další průchod smyčkou může být zajištěn
manipulací s polární září, jako například změnou vektoru či posunu záře vůči pozorovateli,
nebo také pohybem ve scéně. Pokud je aktivní volba animace, tak dochází k překreslení
automaticky.
4.4.2
Výpočet polární záře
Při spuštění programu dojde k načtení parametrů z konfiguračního souboru. Tyto
parametry jsou dále předány do bloku určeného k výpočtu. Pokud není vytvořena žádná
ploška, dojde k jejímu vytvoření a výpočtu jejích částí. Pokud však již byla ploška
vytvořena, tedy nejedná se o první průchod zobrazovacím cyklem, dojde k úpravě již
existujících hodnot plošky. V následující části si představíme funkčnost jednotlivých
bloků.
Generování segmentů
Jako segment je označena část plošky, která má jiné vlastnosti než části plošky,
které ji obklopují. Jedná se tedy o část záře a určuje, jaký tvar bude tato část nabývat. Jak
již bylo popsáno v kapitole 3.1.1 plošky jsou tvořeny vrstvami pomocí sinusových křivek.
Části těchto vrstev jsou nahrazeny pomocí křivek určenými pomocí Beziérových kubik pro
tvorbu záhybů. Rozdělíme tedy plošku na segmenty, které obsahují informaci, o jakou část
plošky se jedná. Na tyto části budeme mapovat počáteční body svazků elektronů.
Generování vrstev
Po určení jednotlivých segmentů spočteme koncové body jednotlivých vrstev. Tyto
konce jsou posunuty v ose z vzhledem ke koncovým bodům plošky načtených
z konfiguračního souboru. Sinusové křivky jednotlivých vrstev plošky jsou navíc fázově
posunuty.
Posun koncových bodů, segmentů, vrstev a přepočet bodů
Pokud se jedná o druhý průchod smyčkou, dojde k úpravám hodnot existujících
částí. Prvním přepočtem je aktualizace pozice koncových bodů plošky, které jsou posunuty
30
KAPITOLA 4. ANALÝZA A NÁVRH ŘEŠENÍ
podél os x, y, z.
Dále následuje posun segmentů v plošce. Vzhledem k efektu putování záhybu
z jednoho konce na druhý a zpět je po dosažení krajního segmentu koncového bodu plošky
obrácen směr posunu.
Posun vrstev je realizován stejným způsobem jako v prvním průchodu, tedy při
jejich generování, jen dochází k posunu vzhledem k posunutým koncovým bodům plošky.
Poté následuje přepočet počtu počátečních bodů pro dojem náhodného pohybu podle
postupu zmíněném v kapitole 3.1.6 .
Obrázek 4.1 Popis hlavní vykreslovací smyčky.
Generování počátečních bodů
Generování počátečních bodů probíhá pro každou vrstvu zvlášť. Počet
generovaných bodů je dán rozměrem okna a koncovými body.
Mapování počátečních bodů na segment
Každý vygenerovaný bod je poté namapován na křivku určenou segmentem. To
znamená, že pokud se bod nachází na segmentu určeném pomocí Beziérovy kubiky, musí
být počáteční bod přemístěn na svou pozici na křivce určené právě kubikou.
31
Obrázek 4.2 Popis funkčních částí bloku pro výpočet polární záře.
Výpočet bodu nárazu paprsků
Po namapování počátečních bodů na segmenty plošky následuje sledování pohybu
svazku elektronů z počátečních bodů až k dolní hranici polární záře. Během této cesty se
svazky elektronů srážejí s částicemi plynů v atmosféře, čímž získají energii pro vyzáření
světla.
Tyto body jsou určeny pomocí vztahu 3.6 a následně jsou vychýleny po kružnici
pomocí azimutového úhlu , kvůli simulaci spirálovitého pohybu.
Přiřazení barevných složek
32
KAPITOLA 4. ANALÝZA A NÁVRH ŘEŠENÍ
Každému bodu vyzáření přiřadíme barevné složky vyzáření. Přiřazení hodnot
barevných složek je uskutečněno z hodnot určených spektrálními křivkami a křivkami
intenzit (Obrázek 3.4). Každému bodu nárazu je podle jeho výšky přiřazena barevná
hodnota, která je následně roznásobena intenzitou podle zvoleného zobrazovaného typu
záře. Tyto hodnoty si uchovává bod, dokud není namapován do pole obrazovky.
Pokud elektronový paprsek dorazí k dolní hranici záře, ukončí se sledování cesty
paprsku a dojde k dalšímu výpočtu bodů srážek z nového počátečního bodu.
Mapování bodu do pole obrazovky
Mapování do pole obrazovky probíhá přesně podle postupu popsaném v kapitole
3.1.4. Pokud vektor, určený bodem kamery a bodem srážky elektronového svazku
s částicemi plynů v atmosféře, protne průmětnu určenou polem obrazovky, dochází
k přičtení barevných hodnot k původním hodnotám prvku pole, který je protnut tímto
vektorem.
Převod barev do RGB systému
Po přemapování všech bodů do pole obrazovky jsou barevné hodnoty z prostoru
CIE XYZ převedeny do RGB systému podle postupu popsaném v kapitole 3.1.4.
Pole obrazovky s převedenými hodnotami je předáno dále ke zpracování. Pokud je
zapnutý antialiasing, dojde k rozdělení barevných hodnot pole obrazovky pomocí
Gaussova rozmazání (Gaussian blur).
5
Kapitola 5
Implementace
V této kapitole si představíme nástroje, pomocí kterých jsme realizovali vizualizaci a
simulaci polární záře. Řekneme si, jaké knihovny jsme využili k její implementaci a jaký
jazyk byl zvolen k implementaci aplikace. Dále si představíme nové datové typy, které
jsme zavedli pro zpřehlednění a pro přiblížení struktur ke skutečným prvkům. Nakonec si
ukážeme implementaci jednotlivých funkčních bloků popsaných v kapitole 4.
5.1 Vývojové prostředí a jazyk
Pro tvorbu programu vizualizace a simulace polární záře jsme zvolili jazyk C++,
grafickou knihovnu OpenGL a dále pak programové knihovny GLU a GLUT. Jako
vývojové prostředí jsme zvolili MS Visual Studio 2010. Tyto nástroje jsme zvolili
s ohledem na možnost uplatnění znalostí nabytých během studia, obzvláště z kurzu základů
počítačové grafiky.
5.2 Datové typy
Pro zjednodušení, zvýšení přehlednosti a zároveň přiblížení se realitě jsme zavedli
nové datové typy:
SHEET – reprezentuje plošky, uchovává si informace o svých vrstvách, o rozdělení
segmentů a o svých koncových bodech.
KRIVKA – reprezentuje jednotlivé vrstvy v plošce, uchovává si údaje o svých
počátečních bodech elektronových svazků a o svých koncových bodech.
SEGMENT – reprezentuje části SHEETU, obsahuje informaci, zda je tato část
SHEETU sinusovkou či je nahrazena segmentem se záhybem, dále obsahuje své koncové
body.
SEG_BOD – reprezentuje koncové body vrstev, segmentů, počáteční body
elektronových svazků a je využit i jako vektor, uchovává si informace o svých
souřadnicích.
BOD – reprezentuje body srážek, tedy i vyzáření, obsahuje své souřadnice a
informace o RGB hodnotách.
RGB – reprezentuje barevné hodnoty při vyzáření, tedy červenou, zelenou a modrou.
5.3 Implementace jednotlivých částí
Zde si představíme implementaci jednotlivých částí funkčních bloků představených
33
34
KAPITOLA 5. IMPLEMENTACE
v analýze. Popíšeme si podrobný postup výpočtů a u neobvyklejších částí si ukážeme i
pseudokód realizace.
Generování segmentů
Segmenty jsme představili jako části, ze kterých se skládá ploška. Tyto segmenty
v sobě uchovávají informaci, zda se jedná o část záře se záhybem či bez záhybu. Pokud
segment obsahuje záhyb, nahradíme sinusový průběh všech vrstev plošky v tomto
segmentu křivkou, určenou Beziérovou kubikou. To ovlivní pozice počátečních bodů
generovaných v tomto segmentu plošky, protože musí být posunuty na křivku definovanou
kubikou.
Generování segmentů začínáme určením koncových bodů segmentů. Tyto
vygenerované koncové body segmentů potom společně s krajními body plošky vzestupně
seřadíme pomocí parametru s, určující pozici body mezi koncovými body plošky. Z takto
seřazených bodů vytvoříme jednotlivé segmenty.
Krajní body segmentů generujeme pomocí výpočtu pozice počátečních bodů dané
vztahem 3.1, kde po vygenerování prvního bodu procházíme cyklem pro generování
druhého koncového bodu, dokud vzdálenost mezi koncovými body není v rozmezí
intervalu <min_délka;max_délka>.
Hodnota min_délka a max_délka jsou určené v konfiguračním souboru. Pokud však
načtené hodnoty přesahují mezní hodnoty (vypočtené z délky plošky), jsou nastaveny
maximální hodnoty obou extrémů. Dále kontrolujeme, zda nový generovaný bod
nezasahuje mezi již generovanou dvojici bodů určující segment a zda splňuje požadavek na
minimální rozestup mezi záhyby, pokud bod podmínky nesplňuje, generujeme bod znovu.
Minimální vzdálenost mezi záhyby je dána hodnotou max_délka.
Tyto body společně s koncovými body plošky seřadíme vzestupně podle již
zmíněného parametru s. Pokud je mezi generovanými body bod totožný s krajním bodem
plošky, kde parametr s = 0, bude prvním segmentem záhyb. Pokud se mezi generovanými
body nachází body odpovídající koncovým bodům plošky, dojde k jejich zahození a pro
tvorbu segmentů se použijí krajní body plošky. Po vygenerování segmentů přecházíme ke
generování jednotlivých vrstev, určujících plošku.
Maximální počet záhybů je určen pomocí vzdáleností mezi koncovými body plošky
a maximální délkou segmentu.
Generování vrstev
Vrstvy jsou určené sinusovými průběhy. Části těchto křivek jsou nahrazeny segmenty
se záhyby podle způsobu popsaném v předešlé části. Pro každou z těchto vrstev jsou
generovány počáteční body elektronových svazků.
Jednotlivé vrstvy mají různý fázový posun sinusového průběhu. Pro tento posun jsme
zvolili krok 0.01 radiánů.
Dále jsme posunuli krajní body jednotlivých vrstev v ose z. Tento posun je
realizován vzhledem k načteným koncovým bodům plošky z konfiguračního souboru.
Hodnota posunu je zvolena z intervalu <-1000;1000> vzhledem k možnému rozpětí šířky
plošek, které nabývá hodnot od stovek metrů do několika kilometrů [4].
35
Posun koncových bodů, segmentů, vrstev a přepočet bodů
Pokud se jedná o druhý průchod smyčkou, dojde k úpravám hodnot existujících
částí. Prvním přepočtem je aktualizace pozice koncových bodů plošky, které jsou posunuty
podél os x, y, z na nové souřadnice xn, yn ,zn, které vždy dosahují maximální odchylky 60%
v obou směrech vzhledem ke svým osám, oproti původním hodnotám z konfiguračního
souboru.
Dále následuje posun segmentů, obsahující záhyby, v plošce. Ten je realizován
pomocí empiricky zvolené konstanty. Vzhledem k efektu putování záhybu z jednoho konce
na druhý a zpět je po dosažení krajního segmentu koncového bodu plošky obrácen směr
posunu, tedy je změněno znaménku u konstanty kroku.
Posun vrstev je realizován stejným způsobem jako v prvním průchodu, tedy při
jejich generování, jen dochází k posunu vzhledem k posunutým koncovým bodům plošky.
Poté následuje přepočet počtu počátečních bodů pro dojem náhodného pohybu.
Nová hodnota je v rozmezí 15%.
Generování počátečních bodů
Dalším krokem je výpočet počátečních bodů podle postupu 3.1, kde parametr s je
náhodně generované číslo z intervalu <0;1>.
Generování počátečních bodů se mírně liší, pokud se jedná o první průchod po
zobrazení nebo změně velikosti okna anebo pokud se jedná o další průchody zobrazovací
smyčkou. Při prvním průchodu určíme počet počátečních bodu ve vrstvě pomocí
namapování koncových bodů plošky do pole obrazovky a následného určení rozdílu mezi
souřadnicemi os x a y. Větší hodnotu poté roznásobíme empiricky zvolenou konstantou,
jenž nabývá hodnoty 5 pro oblouky a 10 pro pásy a drapérie, čímž získáme počet
generovaných počátečních bodů.
Při dalších průchodech zobrazovací smyčkou dochází k úpravě hodnoty počtu
generovaných počátků vzhledem k hodnotě určené postupem pospaném v předchozím
odstavci. Nová hodnota množství počátečních bodů ve vrstvě je změněna maximálně o
15% z původní hodnoty, určené rozsahem okna a délkou polární záře.
Mapování počátečních bodů na segment
Vygenerovaný bod je poté namapován na křivku určenou segmentem. To znamená,
že pokud se bod nachází na segmentu určeném pomocí Beziérovy kubiky (více o
Beziérových kubikách [1]), musí být počáteční bod přemístěn na svou pozici na křivce
určené kubikou. Nová pozice počátečního bodu je určena pomocí parametru s určujícího
posun na vektoru mezi koncovými body plošky. Tento parametr s je převeden společně
s parametry koncový bodů segmentu na parametr t do intervalu <0;1>, kde počáteční bod
segmentu P0 nabývá hodnoty 0, koncový P3 hodnoty 1. Převod je proveden pomocí
následujícího vztahu
sbod  s P0
t
,
s P0  s P3
kde s P0 je parametr počátečního bodu segmentu a s P3 je parametr koncového bodu
segmentu. Dále vypočteme řídící body kubiky. Jejich pozici nalezneme určením středu
36
KAPITOLA 5. IMPLEMENTACE
úsečky mezi P0 a P3 a vztyčením kolmice na zmíněnou úsečku. Posunem po kolmici o
hodnotu poloviny úsečky dané body P0 a P3, v obou směrech získáme řídící body P1 a P2.
Parametr t poté dosadíme do Bernsteinových polynomů,
3
B0 t   1  t  ,
3
B1 t   3t 1  t  ,
2
B2 t   3t 2 1  t  ,
B3 t   t 3
a nové souřadnice počátečního bodu obdržíme ze vztahů
x  xP 0 B0  x P1 B1  xP 2 B2  xP 3 B3 ,
y  y P 0 B0  y P1 B1  y P 2 B2  y P 3 B3 ,
z  z P 0 B0  z P1 B1  z P 2 B2  z P 3 B3 .
Algoritmus mapování
Hlavní funkce pro mapování bodu na segment záhybu prochází segmenty. Pokud
bod zasahuje do segmentu, dojde k testu na segment, zda jde o záhyb. Pokud jde o záhyb,
dojde k přepočtu pozice voláním funkce spoctiFold(), jinak se prohledávání ukončí,
protože není třeba hledat novou pozici.
SEG_BOD * mapujBodNaSegment(SEG_BOD *b){
//načteme první segment
*s = segmenty;
while(s){
if(zasahujeDoSegmentu(b)){
if(s->typ){
//spočteme pozici bodu na záhybu
b = spoctiFold(s->ps, s->pk, bod);
}
break;
}
}
s = s->next;
}
Do funkce spoctiFold() vstupují koncové body segmentu a bod, jehož pozici
chceme přepočítat. Určíme parametr, přepočtem parametru s přepočítávaného bodu, pro
určení polohy na sinusovce, do intervalu <0;1> určeném parametry krajních bodů
segmentu. Tímto parametrem určíme polohu bodu na křivce dané Beziérovou kubikou.
Funkce vrací ukazatel na upravený bod.
SEG_BOD * spoctiFold(SEG_BOD *s, SEG_BOD * k, SEG_BOD * b){
//přepočteme parametr do intervalu mezi koncové body
//segmentu pomocí parametru s
parametr = abs((b->s – s->s)/(k->s-s->s));
b = beziere(s,k,parametr);
}
37
Vstupem funkce pro přepočet bodů jsou krajní body segmentu a upravený parametr.
Na začátky vypočteme střed vektoru, určeného body s a k. Z tohoto bodu vztyčíme
kolmici, na které budou ovládací body Beziérovy kubiky. Ty určíme pomocí vzdálenosti
určené polovinou velikosti vektoru segmentu. Poté vypočteme Bernstatinovy polynomy
s použitím přepočteného parametru a určíme nové souřadnice posunutého bodu.
SEG_BOD* beziere(SEG_BOD *s, SEG_BOD *k, parametr){
stred = urciStredVektoru(s,k);
k = urciKolmyVektor(vektorB, vektorSK);
jednotkovyVektor(k);
//velikost posunu řídících bodů po kolmici
k *= vzdalenost(stred, k);
//řídící body polynomu
p1 = stred + vzdalenost;
p2 = stred - vzdalenost;
//přepočet souřadnic
return b = vypocetBPolynomu(parametr, s, p1, p2,k);
}
Výpočet bodu nárazu paprsků
Po spočtení počátečních bodů jsou spočteny body srážek svazků elektronů
s částicemi plynů v atmosféře (Obrázek 3.3). Tyto body jsou spočteny pomocí vztahu 3.6 a
následného určení vychýlení po kružnici daného azimutovým úhlem . Pro určení

bodu na kružnici zavedeme nový souřadný systém složený z vektoru y  určeného body

p old ´ a p new´ , vektoru x  kolmého na vektor daný průmětem bodu p old
prumet (v rovině určené



osami x a z) a p new´ a vektorem z  kolmým na tyto dva vektory, takže vektory x  a z 
určíme následujícími vztahy

x   ( x p new  x p old , y p new  y pold ,( z p new  z pold )) .
prumet
prumet
prumet
  
z   x   y
Poloměr kružnice vychýlení r je určen vztahem

r  tan( ) x 
 
a leží v rovině určené vektory x  a z  , díky čemuž můžeme určit bod pnew


x
z
new
new
p  p   cos( )r   sin(  )r .
x
z
Pokud elektronový svazek dorazí k dolní hranici polární záře, je sledování svazku
ukončeno a přechází k dalšímu sledování cesty z jiného počátečního bodu, pokud ještě
nějaký je.
Přiřazení barevných složek
Při určení jednotlivých bodů srážek dochází také k odečtení hodnot barevných
složek z hodnot určených spektrálními křivkami a křivkami intenzit (Obrázek 3.4). Tyto
hodnoty jsme získali vytištěním grafu na milimetrový papír a následným odečtením
hodnot. Získané hodnoty jsou popsány v tabulkách v příloze B. Získané barevné hodnoty
odečtené ze spektrálních křivek jsou roznásobeny hodnotami intenzit, získanými z hodnot
38
KAPITOLA 5. IMPLEMENTACE
odečtených z křivek intenzit. Pro každý tvar máme jinou křivku intenzity (Obrázek 3.4 b) )
Hodnoty barevných složek jsme odečítali z grafu s intervalem 5 km, hodnoty
intenzit s intervalem 1 km. Hodnoty barevných složek a intenzit pro výšky, které
neodpovídají přesně odečteným výškám, ve kterých jsme odečítali hodnoty, jsou určeny
pomocí lineární interpolace dané vztahem
i1  i0
,
h1  h0
kde i je námi vypočtená intenzita ve výšce h. Intenzity i0 a i1 jsou hodnoty odečtené ve
výškách h0 a h1, které jsou hranicemi intervalu, ve kterém se nachází výška h.
i  i0  h  h0 
Mapování bodu do pole obrazovky
Mapování do pole obrazovky probíhá podle postupu, popsaném v kapitoleChyba!
Nenalezen zdroj odkazů.. Pro tuto část jsme využili funkci gluProject() z knihovny GLU.
Tato funkce převede souřadnice objektu do souřadnic okna.
Pokud získané souřadnice spadají do rozměrů aktuálního okna, tak souřadnice x a y
využijeme jako indexy pro určení prvku pole obrazovky, kam uložíme barevné hodnoty
bodu. Jinak je bod mimo viditelnost kamery a přecházíme k dalšímu bodu.
Převod z XZY prostoru do RGB prostoru
Pro převedení barevných hodnot musíme určit trichromatické hodnoty prostoru
~
XYZ x ( ) , ~
y ( ) a ~
z ( ) . Ty získáme pro každou barvu odečtením hodnot pro příslušné
vlnové délky, tedy 630 nm pro odečet červené složky, 557,7 nm pro odečet zelené složky a
427,8 nm pro odečet modré složky. Hodnoty jsme získali z oficiálních stránek CIE[9].
Použité odečtené hodnoty uvádíme v následujících tabulkách.
 [nm]
425
430
555
560
630
~
x ( )
~
y ( )
~
z ( )
0,21477
0,28390
0,51205
0,59450
0,62400
0,00730
0,01160
1,00000
0,99500
0,26500
1,03905
1,38560
0,00575
0,00390
0,00005
Tabulka 5.1 Odečtené hodnoty srovnávacích funkcí prostoru XYZ
pro dané vlnové délky standardu CIE standard observer 2° 1931[9].
 [nm]
425
430
555
560
630
~
x ( )
~
y ( )
~
z ( )
0,26474
0,31468
0,61605
0,70522
0,64747
0,02950
0,03868
0,99911
0,99734
0,28349
1,28250
1,55348
0,00109
0,00000
0,00000
Tabulka 5.2 Odečtené hodnoty srovnávacích funkcí prostoru XYZ
pro dané vlnové délky standardu CIE standard observer 10° 1964[9].
Hodnoty položené v intervalu mezi odečtenými hodnotami jsou vypočteny pomocí
již popsané lineární interpolace.
39
Spočtené hodnoty roznásobíme převodní maticí, z XYZ systému do RGB systému,
pro získání hodnot srovnávacích funkcí modelu RGB modelu. Tyto hodnoty získané
postupně z převodu každé vlnové délky sečteme podle vztahů 3.12, 3.13, 3.14. Pro převod
různých standardů jsme použili převodní matice z [15].
Pole obrazovky s převedenými hodnotami je předáno dále ke zpracování. Pokud je
zapnutý antialiasing, dojde k rozdělení barevných hodnot pole obrazovky pomocí
Gaussova filtru.
Antialiasing
Funkce Gaussova filtru je popsána v kapitole 3.1.5 . Zde postup antialiasingu
stručně zrekapitulujeme.
Gaussovo rozostření (Gaussian blur) slouží k rozostření obrazu, kde dochází
k rozdělení barevných hodnot pixelu do okolních pixelů. Nová hodnota každého pixelu hi,j
je dána váženým průměrem hodnot okolních pixelů oi,j
m
hi , j 

i, j m
Gi , j  oi , j
wi , j
,
kde váhy jednotlivých okolních sousedních pixelů Gi,j jsou dány Gaussovou funkcí 3.15
Pro uložení těchto nových hodnot jsme vytvořili nové pole, které svými rozměry odpovídá
poli obrazovky. Toto nové pole s nově vypočtenými hodnotami posíláme dále k vykreslení.
Pohyb ve scéně
Pro pohyb ve scéně jsme využili dvě kamery. Jednu, která sleduje pohyb po krajině
a druhou, která sleduje pohyb vzhledem k polární záři. Jelikož polární záři sledujeme ve
vzdálenosti v řádech sta tisíců jednotek od kamery, museli jsme oddělit pohyb po krajině
s čtvercovým půdorysem, kde velikost strany odpovídá hodnotě 7680 jednotek, od pohybu
vzhledem k polární záři. Natočení kamery ve scéně a následný pohyb vyvolával skokové
změny pozice polární záře vůči krajině. Z tohoto důvodu jsme se rozhodli ignorovat pohyb
s kamerou, určenou pro záři, ve všech směrech, kromě osy z.
40
KAPITOLA 5. IMPLEMENTACE
6 Kapitola 6
Výsledky
V této kapitole si ukážeme finální výstupy aplikace a porovnáme generované
obrázky s reálnými fotografiemi a s původními obrázky generovanými metodou, ze které
jsme vycházeli. Dále představíme časovou náročnost na generování obrázku u jednotlivých
částí aplikace.
6.1 Generování obrázku pro různé druhy polární záře
7
Zde si předvedeme výsledné obrázky všech druhů polární záře, které umí naše
aplikace vygenerovat. Jedná se o oblouky, paprskovité oblouky a drapérie. Všechny
obrázky v této části jsou generované se stejnými počátečními podmínkami:
8
počet záhybů
:2,
9
počet vrstev
:3,
10
:8000,
11
amplitudy plošky

vektor B
12
rozměry okna
:400 x 400 px.
:(0,-1,0),
Oblouk
Obrázek 6.1 Porovnání skutečného[3] a námi generovaného oblouku.
41
42
KAPITOLA 6. VÝSLEDKY
Vizualizace oblouku se zdá být přibližně stejná v porovnání s realistickou fotografií
(Obrázek 6.1). Ovšem musíme brát v úvahu, že takto jednoduché tvary nejsou příliš časté.
Oblouky se navíc vyskytují i s jinými tvary polární záře, například s pásy.
Výsledné generované obrázky oblouků tedy odpovídají přibližnému popisu
oblouků, s tím že konečný obrázek zachycuje pouze základní tvar a nepřipouští žádné větší
náhodné odchylky.
Oblouky s paprskovitou strukturou
Vizualizace oblouků s paprskovitou strukturou není tak úspěšná, jako vizualizace
předchozího tvaru. Jedná se také o oblouky, ale s větší oblastí vyzařování fotonů. Přechod
barevné intenzity z nižších výšek směrem vzhůru není plynulý a změna je skoková. To
může být způsobeno nepříliš přesným odečtením hodnot křivek, určujících intenzity
barevných složek (Obrázek 3.4).
Základní tvar paprskovitého oblouku je podle porovnání na obrázku 6.2 zachycen,
jenže výsledný dojem je pokažen právě barevným přechodem v dolní části polární záře.
Úpravou hodnot intenzit pro paprskovitý oblouk by se mohlo docílit realističtějších
obrázků.
Obrázek 6.2 porovnání skutečného[3] a generovaného paprskovitého oblouku.
Drapérie
Vizualizace drapérie je úspěšná jako vizualizace oblouků. Opět se podařilo zachytit
jednoduchý tvar drapérie a oproti obloukům s paprskovitou strukturou nedohází k tak
silným skokovým změnám v celé ploše polární záře.
Porovnání generované drapérie se skutečnou fotografií je zachyceno na obrázku
6.3. Skutečná drapérie obsahuje nejen zelenou barevnou složku, ale i červené části,
obzvláště ve vyšších výškách. S odečtenými hodnotami intenzit barevných složek
(Obrázek 3.4) se nám nepodařilo zachytit vliv jiné barevné složky než zelené. Důvodem
nepromítnutí dalších barev do zobrazení polární záře jsou hodnoty křivky určující barevné
43
spektrum prostoru XYZ (Obrázek 3.4), kde je červená složka dostupná až pro větší výšky,
než je uvažována horní hranice drapérie
Obrázek 6.3 Porovnání skutečné[10] a námi generované drapérie.
6.2 Vliv změny magnetického vektoru

V této části si ukážeme vliv změny směru vektoru magnetického pole Země B .
Změnou směru vektoru ovlivníme směr putování elektronových svazků, čímž dojde i
k efektu naklonění polární záře. Změna směru vektoru tedy ovlivňuje výsledný tvar záře.
Změny směru proudění elektronových svazků, tedy různé nakloněné vzhledem ke
krajině, je ukázáno na obrázku
6.4, kde u každé změny je popsán i aktuální stav vektoru

magnetického pole Země B .
Podmínky pro generovaný obrázek jsme opět ponechaly stejné, jako v předchozích
případech, pouze jsme upravovali směr vektoru magnetického pole Země.
6.3 Generování obrázku a použití antialiasingu
Pro vygenerování obrázku, který by měl více odpovídat skutečnému zobrazení
polární záře, je implementovaná funkce antialiasingu. Jak již bylo popsáno dříve,
antialiasing slouží k rozostření bodu vyzáření, čímž způsobí dojem vyzáření v rámci celého
sledovaného elektronového svazku.
Vykreslení generovaného výstupu s použitým antialaiasingem uvádíme na obrázku
6.5, kde uvádíme pro porovnání i generovaný obrázek bez využití antialiasingu.
Opět jsme pro generování obrázků použili stejné konfigurační hodnoty, jaké jsme
použili v předchozích případech.
44
KAPITOLA 6. VÝSLEDKY
Obrázek 6.4 Vliv změny směru vektoru magnetického pole Země.
Obrázek 6.5 Vliv antialiasingu na generovaný obrázek.
Vpravo bez antialiasingu, vlevo s použitím antialiasingu.
45
6.4 Pozorování z různých míst
Zde ukážeme pozorování té samé záře z různých pozic v krajině. Pro tento výsledný
obrázek byl použit tvar oblouk a stejné počáteční podmínky, jako případě vykreslování
jednotlivých druhů polární záře. Vlivem použití dvou kamer pro prostor krajiny a pro
prostor, ve kterém sledujeme polární záři, občas dochází k překvapivým (až
nerealistickým) zobrazením polární záře. Zobrazení z různých pozic v krajině jsou ukázány
na obrázku 6.6.
Obrázek 6.6 Generované obrázky polární záře typu oblouk,
pozorovaný z různých míst v krajině.
6.5 Dynamika polární záře
V této části představíme posloupnost vygenerovaných obrázků získaných pomocí
simulace dynamiky, pospané v implementační části.
Vycházíme tedy z posunování jednotlivých částí polární záře, jako jsou jednotlivé
vrstvy a koncové body těchto vrstev a segmentů plošky. Dále také určíme novou hodnotu
počtu počátečních bodů elektronových svazků.
Z důvodu posunování koncových bodů vrstev (a tedy i plošky) dochází i ke změnám
délky jednotlivých segmentů. To způsobuje náhodné změny tvaru při dynamice polární
záře.
Pro simulaci dynamiky jsme ponechali stejné počáteční podmínky z předchozích
částí, jen jsme upravili rozměry okna na hodnotu 600x400 pixelů pro zachycení větší části
tvaru polární záře v průběhu spuštěné animace. Jako druh polární záře pro ukázku
dynamiky jsme zvolili oblouk. Výsledná posloupnost generovaných obrázků je ukázána na
46
KAPITOLA 6. VÝSLEDKY
obrázku 6.7, na kterém uvádíme u každého obrázku z posloupnosti celkový čas v průběhu
námi sledované animace.
Obrázek 6.7 Průběh dynamiky polární záře (oblouk).
47
6.6 Porovnání generovaných obrázků s původní metodou
Rozhodli jsme se porovnat také výstup původní metody, ze které jsme při simulaci
a vizualizaci polární záře vycházeli (Obrázek 6.8). Podle porovnávaných výsledných
obrázků se nám nepovedlo realizovat vizualizaci tak důvěryhodně, jako u původní metody
(metoda plošek). Naše obrázky se liší zejména v barevných složkách, které jsou obsaženy
v polární záři. Jak jsme již zmínili dříve, může to být způsobeno nepřesnou metodou
odečítání hodnot barevných intenzit popsaných v grafu (Obrázek 3.4).
Obrázek 6.8 Porovnání metody modelu plošky[3] a naší upravené metody.
6.7 Měření rychlosti
Výsledné zobrazení jsme dále podrobili testům rychlosti vykreslení generovaných
obrázků. Pro jednotlivé druhy jsme měnili počáteční podmínky pro zobrazení změnou
hodnot jednotlivých veličin v konfiguračním souboru.
Naměřené výsledky jsou zobrazeny v tabulce 6.1 a v tabulce 6.2, které zobrazují
vliv jednotlivých veličin na délku času, určenou k vygenerování obrázku.
Z jednotlivých měření vychází najevo, že hlavním činitelem ovlivňující rychlost
vykreslování, je rozlišení okna. Hlavní složkou, která je nejvíce náročná na čas a souvisí
právě s rozlišením okna, je antialiasing, tedy rozdělení uložených hodnot v poli podle
funkce Gaussova filtru. Závislost délky vykreslení na rozlišení obrazovky je znázorněno na
obrázku 6.9.
Doba prováděné operace [ s ]
rozlišení obrazovky
výpočet
přepočet
200 x 200
7,539
4,172
400 x 400
11,422
6,913
600 x 600
16,125
13,688
800 x 800
19,672
16,615
1000 x 1000
21,109
20,063
antialiasing
0,532
2,187
17,185
30,719
37,266
Tabulka 6.1 Naměřené hodnoty určující dobu k vykreslení generovaného obrázku
Dále můžeme ze získaných hodnot měření zjistit, že přepočítání nových hodnot
48
KAPITOLA 6. VÝSLEDKY
zabírá méně času, než první výpočet tvaru polární záře.
rozlišení okna[pixel x pixel]
Určení doby výpočtu a
doby vykreslení [ s ]
Oblouk
s antialiasingem
Paprskovitý oblouk
s antialiasingem
Drapérie
s antialiasingem
1
9,510 + 0,001
7,768 + 2,204
8,266 + 0,001
7,827 + 2,203
8,762 + 0,015
8,953 + 2,204
počet vrstev
5
9,501 + 0,016
7,235 + 2,188
7,704 + 0,001
7,782 + 2,107
7,735 + 0,015
7,078 + 2,188
Počet záhybů
5
11,578 + 0,016
6,703 + 2,188
6,829 + 0,001
8,000+ 2,187
8,563 + 0,015
8,718 + 2,204
10
19,479 + 0,015
15,235 + 2,203
18,172 + 0,016
16,793 + 2,204
18,032 + 0,010
17,820 + 2,203
10
9,406 + 0,001
6,594 + 2,107
6,125 + 0,001
7,094 + 2,108
5,000 + 0,001
5,523 + 2,108
počet vrstev = 5
Oblouk
s antialiasingem
Paprskovitý oblouk
s antialiasingem
Drapérie
s antialiasingem
1
5,140 + 0,016
1,640 + 2,188
1,703 + 0,010
1,578 + 2,203
1,453 + 0,016
1,704 + 2,184
počet záhybů = 3
Druhy polární záře
400x400
Tabulka 6.2 Zobrazení doby výpočtu
a doby vykreslení pro jednotlivé druhy polární záře
V tabulce 6.2 jsou zobrazeny naměřené časové údaje, zobrazené jako součet doby
spočtení či přepočtu polární záře a doby pro operace související s vykreslením polární záře.
Operacemi související s vykreslením polární záře jsou myšleny části, jako je převod
barevných složek z XYZ barevného prostoru do RGB barevného prostoru nebo
antialiasing.
antialiasing
40
výpočet
35
Uplynulý čas [ s ]
přepočet
30
25
20
15
10
5
0
0
200
400
600
800
1000
1200
Rozlišení obrazovky [ pixel ]
Obrázek 6.9 Časové průběhy ovlivněné rozlišením
Kapitola 7
Závěr
Hlavním úkolem této práce bylo zobrazení polární záře a simulovat její průběh v
čase. Simulaci pohybu by mělo být možné sledovat z různých míst v krajině a pozorovat
tak chování polární záře z různých úhlů a pozic v krajině.
Výsledky vizualizace a simulace jsme představili v předchozí kapitole. Vizualizace
jednotlivých druhů polární záře se vcelku zdařila, až na drobný problém u oblouků
s paprskovou strukturou. Tento problém spočívá ve skokovém přechodu barevných intenzit
z nižších částí polární záře do vyšších oblastí polární záře. Tento nedostatek je nejspíše
způsoben díky chybám v odečítání hodnot barevných intenzit, kdy jsme hodnoty
barevných složek odečítaly z vytištěných grafů pro určení intenzit barevného spektra a
intenzit pro jednotlivé druhy polární záře (Obrázek 3.4). Díky tomu by mohla být
vysvětlena i absence červené složky u rozsáhlejších druhů, jako jsou drapérie a oblouky
s paprskovou strukturou.
Simulace dynamiky polární záře odpovídá skutečnému chování polárních září méně.
Podle dostupných ukázek, na kterých jsou zachyceny reálné průběhy polárních září, nelze
najít mnoho pravidelností v jejich pohybu, a proto není snadné určit další krok při určení
dalšího chování polární záře. Pokusili jsme se postupovat podle postupu, zmíněném
v článku pro simulaci a vizualizaci oblouků, pásů a drapérií [3]. Náhodný posun
koncových bodů plošky, určující hlavní tvar polární záře, působí v posloupnosti obrázků
(Obrázek 6.7) příliš trhaně. Posuny těchto koncových bodů navíc ovlivňují i délky
generovaných záhybů, což naopak může být přínosné pro simulaci a může být považováno
za simulaci náhodných změn ve tvaru polární záře.
Při zobrazení dynamiky musíme pro každý další generovaný obrázek provést
přepočet jednotlivých veličin pro určení nové polohy a tvaru polární záře. Tyto přepočty
jsou podle výsledků měření uvedeném v předchozí kapitole rychlejší, než prvotní výpočet
pro určení polární záře, ale nedosahuje takové rychlosti, aby bylo možné sledovat plynulé
přechody mezi jednotlivými snímky.
Tyto delší časové intervaly pro určení výpočtu jsou nejspíše způsobené novými
výpočty jednotlivých bodů vyzáření fotonů, ke kterým dochází vždy při generování dalšího
obrázku.
Pro zvýšení realistického dojmu obrázku je implementován antialiasing ve formě
Gaussova rozostření (Gaussian blur). Tímto rozostřením barevných hodnot docílíme efektu
vyzáření celého elektronového svazku, který sledujeme při cestě v zemské atmosféře.
Doba výpočtu pro toto rozostření je závislá na rozlišení okna aplikace. Je to zapříčiněno
díky pomocnému poli obrazovky, do kterého ukládáme barevné složky při vyzáření fotonu.
Toto pole svými rozměry odpovídá rozměrům okna aplikace, kde každý prvek reprezentuje
49
50
KAPITOLA 7. ZÁVĚR
jeden pixel z okna aplikace. Tím při volbě zobrazení obrázku s vykreslením antialaiasingu
narůstají časové nároky na vykreslení.
Rychlost vykreslení závisí na rozměrech okna, s čímž souvisí i práce s polem
obrazovky. Pro použití antialiasingu, kde je využito další pole pro uložení nově
vypočtených hodnot pomocí Gaussovy funkce, se aplikace stává ještě pomalejší.
Pro pohyb ve scéně jsme využili dvě kamery, jednu pro pohyb ve scéně s krajinou a
druhou pro pohyb v prostoru s polární září. Vlivem rozdílných rozměrů obou scén jsme se
rozhodli zahrnout pro pohyb v prostoru s polární září pouze z souřadnici, díky čemuž má
záře občas tendenci nepředvídatelného chování.
Návrhy na rozšíření a vylepšení
Jako rozšíření by bylo možné implementovat metodou tančících světel do pohybu
elektronových svazků. Mělo by tak dojít k většímu zohlednění vlivu magnetického pole
Země na pohyb elektronových svazků a zohlednění vzájemného působení těchto svazků
mezisebou.
Literatura
[1]
ALEXANDR Lubomír. Bézierovy kubiky. Lubovo.misto.cz [online]. 1999, [cit.
2011-05-16].
Dostupné z WWW: <http://lubovo.misto.cz/_MAIL_/curves/bezierc.html>.
[2]
Aurora borealis – Northen lights tour - 3 nights / 4 days.
Uncommonyukon.com/aurora-borealis-tour/ [online]. 2010, [cit. 2011-05-25].
Dostupné z WWW: < http://www.uncommonyukon.com/aurora-borealis-tour/>.
[3]
BARANOSKI, Gladimir V. G.; ROKNE J. G; SHIRELY Peter; TRONDSEN T. S.;
BASTOS Rui. Simulating the aurora. THE JOURNAL OF VISUALIZATION AND
COMPUTER ANIMATION. 2003, 14, 1 (Feb.), s. 43-59.
[4]
BARANOSKI, Gladimir V. G.; WAN Justin; ROKNE J.G; BELL Ian. Simulating
the Dynamics of Auroral Phenomena. ACM Transactions on Graphics. 2005, 24, s.
37–59.
[5]
BRDIČKA, Miroslav; SAMEK, Ladislav; SOPKO, Bruno. Mechanika kontinua.
Praha : Academia, 2000. 799 s.
[6]
BREKKE, Pål. The Aurora Borealis. Scandinavian review. 2008, 95, 3, s. 6-17.
Dostupné z WWW: <http://www.amscan.org/pdf/Fall08AuroraBorealis.pdf>.
[7]
CIE 1931 color space. Wikipedia : the free encyclopedia [online]. 2011, [cit. 201105-16]. Dostupné z WWW: <http://en.wikipedia.org/wiki/CIE_1931_color_space>.
[8]
COMBS, Larry; VIERECK, Rodney. Aurora. Space Enviroment 1996, 12, s. 1-4.
Dostupné z WWW: http://www.swpc.noaa.gov/info/Aurora.pdf
[9]
COMMISSION INTERNATIONALE DE L’ECLAIRGE. Cie.co.at [online]. CIE
free documents - COLORIMETRIC TABLES. 2000, [cit. 2011-05-16]. Dostupné z
WWW: <http://www.cie.co.at/main/freepubs.html>.
[10]
CURTIS Jan. Aurora’s northen light. Climate.gi.alaska.edu [online]. 2005, [cit.
2011-05-25]. Dostupné z WWW:
<http://climate.gi.alaska.edu/Curtis/curtis.html>.
[11]
DANIELIDES Michael A.. Aurora Borealis. Danielides.de [online]. 2011, [cit.
2011-05-25]. Dostupné z WWW:
<http://www.danielides.de/com/aurora.html>.
[12]
DAVIS Lee. Green Aurora with Corona. Alaska-in-pictures.com [online]. 2010, [cit.
2011-05-25]. Dostupné z WWW: < http://www.alaska-in-pictures.com/greenaurora-corona-533-pictures.htm>.
51
52
LITERATURA
[13]
KOLESHNIKOV Alexander. Polární záře, 1962, AR 2/62, s. 51-55. Dostupné z
WWW: <http://www.ok2kkw.com/next/ok1kw1962.htm>.
[14]
KOMZÁK, Jiří. Komzak.webz.cz [online]. Beetyho Diplomová práce. 1999, [cit.
2011-05-14]. Dostupné z WWW:
<http://komzak.webz.cz/old/skola/dp/prostory.html>.
[15]
LINDBLOOM, Bruce Justin. RGB/XYZ Matrices. Brucelindbloom.com [online].
2009, [cit. 2011-05-16]. RGB/XYZ Matrices. Dostupné z WWW:
<http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html>.
[16]
LOBAZ, Petr. Fotoroman.cz [online]. Základy colometrie. 2005, [cit. 2011-05-14].
Dostupné z WWW: <http://www.fotoroman.cz/techniques2/light_color.htm>.
[17]
Magnetosphere. Wikipedia : the free encyclopedia [online]. 2011, [cit. 2011-05-25].
Dostupné z WWW: http://en.wikipedia.org/wiki/Magnetosphere
[18]
Mechanika kontinua. Wikipedia : the free encyclopedia [online]. 2011, [cit. 201105-25].
Dostupné z WWW: <http://cs.wikipedia.org/wiki/Mechanika_kontinua>
[19]
O'DONOGHUE Darragh. South African Clone of Penn State Telescope Makes First
Scientific Discovery. Science.psu.edu [online]. 2006, [cit. 2011-05-25]. Dostupné z
WWW: <http://www.phy6.org/Education/aurora.htm >.
[20]
PETTY John Ira.. International Space Station Imagery. Spaceflight.nasa.gov
[online]. 2003, [cit. 2011-05-25]. Dostupné z WWW:
<http://climate.gi.alaska.edu/Curtis/curtis.html>.
[21]
STERN D.P. Secrets of the polar auroras. Phy6.org [online]. 1999, [cit. 2011-0525].
Dostupné z WWW: <http://www.phy6.org/Education/aurora.htm >.
[22]
VAČKÁŘOVÁ, Lenka; VERNEROVÁ Ivana. Popularizační www stránky o
magnetosféře Země a slunečním větru. Praha, 2004. 23 s. Studentský fakultní grant.
Karlova univerzita, Matematicko-fyzikální fakulta. Dostupné z WWW:
<http://oberon.troja.mff.cuni.cz/20-11-2003>.
[23]
X39ZPG Service.felk.cvut.cz [online]. 2011, [cit. 2011-05-16]. Dostupné z WWW:
<http://service.felk.cvut.cz/courses/X39ZPG>.
[24]
ZMEŠKAL, Oldřich; ČEPPAN, Michal; DZIK, Petr. Barevné prostory a správa
barev. In Barevné prostory a správa barev (10/2002) [online]. Brno : Fakulta
chemická, Vysoké učení technické v Brně, 2002 [cit. 2011-05-14]. Dostupné z
WWW: <http://www.fch.vutbr.cz/lectures/imagesci/download/stud06_rozn02.pdf>.
A.Příloha A
Barevný prostor CIE XYZ
Barevný model XYZ byl vytvořen na základě experimentů v 1931 a jeho autory jsou
David Wright a John Gild [18]. Je odvozen od RGB modelu, díky čemuž jsou tyto prostory
vzájemně převoditelné.
Prostor byl vymyšlen pro zobrazení všech barev, které je schopno lidské oko
zaregistrovat. Tohoto nebylo pomocí modelu RGB možno dosáhnout, kvůli možnosti
dosažení záporných hodnot pro některé vlnové délky spektra (Obrázek A.1). Proto byly
zavedeny matematické modely barev (Obrázek A.2), pro které je možno získat vždy
kladnou hodnotu srovnávacích funkcí barevného prostoru[24].
B.
Obrázek A.1Popis barevných srovnávacích funkcí prostoru RGB[7].
Převedením souřadnic do jednotkové roviny a normováním hodnot dosáhneme
toho, že nám k určení barvy stačí pouze 2 hodnoty, ovšem s nulovým jasem [2,16]. Proto
můžeme jednotlivé barvy popsat pomocí dvou složek a třetí složka slouží jako hodnota
jasu.
Spektrální křivky srovnávacích funkcí ~
x ( ) , ~
y ( ) a ~
z ( ) byly odvozeny z pro
vnímání barev v centrální části sítnice, která obsahuje pouze čípky. Tyto průběhy jsou tedy
platné jen pro úzké zorné pole, zde pro zorné pole určené úhlem 2°. Později byl model
A1
A2
LITERATURA
upraven pro větší zorný úhel o velikosti 10°. Vlivem rozšíření zorného úhlu jsou zahrnuty
do pozorování i tyčinky vlivem rozšíření [24].
Obrázek A.2 Popis barevných srovnávacích funkcí prostoru XYZ[7].
B.Příloha B
Tabulky
odečtených
hodnot
ze
spektrálních křivek a křivek intenzit
V této části představíme hodnoty barevných složek, pomocí nichž jsme určili
hodnoty intenzit jednotlivých barev. Tyto hodnoty jsme odečetli z grafů zobrazených na
obrázku 3.4, vytištěných na milimetrový papír.
Hodnoty jednotlivých barev jsou dány pomocí vlnových délek jejich spektra, kde
červená barva je určena hodnotou 630 nm, zelená 557.7 nm a modrá 427,8 nm. Tyto
vlnové délky využijeme pro získání hodnot srovnávacích funkcí ~
x ( ) , ~
y ( ) a
~
z ( ) prostoru XYZ, které pak převádíme do prostoru RGB způsobem pospaným v kapitole
5.3 .
Intenzita barev
výška
[km]
100-105
106-110
111-115
116-120
121-125
126-130
131-135
136-140
141-145
146-150
151-155
156-160
161-165
166-170
171-175
176-180
181-185
186-190
191-195
196-200
Intenzita barev
červená zelená modrá
0,00
0,30
0,17
0,00
0,56
0,23
0,00
0,77
0,29
0,00
0,81
0,36
0,00
0,87
0,40
0,00
0,92
0,47
0,00
1,00
0,54
0,00
0,94
0,56
0,00
0,90
0,53
0,00
0,87
0,50
0,00
0,83
0,44
0,00
0,79
0,40
0,00
0,73
0,37
0,09
0,66
0,33
0,04
0,60
0,31
0,05
0,52
0,29
0,07
0,47
0,27
0,08
0,42
0,25
0,09
0,40
0,22
0,09
0,36
0,20
výška
[km]
201-205
206-210
211-215
216-220
221-225
226-230
231-235
236-240
241-245
246-250
251-255
256-260
261-265
266-270
271-275
276-280
281-285
286-290
291-295
296-300
červená zelená modrá
0,09
0,33
0,17
0,10
0,30
0,13
0,10
0,26
0,13
0,10
0,20
0,12
0,10
0,13
0,09
0,11
0,10
0,07
0,11
0,07
0,00
0,13
0,04
0,00
0,14
0,02
0,00
0,18
0,00
0,00
0,19
0,00
0,00
0,20
0,00
0,00
0,20
0,00
0,00
0,22
0,00
0,00
0,20
0,00
0,00
0,20
0,00
0,00
0,19
0,00
0,00
0,18
0,00
0,00
0,17
0,00
0,00
0,13
0,00
0,00
Tabulka B.1 Odečtené hodnoty spektrálních křivek.
B1
B2
PŘÍLOHA B
výška
[km]
100
101
102
103
104
105
106
107
108
109
110
intenzita
0,22
0,59
0,76
0,88
0,94
0,92
0,98
1,00
0,96
0,84
0,82
výška
[km]
111
112
113
114
115
116
117
118
119
120
intenzita
0,57
0,29
0,14
0,07
0,06
0,04
0,03
0,01
0,01
0,00
Tabulka B.2 Hodnoty intenzit pro typ oblouk.
výška [km]
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
Intenzita
0,400
0,750
0,830
0,900
0,980
1,000
1,000
0,990
0,970
0,830
0,780
0,520
0,400
0,350
0,290
0,250
0,240
0,230
0,220
0,210
0,200
výška [km] Intenzita
121
0,200
122
0,200
123
0,200
124
0,190
125
0,180
126
0,185
127
0,170
128
0,150
129
0,140
130
0,125
131
0,115
132
0,110
133
0,100
134
0,100
135
0,100
136
0,100
137
0,095
138
0,090
139
0,090
140
0,085
141
0,085
výška [km] Intenzita
142
0,085
143
0,080
144
0,075
145
0,070
146
0,070
147
0,065
148
0,060
149
0,050
150
0,050
151
0,050
152
0,040
153
0,030
154
0,030
155
0,025
156
0,025
157
0,020
158
0,018
159
0,013
160
0,007
Tabulka B.3 Hodnoty intenzit paprskovitého oblouku.
3
výška [km] Intenzita výška [km] Intenzita výška [km] Intenzita
100
0,000
126
0,360
152
0,110
101
0,200
127
0,340
153
0,100
102
0,600
128
0,330
154
0,100
103
0,710
129
0,310
155
0,090
104
0,800
130
0,280
156
0,090
105
0,870
131
0,270
157
0,085
106
0,940
132
0,260
158
0,085
107
0,980
133
0,250
159
0,085
108
0,990
134
0,240
160
0,080
109
0,990
135
0,230
161
0,080
110
0,980
136
0,220
162
0,075
111
0,910
137
0,215
163
0,070
112
0,880
138
0,210
164
0,065
113
0,780
139
0,200
165
0,060
114
0,600
140
0,195
166
0,050
115
0,580
141
0,192
167
0,050
116
0,550
142
0,190
168
0,045
117
0,500
143
0,185
169
0,040
118
0,480
144
0,180
170
0,000
119
0,450
145
0,170
120
0,440
146
0,160
121
0,420
147
0,150
122
0,420
148
0,140
123
0,400
149
0,130
124
0,390
150
0,120
125
0,370
151
0,110
Tabulka B.4 Hodnoty intenzit pro tvar drapérie.
B4
PŘÍLOHA B
C.
Příloha C
Uživatelská příručka
Zde najdete vše, co je třeba ke spuštění námi vytvořené aplikace. Dozvíte se, jak program
ovládat a měnit nastavení záře.
C.1 Systémové požadavky
Operační systém MS Windows XP SP 3 a vyšší.
Knihovna glut32.dll.
C.2 Instalace aplikace
Instalace není nutná, program lze spustit pomocí souboru zare.exe. Ke spuštění je
nutné zkopírovat do složky se spustitelným souborem také soubor glut32.dll.
Dále by se měla ve stejné složce nacházet složka data, obsahující konfigurační
údaje polární záře a data pro vykreslení krajiny.
C.3 Ovládání aplikace
Zde jsou popsány možnosti ovládání aplikace, jako je pohyb po scéně a změny
vlastností polární záře.
Pohyb
Pohyb po scéně je zajištěn pomocí šipek. Náklon kamery ve vertikálním směru je je
realizován pomocí kláves Page Up a Page Down. Další možností změny směru pohledu lze
docílit pohybem myši.
Změna vektoru magnetického pole Země
Pro změnu směru vektoru magnetického pole Země slouží klávesy W, A, S, D.
Klávesy W a S slouží k posunu podél osy y, klávesy A a D pro posun v rovině určené
osami x a z.
Ostatní možnosti pomocí klávesnice
Pro vypsání informací o aktuálních vlastnostech polární záře souží klávesa I. Její
opětovné stisknutí informace opět skryje.
Pro zapnutí či vypnutí možnosti pohybu ve scéně slouží klávesa B.
C1
C2
PŘÍLOHA C
Ukončení programu je možno zvolit stisknutím klávesy ESC.
Editace polární záře
K možnosti upravit polární záři se dostaneme pomocí kliknutí pravého tlačítka myši
do okna s vykreslenou scénou.
Obrázek C.1 Ukázka vyvolaného menu.
Položky menu:
Kamery
–
–
CIE standard –
Prevodni matice –
Tvar
–
Animace
–
Antialiasing –
Konec
–
Počáteční pozice – vrátí kameru na pozici při spuštění
aplikace
Zare/Polygon – přepne mezi plnohodnotným zobrazením
polární záře nebo zobrazením pouhého obrysu pro rychlejší
pohyb po krajině
V tomto menu lze přepínat mezi standardem XYZ 1931 a
XYZ 1964
V tomto menu lze měnit převodní matice mezi prostory XYZ
a RGB
V tomto menu lze nastavit požadovaný tvar, který chceme
zobrazit
V tomto menu lze zapnout či vypnout dynamiku polární záře
V tomto menu lze zapnout či vypnout antialising pro polární
záři
Ukončí běh aplikace
Popis konfiguračního souboru
Pomocí konfiguračního souboru jsou nastaveny základní prvky určující výsledný
tvar polární záře. V následné ukázce si předvedeme, jaké parametry lze nastavit:
C3
<?xml version="1.0" ?>
<konfigurace>
<!-- Pocet pocatecnich bodu paprsku je urcen sirkou okna -->
<!-- Pocet vrstev v sheetu -->
<pocet_vrstev hodnota =
"3"/>
<!-- Pocet casti sheetu urcenych Bezierovymi krivkami
<pocet_foldu hodnota =
"2"/>
-->
<!-- Souradnice prvniho koncoveho bodu sheetu -->
<bod_Pi
x = "-120000" y = "160000" z ="220000"/>
<!-- Souradnice druheho koncoveho bodu sheetu -->
<bod_Pf
x = " 120000" y = "210000" z ="190000"/>
<!-- Smerovy vektor magnetickeho pole Zeme -->
<vektor_B x =
"0" y =
"-1" z =
"0"/>
<!-- Amplituda sinusovky sheetu - krivky s pocatecnimi body -->
<sheet_ampl w = "8000"/>
<!—- Nastaveni sirky foldu -->
<fold min = "5000" max= 35000/>
</konfigurace>
U jednotlivých parametrů jsou uvedeny komentáře, které dávají uživateli
informace, jaké atributy polární záře mohou být změněny. Těmito atributy jsou:
pocet_vrstev – nastaví počtu vrstev,
počet_foldu
– nastaví počet záhybů,
bod_Pi
– nastaví počáteční bod plošky,
bod_Pf
– nastaví koncový bod plošky,
vektor_B
– nastaví směr vektoru magnetického pole Země,
sheet_ampl
– nastaví výšku amplitudy křivek určující vrstvy,
fold
– nastaví požadované rozměry záhybů.
C4
PŘÍLOHA C
D.Příloha D
Obsah CD
Na přiloženém CD je složka hlavní Záře, která obsahuje složku s projektem
(Projekt), ve které se nacházejí zdrojové kódy aplikace, složku se spustitelnou verzí
aplikace (Spustitelná verze) a daty potřebnými k nahrání scény (konfigurační soubor,
textury,…) a složku se závěrečnou zprávou v elektronické podobě.
Obrázek D.1 Ukázka obsahu CD.
D1
D2
PŘÍLOHA D

Podobné dokumenty