Česká verze
Transkript
Vysoké učenı́ technické v Brně Fakulta stavebnı́ Ústav stavebnı́ mechaniky Aplikace GTDiPS GTDiPS Application General Transformation of Discrete Point Sequence Petr Frantı́k1 Jan Mašek2 Listopad 2014 1 2 Ing. Petr Frantı́k, Ph.D., FAST VUT v Brně, Česká republika, e-mail: [email protected] Bc. Jan Mašek, FAST VUT v Brně, Česká republika, e-mail: [email protected] Obsah 1 Úvod 1.1 Určenı́ aplikace GTDiPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Pojmy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Implementované transformačnı́ metody 2.1 Základnı́ transformace . . . . . . . . . . 2.1.1 Central Difference . . . . . . . . 2.1.2 Constant Weight . . . . . . . . . 2.1.3 Dimension Addition . . . . . . . 2.1.4 Dimension Merge . . . . . . . . . 2.1.5 Dimension Removal . . . . . . . 2.1.6 Dimension Split . . . . . . . . . . 2.1.7 Dimension Swap . . . . . . . . . 2.1.8 Delta Weighted Moving Average 2.1.9 Direction Swap . . . . . . . . . . 2.1.10 Duplicity . . . . . . . . . . . . . 2.1.11 Equidistant Average . . . . . . . 2.1.12 Equidistant Spline Interpolator . 2.1.13 Fast Fourier Transformation . . . 2.1.14 Filling Spline Interpolator . . . . 2.1.15 Functional Coordinate Addition 2.1.16 Negative Value Trim . . . . . . . 2.1.17 Origin Extrapolation . . . . . . . 2.1.18 Polynomial . . . . . . . . . . . . 2.1.19 Polynomial Derivative . . . . . . 2.1.20 Polynomial Gap Filler . . . . . . 2.1.21 Quadratic Difference . . . . . . . 2.1.22 Resize . . . . . . . . . . . . . . . 2.1.23 Rotation . . . . . . . . . . . . . . 2.1.24 Scale . . . . . . . . . . . . . . . . 2.1.25 Shear . . . . . . . . . . . . . . . 2.1.26 Simple Moving Average . . . . . 2.1.27 Simple Moving Median . . . . . 2.1.28 Soft Start Removal . . . . . . . . 2.1.29 Sort . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 4 4 5 5 5 6 6 6 7 7 8 8 8 9 9 10 10 10 11 11 12 12 13 13 14 14 14 14 15 15 OBSAH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 16 16 16 16 17 17 17 17 3 Uživatelské prostředı́ 3.1 Práce s řetězcem transformacı́ . . . . . . . . . . . . 3.1.1 Po spuštěnı́ . . . . . . . . . . . . . . . . . . 3.1.2 Načtenı́ vstupnı́ sekvence bodů ze souboru . 3.1.3 Generovánı́ sekvence bodů . . . . . . . . . . 3.1.4 Vloženı́ transformace do řetězce . . . . . . . 3.1.5 Uloženı́ a načtenı́ řetězce transformacı́ . . . 3.1.6 Programové výjimky . . . . . . . . . . . . . 3.2 Možnosti transformačnı́ho objektu . . . . . . . . . 3.2.1 Nastavenı́ transformace . . . . . . . . . . . 3.2.2 Export výsledků . . . . . . . . . . . . . . . 3.3 Zobrazenı́ výsledků . . . . . . . . . . . . . . . . . . 3.3.1 Hlavnı́ okno . . . . . . . . . . . . . . . . . . 3.3.2 Samostatné zobrazenı́ transformace . . . . . 3.3.3 Nastavenı́ zobrazenı́ grafu . . . . . . . . . . 3.3.4 Nastavenı́ zobrazenı́ sekvence bodů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 19 19 19 20 20 21 21 22 23 23 24 24 25 26 26 4 Formát datových souborů 4.1 Sekvence bodů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Řetězec transformacı́ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 28 28 5 Přı́klady 5.1 Derivace funkce . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Úprava dat z lomové zkoušky . . . . . . . . . . . . . . . . 5.2.1 Úprava vzestupné větve L-D diagramu - Soft Start 5.2.2 Úprava sestupné větve L-D diagramu - Snap Down 29 29 35 35 41 2.2 2.1.30 2.1.31 2.1.32 2.1.33 2.1.34 2.1.35 Makro 2.2.1 2.2.2 2.2.3 Spline Gap Filler . . . . . Tracking . . . . . . . . . . Translation . . . . . . . . Transposition . . . . . . . Trapezoidal Integration . X Duplicity . . . . . . . . transformace . . . . . . . Slope sort . . . . . . . . . Snap Down Replacement Soft Start Replacement . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Replacement . . . . . . . . . . . . Kapitola 1 Úvod 1.1 Určenı́ aplikace GTDiPS Aplikace GTDiPS sloužı́ pro hromadné zpracovánı́ rozsáhlých posloupnostı́ bodů za použitı́ pokročilých transformačnı́ch metod. Tyto metody umožňujı́ napřı́klad vyhlazenı́, odstraněnı́ šumu, snı́ženı́ počtu bodů, interpolaci nebo analytické operace. Grafické prostředı́ aplikace nabı́zı́ uživateli intuitivnı́ nástroj pro práci s transformacemi, prohlı́ženı́ a uloženı́ výsledků. 1.2 Pojmy • Posloupnost bodů je uspořádaná množina bodů určených souřadnicemi v n dimenzionálnı́m prostoru. • Transformace, transformačnı́ metoda je postup, jak z jedné poslupnosti bodů vytvořit jinou posloupnost. Výsledný počet bodů a jejich dimenze může být stejný nebo odlišný od původnı́ posloupnosti v závislosti na dané transformačnı́ metodě. Transformačnı́ metoda představuje implementovaný algoritmus, který transformuje jednu posloupnost bodů do druhé. • Objekt transformace je zástupce transformačnı́ metody v uživatelském prostředı́. Umožňuje nastavenı́ parametrů přiřazené transformačnı́ metody a spravuje výslednou posloupnost bodů. • Řetězec transformacı́ je posloupnost transformačnı́ch kroků. Prvnı́ transformačnı́ krok přebı́rá vstupnı́ sekvenci bodů ze vstupnı́ho souboru. Každý následujı́cı́ transformačnı́ krok potom použı́vá výstupnı́ sekvenci bodů předchozı́ho (aktivnı́ho) kroku. 3 Kapitola 2 Implementované transformačnı́ metody 2.1 Základnı́ transformace 2.1.1 Central Difference Spočı́tá numerickou hodnotu derivace prvnı́ dimenze podle nulté dimenze použitı́m metody centrálnı́ diference. Výsledek uložı́ do nově vytvořené dimenze. Postup 1. Ověřı́, zda je posloupnost ekvidistantnı́ vhledem k x0 . 2. Pro prvnı́ bod se spočı́tá derivace podle diferenčnı́ formule pro levý okraj intervalu., 3. Pro všechny body od i = 1 až i = n − 2 se provede výpočet podle diferenčnı́ formule pro vnitřnı́ body intervalu. 4. Pro poslednı́ bod se spočı́tá derivace podle diferenčnı́ formule pro pravý okraj intervalu. Požadavky Minimálně 3 body, minimálně 2 dimenze, ekvidistantnı́ rozdělenı́ bodů. Souvisejı́cı́ transformace Polynomial Derivative (2.1.19), Quadratic Difference (2.1.21), Equidistant Average (2.1.11), Equidistant Spline Interpolator (2.1.12). Přı́lohy http://uprt.vscht.cz/ucebnice/mb/MB222-v1.htm 4 Základnı́ transformace 2.1.2 Constant Weight Snı́žı́ počet bodů vytvořenı́m aritmetického průměru souřadnic daného počtu po sobě jdoucı́ch bodů. Postup 1. Pro každou w-tici po sobě jdoucı́ch bodů se spočı́tá aritmetický průměr jejich souřadnic. 2. Novému bodu jsou přiřazeny vypočtené součadnice. Parametry • weight[int] - váha, počet bodů, z nichž se počı́tá aritmetický průměr. Požadavky Parametr weight většı́ nebo roven jedné a menšı́ nebo roven počtu bodů. Poznámka Transformace nezohlednı́ body na konci posloupnosti tvořı́cı́ zbytek po celočı́selném dělenı́. 2.1.3 Dimension Addition Přidá novou dimenzi obsahujı́cı́ nulové hodnoty. Souvisejı́cı́ transformace Dimension Merge (2.1.4), Dimension Removal (2.1.5), Dimension Split (2.1.6), Dimension Swap (2.1.7), Functional Coordinate Addition (2.1.15). 2.1.4 Dimension Merge Změnı́ posloupnost na jednodimenzionálnı́ přesunutı́m hodnot z ostatnı́ch dimenzı́. Do nulté dimenze vložı́ obsah ostatnı́ch dimenzı́ tak, že (napřı́klad pro tři dimenze) bude nultá souřadnice bodů posloupnosti rovna: x0 = x0 (0), x1 (0), x2 (0), x0 (1), x1 (1), x2 (1), x0 (2), x1 (2), x2 (2), . . . , kde i je index bodu v posloupnosti. Poznámka Inverznı́ transformacı́ je Dimension Split. Souvisejı́cı́ transformace Dimension Addition (2.1.3), Dimension Removal (2.1.5), Dimension Split (2.1.6), Dimension Swap (2.1.7). 5 Implementované transformačnı́ metody 2.1.5 Dimension Removal Odstranı́ poslednı́ dimenzi. Požadavky Počet dimenzı́ musı́ být většı́ než 1. Souvisejı́cı́ transformace Dimension Addition (2.1.3), Dimension Merge (2.1.4), Dimension Split (2.1.6), Dimension Swap (2.1.7). 2.1.6 Dimension Split Zvýšı́ počet dimenzı́ posloupnosti tak, že rozdělı́ hodnoty v nulté dimenzi do nových dimenzı́. Rozdělenı́ je provedeno inverzně vůči transformaci Dimension Merge. Parametry • dimension [int] Požadavky Počet bodů musı́ být dělitelný počtem dimenzı́. Souvisejı́cı́ transformace Dimension Addition (2.1.3), Dimension Merge (2.1.4), Dimension Removal (2.1.5), Dimension Swap (2.1.7). 2.1.7 Dimension Swap Zaměnı́ dvě zadané dimenze. Parametry • first [int] • second [int] Souvisejı́cı́ transformace Dimension Addition (2.1.3), Dimension Merge (2.1.4), Dimension Removal (2.1.5), Dimension Split (2.1.6). 6 Základnı́ transformace 2.1.8 Delta Weighted Moving Average Vypočı́tá vážený klouzavý průměr všech dimenzı́ (z daného počtu po sobě jdoucı́ch bodů). Váhová funkce má tvar rovnoramenného trojúhelnı́ku s vrcholem uprostřed periody. Postup 1. Stanovenı́ diskrétnı́ váhové funkce. 2. Pro každou p-tici po sobě jdoucı́ch bodů se vypočı́tá vážený aritmetický průměr jeho dimenzı́. Parametry • period [int] Požadavky Perioda musı́ být vyššı́ než 2. Perioda musı́ být liché čı́slo. Velikost vstupnı́ sekvence musı́ být většı́ nebo rovna než perioda. Poznámka Počet bodů klesne o p − 1. Souvisejı́cı́ transformace Polynomial (2.1.18), Simple Moving Average (2.1.26),. 2.1.9 Direction Swap Obrátı́ směr posloupnosti bodů tak, že: xd (i) = xd (n − i − 1). Poznámka Původnı́ pořadı́ se obnovı́ po opětovném použitı́. Souvisejı́cı́ transformace Sort (2.1.29). 7 Implementované transformačnı́ metody 2.1.10 Duplicity Hledá po sobě jdoucı́ body bližšı́ k aktuálnı́mu středu než daná vzdálenost distance v n-dimenzionálnı́m prostoru. Aktuálnı́ střed je dán aritmetickým průměrem souřadnic nalezených bodů. Výsledkem je nový bod v mı́stě poslednı́ho aktuálnı́ho středu, u kterého došlo k překročenı́ dané vzdálenosti. Parametry • distance [double] Poznámka Výsledek transformace je závislý na pořadı́ bodů. Souvisejı́cı́ transformace Sort (2.1.29), Tracking (2.1.31), X Duplicity (2.1.35). 2.1.11 Equidistant Average Vytvořı́ nové body ve středech intervalů obsahujı́cı́ch body. Délka intervalu je určena parametrem distance a intervaly jsou rozmı́stěny tak, že hranice intervalu procházı́ bodem x0 = 0. Parametry • distance [double] Poznámka Transformace ignoruje pořadı́ bodů v posloupnosti. Souvisejı́cı́ transformace Equidistant Spline Interpolator (2.1.12). 2.1.12 Equidistant Spline Interpolator Vytvářı́ novou ekvidistantnı́ posloupnost bodů ležı́cı́ch na n-dimenzionálnı́m parametrickém kubickém splajnu proloženém původnı́ posloupnostı́. Parametry • distance [double] Požadavky Počet bodů musı́ být alespoň 2. 8 Základnı́ transformace Poznámka Transformace ignoruje pořadı́ bodů v posloupnosti. Souvisejı́cı́ transformace Equidistant Average (2.1.11). Přı́lohy http://mathworld.wolfram.com/CubicSpline.html 2.1.13 Fast Fourier Transformation Provádı́ FFT (Rychlou Fourierovu Transformaci) prvnı́ch dvou dimenzı́. Dimenze x0 je brána jako časová dimenze, dimenze x1 jako reálná složka a dimenze x2 jako imaginárnı́ složka signálu. Výsledky transformace jsou uloženy ve čtyřech nových dimenzı́ch. Prvnı́ nová dimenze obsahuje frekvence bodů v Hz, v druhé nové dimenzi jsou kruhové frekence v rad/s, ve třetı́ dimenzi jsou amplitudy signálu a ve čtvrté jeho fáze. Poznámka Využije se pouze (2m < n) bodů ze zdrojové posloupnosti, kde m je celé čı́slo (maximálnı́ exponent). Časová dimenze musı́ být ekvidistantnı́. Přı́lohy http://cs.wikipedia.org/wiki/Rychl%C3%A1_Fourierova_transformace 2.1.14 Filling Spline Interpolator Prokládá sekvenci multidimenzionálnı́m parametrickým kubickým splajnem a doplňuje daný počet bodů childCount mezi každou dvojici původnı́ch po sobě jdoucı́ch bodů. Parametry • childCount [int] Požadavky Parametr childCount [int] musı́ být většı́ než 1. Poznámka Rozdělenı́ nových bodů je dáno parametrem kubického splajnu, což nezajišt’uje vizuálnı́ rovnoměrnost rozdělenı́ v rovině x0 , x1 . 9 Implementované transformačnı́ metody Souvisejı́cı́ transformace Spline Gap Filler (2.1.30), Polynomial Gap Filler (2.1.20). 2.1.15 Functional Coordinate Addition Přidává dimenzi obsahujı́cı́ hodnoty funkce dané předpisem definition a souřadnicemi daného bodu. Parametry • definition [String] 2.1.16 Negative Value Trim Maže body se zápornou hodnotou souřadnice x1 . Požadavky Počet dimenzı́ minimálně 2. Souvisejı́cı́ transformace Translation (2.1.32), Scale (2.1.24). 2.1.17 Origin Extrapolation Aproximuje počátečnı́ část sekvence délky distance přı́mkou. Tato přı́mka je použita k extrapolaci pro nalezenı́ průsečı́ku x1 = 0. Nakonec posune posloupnost tak, aby x0 = 0. Tj. aby extrapolovaná posloupnost začı́nala v počátku. Postup 1. Aproximace počátečnı́ části posloupnosti délky distance pomocı́ přı́mky v rovině x0 , x1 . 2. Výpočet délky posunutı́ posloupnosti tak, aby aproximačnı́ přı́mka procházela počátkem. 3. Provedenı́ posunutı́ posloupnosti. Parametry • distance [double] Požadavky Hodnota distance musı́ být kladná. Počet bodů musı́ být alespoň 2. Souvisejı́cı́ transformace Soft Start Removal (2.1.28). 10 Základnı́ transformace 2.1.18 Polynomial Nahrazuje dimenzi x1 hodnotami aproximace bodů posloupnosti polynomem v rovině x0 , x1 . Pro každý refernčnı́ bod se aproximujı́ sousednı́ body v jeho okolı́ o poloměru distance. Parametry • degree [int] • distance [double] • ignoreMissingPoints [boolean] • ignoreUnsolvable [boolean] Požadavky Hodnota distance musı́ být kladná. Stupeň degree musı́ být menšı́ nebo roven n − 1, kde n je počet bodů. Poznámka V přı́padě, že je v průběhu výpočtu zjištěn nedostatek potřebných bodů k výpočtu,respektive výpočet nemůže být proveden z jiného důvodu (singulárnı́ matice soustavy lineárnı́ch rovnic), transformace se neprovede. Přesto je možné transformaci provést použitı́m voleb ignoreMissingPoints, respektive ignoreUnsolvable. Souřadnice referenčnı́ho bodu v dimenzı́ch vyjma dimenze x1 zústávajı́ nezměněny. Souvisejı́cı́ transformace Polynomial Derivative (2.1.19), Simple Moving Average (2.1.26), Delta Weighted Moving Average (2.1.8). 2.1.19 Polynomial Derivative Provádı́ aproximaci polynomem stejně jako transformace Polynomial. Mı́sto nahrazenı́ dimenze x1 přidá novou dimenzi s hodnotami derivace polynomu v referenčnı́m bodě. Postup Parametry • degree [int] • distance [double] • exceptionalY [double] • ignoreMissingPoints [boolean] • ignoreUnsolvable [boolean] 11 Implementované transformačnı́ metody Požadavky Viz Polynomial. Poznámka Viz Polynomial. V přı́padě požadavku speciálnı́ hodnoty derivace při vzniku výjimky je možné tuto nastavit pomocı́ parametru exceptionalY. Souvisejı́cı́ transformace Polynomial (2.1.18), Simple Moving Average (2.1.26), Delta Weighted Moving Average (2.1.8). 2.1.20 Polynomial Gap Filler Hledá mezery v posloupnosti většı́ než distance v dimenzi x0 . V přı́padě nalezenı́ mezery provede aproximaci polynomem v rovině x0 , x1 a doplnı́ nové body se vzdálenostı́ menšı́ než distance ležı́cı́ na aproximačnı́m polynomu. Parametry • degree [int] • distance [double] • leftDistance [double] • rightDistance [double] • ignoreMissingPoints [boolean] • ignoreUnsolvable [boolean] Požadavky Viz Polynomial. Poznámka Viz Polynomial. Souvisejı́cı́ transformace Polynomial (2.1.18). 2.1.21 Quadratic Difference Pro prvnı́ dvě dimenze (x0 a x1 ) proložı́ třemi po sobě jdoucı́mi body polynom druhého stupně. Spočı́tá hodnotu derivace nalezeného polynomu pro souřadnici x0 daného bodu. Výsledek uložı́ do nově vytvořené dimenze. 12 Základnı́ transformace Postup 1. Pro prvnı́ bod se uvažujı́ prvnı́ tři body posloupnosti. 2. Pro body od i = 1 až i = n − 2 se uvažuje daný bod, předchozı́ a následujı́cı́. 3. Pro poslednı́ bod se uvažujı́ poslednı́ tři body posloupnosti. Parametry • žádné nastavitelné parametry. Požadavky Minimálně 3 body, minimálně 2 dimenze. Souvisejı́cı́ transformace Central Difference (2.1.1), Polynomial Derivative (2.1.19). 2.1.22 Resize Umožňuje změnit délku posloupnosti přidánı́m nebo ubránı́m bodů na obou koncı́ch. Parametry • first [int] - index počátečnı́ho bodu výsledné posloupnosti vzatý relativně k původnı́ indexaci. • last [int] - index koncového bodu výsledné posloupnosti vzatý relativně k původnı́ indexaci. 2.1.23 Rotation Provede otočenı́ posloupnosti bodů o úhel angle kolem středu otáčenı́ v souřadnicı́ch x, y. Parametry • angle [double] • x [double] • y [double] Souvisejı́cı́ transformace Scale (2.1.24), Shear (2.1.25), Translation (2.1.32). 13 Implementované transformačnı́ metody 2.1.24 Scale Provede změnu měřı́tka posloupnosti bodů. Parametry • x [double] • y [double] Souvisejı́cı́ transformace Rotation (2.1.23), Shear (2.1.25), Translation (2.1.32). 2.1.25 Shear Provede smyk posloupnosti bodů podle předpisu: x00 = x0 + x · x1 , x01 = x1 + y · x0 . Parametry • x [double] • y [double] Souvisejı́cı́ transformace Rotation (2.1.23), Scale (2.1.24), Translation (2.1.32). 2.1.26 Simple Moving Average Vypočı́tá klouzavý průměr všech dimenzı́ (z daného počtu po sobě jdoucı́ch bodů). Parametry • period [int] Souvisejı́cı́ transformace Delta Weighted Moving Average (2.1.8), Simple Moving Median (2.1.27). 2.1.27 Simple Moving Median Vypočı́tá klouzavý medián všech dimenzı́. Parametry • period [int] 14 Základnı́ transformace Souvisejı́cı́ transformace Delta Weighted Moving Average (2.1.8), Simple Moving Average (2.1.26). 2.1.28 Soft Start Removal Odstranı́ počátečnı́ část posloupnosti končı́cı́ bodem, ve kterém je maximálnı́ derivace. Tato derivace je vypočtená pomocı́ transformace Quadratic Difference. Souvisejı́cı́ transformace Quadratic Difference (2.1.21). 2.1.29 Sort Seřadı́ posloupnost bodů podle souřadnic v dimenzi x0 . 2.1.30 Spline Gap Filler Hledá mezery v posloupnosti většı́ než distance v dimenzi x0 . V přı́padě nalezenı́ mezery provede interpolaci multidimenzionálnı́m splajnem a doplnı́ nové body se vzdálenostı́ menšı́ než distance ležı́cı́ na aproximačnı́m splajnu. Parametry • distance [double] Souvisejı́cı́ transformace Polynomial Gap Filler (2.1.20). 2.1.31 Tracking Hledá po sobě jdoucı́ body bližšı́ k aktuálnı́mu středu než daná vzdálenost distance v rovině x0 , x1 . Aktuálnı́ střed je dán aritmetickým průměrem souřadnic nalezených bodů. Výsledkem je nový bod v mı́stě poslednı́ho aktuálnı́ho středu, u kterého došlo k překročenı́ dané vzdálenosti. Parametry • distance [double] Poznámka Výsledek transformace je závislý na pořadı́ bodů. V přı́padě zpracovánı́ sekvence s odlišnými jednotkami u dimenzı́ x0 , x1 lze výsledek transformace ovlivňovat předchozı́m užitı́m transformace Scale. 15 Implementované transformačnı́ metody Souvisejı́cı́ transformace Duplicity (2.1.10), Sort (2.1.29), X Duplicity (2.1.35). 2.1.32 Translation Provede posunutı́ posloupnosti bodů o hodnoty x a y. Parametry • x [double] • y [double] 2.1.33 Transposition Provede transpozici indexu dimenze za index bodu. Obdobně jako při transpozici v maticovém počtu, tj. že xi (j) = xj (i). Délka výsledné posloupnosti bude potom rovna počtu dimenzı́ původnı́ posloupnosti a naopak. 2.1.34 Trapezoidal Integration Numericky integruje vstupnı́ posloupnost pomocı́ lichoběžnı́kového pravidla. 2.1.35 X Duplicity Hledá po sobě jdoucı́ body bližšı́ k aktuálnı́mu středu než daná vzdálenost distance v dimenzi x0 . Aktuálnı́ střed je dán aritmetickým průměrem souřadnic nalezených bodů. Výsledkem je nový bod v mı́stě poslednı́ho aktuálnı́ho středu, u kterého došlo k překročenı́ dané vzdálenosti. Parametry • distance [double] Poznámka Výsledek transformace je závislý na pořadı́ bodů. Souvisejı́cı́ transformace Duplicity (2.1.10), Sort (2.1.29), Tracking (2.1.31). 16 Makro transformace 2.2 2.2.1 Makro transformace Slope sort Řadı́ body podle sklonu spojnice s počátkem souřadného systému (v rovině x0 , x1 ). Transformace uložı́ hodnoty sklonů do nové dimenze. 2.2.2 Snap Down Replacement Odstraňuje body pro které derivace podle času překročı́ daný limit a nahrazuje je novými body. Výpočet derivace probı́há pomocı́ Quadratic Difference. Parametry • displacementIndex [int] • limit [double] • timeIndex [int] Souvisejı́cı́ transformace Quadratic Difference (2.1.21). 2.2.3 Soft Start Replacement Sdružuje transformaci Soft Start Removal, Origin Extrapolation a doplňuje extrapolovanou část novými body. Parametry • distance [double] Souvisejı́cı́ transformace Origin Extrapolation (2.1.17), Soft Start Removal (2.1.28). 17 Kapitola 3 Uživatelské prostředı́ Grafické uživatelské prostředı́ aplikace GTDiPS je vytvořeno s cı́lem poskytnout uživateli přehledný, intuitivnı́ a efektivnı́ aparát, jenž umožňuje sledovat výsledky transformačnı́ch kroků a současně ladit parametry výpočtu pro zı́skánı́ optimálnı́ch výsledků. Hlavnı́ okno aplikace je rozděleno na panel transformačnı́ho řetězce a náhled výsledků, viz obrázek 3.1. Obrázek 3.1: Hlavnı́ okno při práci. 18 Práce s řetězcem transformacı́ 3.1 3.1.1 Práce s řetězcem transformacı́ Po spuštěnı́ Po spuštěnı́ aplikace se zobrazı́ hlavnı́ okno s prázdným řetězcem transformacı́ a prázdným náhledem výsledků, viz obrázek 3.2. Pro činnost aplikace je zapotřebı́ vložit vstupnı́ sekvenci (nebo sekvence) bodů, na kterou budou dále aplikovány transformačnı́ kroky. Obrázek 3.2: Hlavnı́ okno ihned po spuštěnı́. 3.1.2 Načtenı́ vstupnı́ sekvence bodů ze souboru Primárnı́ možnostı́, jak do aplikace vložit sekvenci bodů, je načtenı́ ze souboru. Po stisku tlačı́tka Import point sequence (Importovat sekvenci bodů) (viz obrázek 3.3) se zobrazı́ dialogové okno pro výběr souborů. Lze vybrat jeden nebo vı́ce vstupnı́ch souborů. Obrázek 3.3: Načtenı́ vstupnı́ch souborů. Po úspěšném načtenı́ vstupnı́ch sekvencı́ bodů lze tyto samostatně prohlı́žet v hlavnı́m okně, viz obrázek 3.4. Obrázek 3.4: Výběr zobrazované sekvence. 19 Uživatelské prostředı́ 3.1.3 Generovánı́ sekvence bodů Druhá možnost vloženı́ sekvence bodů je jejı́ vygenerovánı́ přı́mo v aplikaci. Výsledkem je jednorozměrná sekvence ekvidistantně vzdálených bodů. Pro generaci bodů sloužı́ tlačı́tko Generate point sequence (Generovat sekvenci bodů), viz obrázek 3.5. Obrázek 3.5: Generovánı́ sekvence bodů. Po stisku tlačı́tka Generate point sequence se objevı́ dialogové okno žádajı́cı́ výběr metody generovánı́ a zadánı́ parametrů pro generovánı́. Generovat řadu bodů je možné na základě zadánı́ intervalu nebo zadánı́m vzdálenosti bodů, viz obrázek 3.6. Obrázek 3.6: Generovánı́ sekvence bodů. 3.1.4 Vloženı́ transformace do řetězce Pro vloženı́ transformačnı́ho kroku do řetězce transformacı́ sloužı́ tlačı́tko Add new transformation to chain (Vložit novou transformaci do řetězce). Obrázek 3.7: Vloženı́ transformace. Po jeho stisku se objevı́ paleta pro výběr z tzv. Základnı́ch transformacı́ nebo tzv. Makro transformacı́, viz obrázek 3.8. Po výběru transformace se tato vložı́ do řetězce a otevře se dialogové okno prvotnı́ho nastavenı́ parametrů transformace, podrobněji v odstavci 3.2.1. 20 Práce s řetězcem transformacı́ Obrázek 3.8: Výběr vkládaného transformačnı́ho kroku. 3.1.5 Uloženı́ a načtenı́ řetězce transformacı́ Aktuálnı́ řetězec transformacı́ lze uložit pro opakované použitı́ pomocı́ tlačı́tka Save transformation chain (Uložit řetězec transformacı́). Pro načtenı́ řetězce transformacı́ sloužı́ tlačı́tko Import transformation chain (Importovat řetězec transformacı́). Obrázek 3.9: Uloženı́ a načtenı́ řetězce. Uložený řetězec transformacı́ uchovává veškeré transformačnı́ kroky a hodnoty nastavenı́ jejich parametrů. Použitı́ uloženého (nachystaného) transformačnı́ho řetězce nenı́ omezeno počtem souborů, na které budou/byly transformace aplikovány, ani počtem jejich dimenzı́ (jsou-li obsaženy všechny potřebné). Vı́ce o formátu souboru řetězce transformacı́ v sekci 4.2. 3.1.6 Programové výjimky Vznik programových výjimek je při chodu programu sledován. Nastalá výjimka je hlášena uživateli, viz obrázek 3.10. Obrázek 3.10: Hlášenı́ programové výjimky. 21 Uživatelské prostředı́ 3.2 Možnosti transformačnı́ho objektu Transformačnı́ objekty v řetězci transformacı́ jsou zobrazeny v panelu transformacı́, který umožňuje prováděnı́ úkonů pro práci s transformacemi, viz obrázek 3.11a. Transformačnı́ objekt umožňuje aktivaci nebo deaktivaci transformačnı́ metody1 , zobrazuje jejı́ čı́slo a název, dovoluje posun v řetězci transformacı́ a odstraněnı́ transformace. Zobrazenı́ posloupnosti bodů v grafu lze vypnout kliknutı́m na panelu transformace2 . Nástroje transformačnı́ho objektu umožňujı́ (viz obrázek 3.11b): • změnu vlastnostı́ (Properties, odst. 3.2.1), • nastavenı́ zobrazenı́ (Display Settings, odst. 3.3.4), • přidánı́ klonu (Add clone 3 ), • zobrazit transformaci samostatně (Display alone, odst. 3.3.2), • výstup do TXT souboru (Export to TXT, odst. 3.2.2). b) a) 2 1 4 5 3 6 Obrázek 3.11: Možnosti transformace. 1)Aktivace/deaktivace, 2)Název transformace, 3)Posun v řetězci, 4)Zobrazenı́ posloupnosti, 5)Nástroje transformace, 6)Odstraněnı́ transformace. 1 Deaktivovaný transformačnı́ objekt je vyřazen z transformačnı́ho řetězce. Zobrazenı́ nebo skrytı́ bodů transformačnı́ho objektu nijak neovlivňuje průběh výpočtu, na rozdı́l od aktivace a deaktivace. 3 Vložı́ do řetězce transformacı́ dalšı́ transformačnı́ krok stejného druhu s totožnými parametry. 2 22 Možnosti transformačnı́ho objektu 3.2.1 Nastavenı́ transformace Dialogové okno vlastnostı́ transformace (Properties) umožňuje měnit parametry transformačnı́ metody. Tlačı́tko Apply (Provést) a Ok provede nastavenı́ zadaných hodnot a vyvolá přepočet dotčeného transformačnı́ho kroku a kroků následujı́cı́ch. Tlačı́tko Apply (Provést) však nezpůsobı́ skrytı́ dialogu a umožnı́ tak dále ladit parametry transformace. Obrázek 3.12: Vlastnosti transformace. 3.2.2 Export výsledků Dialogové okno pro export (viz obrázek 3.13) umožňuje exportovat zvolené výsledky do textového souboru. Lze exportovat výsledky transformačnı́ho kroku pro jediný vybraný soubor nebo pro všechny vstupnı́ soubory. Vı́ce o formátu výstupnı́ho textového souboru v sekci 4.1. Obrázek 3.13: Export výsledků. 23 Uživatelské prostředı́ 3.3 Zobrazenı́ výsledků Uživatelské prostředı́ aplikace GTDiPS nabı́zı́ bohaté možnosti zobrazenı́ výsledků transformačnı́ch kroků. Je implementována funkce Zoom pomocı́ kolečka myši, jakož i funkce Pan drženı́m tlačı́tka myši. Podle povahy úlohy je možné patřičně nastavit vlastnosti zobrazenı́ grafu (vı́ce v odstavci 3.3.3) i zobrazenı́ sekvencı́ bodů (vı́ce v odstavci 3.3.4). 3.3.1 Hlavnı́ okno V hlavnı́m okně mohou být zobrazeny všechny transformačnı́ kroky zároveň, jejich zobrazenı́ lze ovlivnit na panelech transformacı́, viz odstavec 3.2. Hlavnı́ okno zobrazuje pouze nultou a prvnı́ dimenzi sekvence bodů, tedy pouze dimenze, které jsou (zpravidla) použity pro výpočet transformacı́. Obrázek 3.14: Zobrazenı́ výsledků v hlavnı́m okně. 24 Zobrazenı́ výsledků 3.3.2 Samostatné zobrazenı́ transformace Okno samostatného zobrazenı́ transformace je nejefektivnějšı́m nástrojem pro prohlı́ženı́ sekvence bodů transformačnı́ho kroku, viz obrázek 3.15. Okno umožňuje: • Výběr souboru z použitých vstupnı́ch souborů. • Výběr přı́slušného transformačnı́ho kroku. • Nezávislý výběr zobrazovaných dimenzı́ pro obě osy. • Možnost nastavenı́ alternativnı́ho zobrazenı́ grafu, viz odstavec 3.3.3. • Možnost nastavenı́ alternativnı́ho zobrazenı́ sekvence bodů, viz odstavec 3.3.4. Obrázek 3.15: Zobrazenı́ výsledků v samostatném okně. 25 Uživatelské prostředı́ 3.3.3 Nastavenı́ zobrazenı́ grafu Aplikace GTDiPS nabı́zı́ uživateli vlastnı́ nastavenı́ zobrazenı́ grafu, viz obrázek 3.16a: • Osy (Axes): vykreslenı́, tloušt’ka, barva, pozice, vynucenı́ procházenı́ osy nulou. • Značky (Ticks): vykreslenı́, délka, tloušt’ka, barva. • Mřı́žka (Grid): vykreslenı́, tloušt’ka, barva. • Hodnoty (Labels): vykreslenı́, hustota, počet platných čı́slic. • Pozadı́ grafu (Background): barva. 3.3.4 Nastavenı́ zobrazenı́ sekvence bodů Podobně jako u zobrazenı́ grafu, uživateli je umožněno upravovat styl zobrazenı́ bodů jednotlivých transformacı́, viz obrázek 3.16b: • Barva vykreslovánı́. • Body: vykreslenı́, okraje bodů, průměr, zvýrazněnı́ počátku a konce sekvence. • Čáry: vykreslenı́, okraje čar, tloušt’ka. 26 Zobrazenı́ výsledků a) b) Obrázek 3.16: Nastavenı́ zobrazenı́ grafu a sekvence bodů. 27 Kapitola 4 Formát datových souborů 4.1 Sekvence bodů Pro vstup a výstup sekvencı́ bodů použı́vá aplikace GTDiPS jednoduché prostředı́ textového souboru. Každý řádek obsahuje souřadnice bodu ve všech dimenzı́ch oddělené tabulátorem. Jako desetinný oddělovač se standardně použı́vá tečka. Formát textového souboru je zřejmý z následujı́cı́ ukázky. 1 2 3 4 5 6 7 8 9 # x0 -0.98 -0.96 -0.94 -0.92 -0.88 -0.86 -0.84 -0.82 4.2 # x1 0.9604 0.9216 0.8836 0.8464 0.7744 0.7396 0.7056 0.6724 # x2 -0.941192 -0.884736 -0.830584 -0.778688 -0.681472 -0.636056 -0.592704 -0.551368 # x3 0.92236816 0.84934656 0.78074896 0.71639296 0.59969536 0.54700816 0.49787136 0.45212176 # x4 -0.903920797 -0.815372698 -0.733904022 -0.659081523 -0.527731917 -0.470427018 -0.418211942 -0.370739843 Řetězec transformacı́ K ukládánı́ řetězce transformacı́ sloužı́ aplikaci rozšiřitelný značkovacı́ jazyk (Extensible Markup Language), tedy soubor formátu *.xml. Jak je ukázáno na přı́kladu, uložený řetězec transformacı́ lze snadno čı́st a editovat. 1 < Container package =" cz . kitnarf . io . xml " > 2 < P o l y n o m i a lDerivative package =" cz . kitnarf . pointsequence . transformation " exceptionalY ="0.0" ignoreMissingPoints =" false " ignoreUnsolvable =" false " degree ="5" distance ="1.0"/ > 3 < CoordinateSwap package =" cz . kitnarf . pointsequence . transformation " first ="1" second ="2"/ > 4 < Rotation package =" cz . kitnarf . pointsequence . transformation " angle ="0.12" x ="0.0" y ="0.0"/ > 5 </ Container > 28 Kapitola 5 Přı́klady 5.1 Derivace funkce Přı́klad ilustruje postup při derivaci funkce, kontrolu výsledků a export pro dalšı́ práci s výslednou sekvencı́ bodů. • Mějme vstupnı́ sekvenci bodů o dvou dimenzı́ch, viz obrázek 5.1. • Nynı́ vložı́me nový transformačnı́ krok. Klikneme na tlačı́tko Add new transformation to chain a ze základnı́ch transformacı́ (Raw transformations) vybereme napřı́klad transformačnı́ metodu PolynomialDerivative. Objevı́ se okno nastavenı́ nové transformace, viz obrázek 5.2. Vložı́me požadované parametry transformace a po kliknutı́ na tlačı́tko Apply nebo Ok se provede výpočet transformačnı́ metody. • Námi vložený transfomačnı́ krok použil pro výpočet derivace nultou a prvnı́ dimenzi vstupnı́ho souboru a vypočtené hodnoty uložil do nově vytvořené dimenze. V hlavnı́m okně (viz obrázek 5.3) nynı́ nejsou zobrazeny nově zı́skané hodnoty derivace, nebot’ zde jsou zobrazovány prvnı́ dvě dimenze sekvencı́ bodů (nultá a prvnı́ dimenze), viz odstavec 3.3.1. • Zı́skanou dimenzi x2 si můžeme prohlédnout v samostatném zobrazenı́ transformačnı́ho kroku, viz sekce 3.2, odstavec 3.3.2 a obrázek 5.4. Dı́ky nezávislé volbě zobrazovaných dimenzı́ si lze výsledek prohlédnout napřı́klad i ve fázovém prostoru při zobrazenı́ prvnı́ a druhé dimenze, viz obrázek 5.5 • Výsledky transformace lze exportovat do textového souboru, viz obrázek 5.6, a dále použı́t při dalšı́ práci, viz obrázek 5.8. • Pro dalšı́ práci s dimenzı́ x2 přidejme do řetězce transformačnı́ krok DimensionSwap, viz obrázek 5.9. Tı́mto docı́lı́me formálnı́ výměny prvnı́ a druhé dimenze. Výsledek ilustruje obrázek 5.10. 29 Přı́klady Obrázek 5.1: Vstupnı́ sekvence bodů. Obrázek 5.2: Vloženı́ transformace PolynomialDerivative. 30 Derivace funkce Obrázek 5.3: Hlavnı́ okno po provedenı́ vloženého transformačnı́ho kroku. Obrázek 5.4: Samostatné zobrazenı́ transformačnı́ho kroku. 31 Přı́klady Obrázek 5.5: Samostatné zobrazenı́ transformačnı́ho kroku. Obrázek 5.6: Export sekvence bodů transformačnı́ho kroku. Obrázek 5.7: Výstupnı́ textový soubor. 32 Derivace funkce Obrázek 5.8: Výstupnı́ data zobrazená v tabulkovém editoru. Obrázek 5.9: Vloženı́ transformace CoordinateSwap. 33 Přı́klady Obrázek 5.10: Hlavnı́ okno po provedenı́ záměny prvnı́ a druhé dimenze. 34 Úprava dat z lomové zkoušky 5.2 5.2.1 Úprava dat z lomové zkoušky Úprava vzestupné větve L-D diagramu - Soft Start Přı́klad popisuje úpravu zatěžovacı́ch diagramů zı́skaných z experimentálnı́ch měřenı́. Vlivem počátečnı́ch efektů, mezi které patřı́ napřı́klad dosedánı́ vzorku na podpory, vzniká na zatěžovacı́m diagramu část, kterou je žádoucı́ odstranit a daný diagram poté posunout tak, aby jeho extrapolace procházela počátkem souřadného systému. • Mějme výstup z lomové zkoušky ve formátu posloupnosti bodů ve třech dimenzı́ch: x0 (posun), x1 (sı́la) a x2 (čas), viz obrázek 5.11. • Nejprve vložme transformaci Resize, viz odstavec 2.1.22 a obrázek 5.12. Tı́m docı́lı́me odebránı́ bodů na samém začátku a konci posloupnosti, viz výsledek 5.13. • Dále do řetězce transformacı́ přidejme transformaci Delta Weighted Moving Average, viz odstavec 2.1.8 a obrázek 5.14. Výsledek transformace je ukazuje obrázek 5.15. • Nynı́ je třeba vložit transformačnı́ makro Soft Start Replacement, viz odstavec 2.2.3 a obrázek 5.16. Výsledek transformačnı́ho kroku znázorňuje obrázek 5.17. • Poslednı́m krokem je přidánı́ transformace Polynomial Gap Filler pro vyplněnı́ počátku vzestupné větve, viz odstavec 2.1.20 a obrázek 5.18. • Výslednou posloupnost bodů ukazuje obrázek 5.19. 35 Přı́klady Obrázek 5.11: Načtená data z lomové zkoušky. Obrázek 5.12: Vloženı́ transformace Resize. 36 Úprava dat z lomové zkoušky Obrázek 5.13: Výsledek transformace Resize. Obrázek 5.14: Vloženı́ transformace Delta Weighted Moving Average. 37 Přı́klady Obrázek 5.15: Výsledek transformace Delta Weighted Moving Average. Obrázek 5.16: Vloženı́ makro transformace Soft Start Replacement. 38 Úprava dat z lomové zkoušky Obrázek 5.17: Výsledek makro transformace Soft Start Replacement. Obrázek 5.18: Vloženı́ transformace Polynomial Gap Filler. 39 Přı́klady Obrázek 5.19: Výsledek transformace Polynomial Gap Filler. 40 Úprava dat z lomové zkoušky 5.2.2 Úprava sestupné větve L-D diagramu - Snap Down Replacement Konfigurace experimentálnı́ soustavy lis-vzorek pro kvazistatické měřenı́ může způsobit vznik náhlé události, která se vymyká z podmı́nek takového měřenı́. Transformace odhaluje (z časových řad posunutı́) porušenı́ podmı́nky kvazistatického zatěžovánı́ a odstraňuje odpovı́dajı́cı́ naměřené body. • Mějme výstup z lomové zkoušky ve formátu posloupnosti bodů ve třech dimenzı́ch: x0 (posun), x1 (sı́la) a x2 (čas), viz obrázek 5.20. • Vložme transformačnı́ makro Snap Down Replacement, viz odstavec 2.2.2 a obrázek 5.21. • Výsledek transformace ukazuje obrázek 5.22. Z posloupnosti bodů byly odstraněny body, u nichž derivace podle času překračuje daný limit. • Nynı́ provedeme vyplněnı́ vzniklé mezery pomocı́ transformace Polynomial Gap Filler, viz sekce 2.1.20 a obrázek 5.23. • Výslednou posloupnost bodů ukazuje obrázek 5.24. 41 Přı́klady Obrázek 5.20: Načtená data z lomové zkoušky. Obrázek 5.21: Vloženı́ makro transformace Snap Down Replacement. 42 Úprava dat z lomové zkoušky Obrázek 5.22: Výsledek makro transformace Snap Down Replacement. Obrázek 5.23: Vloženı́ transformace Polynomial Gap Filler. 43 Přı́klady Obrázek 5.24: Výsledek transformace Polynomial Gap Filler. 44
Podobné dokumenty
Vysoké učení technické v Brně DIZERTAČNÍ PRÁCE
vhodné parametry pro experimentální srovnání. Provést experiment a aplikovat popsané
metody sledování nelineárních jevů, včetně verifikace vybraného modelu.
Stáhnout
vznikala technická dı́la všech druhů. Dokonce se mnohdy vyskytla i taková dı́la, že
i v současné době se nad nimi rozum laika i odbornı́ka dlouze pozastavuje. Takto
důmyslná řešenı́ jas...
1 Typografie a MS Word 2 1.1 Uzivatelská nastavenı programu MS
Program MS Word je poměrně „uživatelsky přı́tulný“, tedy to, co nejčastěji potřebujeme provést, nenı́ těžké v prostředı́ programu najı́t. Často se však dostaneme do
potı́žı́ nebo al...
Stáhněte si obsah školení
Přeurčené vazby a součásti
Nástroj MateXpert
Nahrazení součástí pomocí příkazu Uložit jako
Zrcadlení součástí
Zrcadlení nebo kopírování
Opětovné načtení součástí
Lekce 4
Velké sestavy
Velké sestavy...
Abstrakt Klíčová slova Abstract Keywords 1 Úvod
úlohách mechaniky deformovatelných těles pomocí metody konečných prvků. Každý
čtyřúhelník sítě by měl být tvarově co nejbližší čtverci z důvodu výstižnosti
aproximovaných veličin a numerické stabil...
What`s New in SOLIDWORKS 2015
Zobrazení průměru válce na stavovém řádku...................................................................................28
Přepínání z modelů na výkresy............................................
Co je nového v SolidWorks 2010
Správa úloh ...........................................................................................................................................90
Nastavení úloh................................