Po částech lineární pokračování - Piecewise linear continuation
Zjednodušené pokračovánínebo po částech lineární pokračování (Allgower a Georg),[1][2] je jeden parametr metoda pokračování který je vhodný pro malé a střední mezery. Algoritmus byl zobecněn tak, aby vypočítal vícerozměrná potrubí od (Allgower a Gnutzman)[3] a (Allgower a Schmidt).[4]
Algoritmus pro kreslení obrysů je zjednodušený pokračovací algoritmus, a protože je snadno vizualizovatelný, slouží jako dobrý úvod do algoritmu.
Obrysové vykreslování
Problémem obrysového vykreslování je najít nuly (obrysy) ( hladká skalární funkce) ve čtverci ,
Čtverec je rozdělen na malé trojúhelníky, obvykle zavedením bodů v rozích pravidelné čtvercové sítě , , vytvoření tabulky hodnot na každém rohu a poté rozdělíte každý čtverec na dva trojúhelníky. Hodnota v rozích trojúhelníku definuje jedinečný lineární interpolant Piecewise na přes každý trojúhelník. Jeden způsob psaní tohoto interpolantu na trojúhelník s rohy je jako množina rovnic
První čtyři rovnice lze vyřešit (toto mapuje původní trojúhelník na trojúhelník pravé jednotky), pak zbývající rovnice dává interpolovanou hodnotu . Po celé síti trojúhelníků je tento po částech lineární interpolant spojitý.
Obrys interpolantu na jednotlivém trojúhelníku je úsečka (je to interval na průsečíku dvou rovin). Rovnici pro přímku lze nalézt, avšak body, kde čára protíná okraje trojúhelníku, jsou koncovými body úsečkového segmentu.
Obrys po částech lineárního interpolantu je sada křivek vytvořených z těchto úseček. Jakýkoli bod na okraji se připojuje a lze psát jako
s v a lineární interpolant přes okraj je
Takže nastavení
- a
Protože to záleží pouze na hodnotách na hraně, každý trojúhelník, který sdílí tuto hranu, vytvoří stejný bod, takže kontura bude spojitá. Každý trojúhelník lze testovat samostatně, a pokud jsou všechny zaškrtnuty, lze najít celou sadu obrysových křivek.
Po částech lineární pokračování
Kusové lineární pokračování je podobné obrysovému vykreslování (Dobkin, Levy, Thurston a Wilks),[5] ale ve vyšších dimenzích. Algoritmus je založen na následujících výsledcích:
Lemma 1
Pokud F (x) mapuje do , existuje jedinečný lineární interpolant na '(n-1)' - rozměrné simplexní což souhlasí s hodnotami funkcí na vrcholech simplexu. |
An '(n-1)' - rozměrný simplex má n vrcholů a funkce F každému přiřadí 'n'-vektor. Simplex je konvexní a jakýkoli bod v simplexu je a konvexní kombinace vrcholů. To je:
Pokud je x ve vnitřku (n-1) -dimenzionálního simplexu s n vrcholy , pak existují pozitivní skaláry takhle
Pokud jsou vrcholy simplexu lineárně nezávislé nezáporné skaláry jsou pro každý bod x jedinečné a nazývají se barycentrické souřadnice z x. Určují hodnotu jedinečnosti interpolant podle vzorce:
Lemma 2
Lze otestovat (n-1) -dimenzionální simplex, abychom zjistili, zda obsahuje počátek. |
V zásadě existují dva testy. Ten, který byl poprvé použit, označuje vrcholy simplexu vektorem znamének (+/-) souřadnic vrcholu. Například vrchol (.5, -. 2,1.) Bude označen (+, -, +). Je povolen simplex úplně označeno pokud existuje vrchol, jehož štítek začíná řetězcem znaků „+“ o délce 0,1,2,3,4, ... n. Úplně označený simplex obsahuje sousední oblast původu. To může být překvapivé, ale základem tohoto výsledku je, že pro každou souřadnici zcela označeného simplexu existuje vektor s „+“ a další s „-“. Jinými slovy, nejmenší kostka s hranami rovnoběžnými s osami souřadnic, která pokrývá simplex, má dvojice ploch na opačných stranách 0. (tj. „+“ A „-“ pro každou souřadnici).
Druhý přístup se nazývá vektorové označení. Je založen na barycentrických souřadnicích vrcholů simplexu. Prvním krokem je najít barycentrické souřadnice počátku a poté test, který simplex obsahuje počátek, je prostě to, že všechny barycentrické souřadnice jsou kladné a součet je menší než 1.
Lemma 3
Existuje triangulace (Coxeter-Freudenthal-Kuhnova triangulace [1]), která je neměnná pod operací otočení kde |
Reference
- ^ Eugene L. Allgower, K. Georg, „Úvod do numerických metod pokračování“, SIAM Classics v aplikované matematice 45, 2003.
- ^ E. L. Allgower, K. Georg, „Zjednodušené a pokračovací metody přibližování pevných bodů a řešení soustav rovnic“, Recenze SIAM, Svazek 22, 28-85, 1980.
- ^ Eugene L. Allgower, Stefan Gnutzmann, „Algoritmus pro kusovou lineární aproximaci implicitně definovaných dvourozměrných povrchů“, Časopis SIAM o numerické analýze, Svazek 24, číslo 2, 452-469, 1987.
- ^ Eugene L. Allgower, Phillip H. Schmidt, „Algoritmus pro kusově lineární aproximaci implicitně definovaného potrubí“, Časopis SIAM o numerické analýze, Díl 22, číslo 2, 322-346, duben 1985.
- ^ David P. Dobkin, Silvio V. F. Levy, William P. Thurston a Allan R. Wilks, „Sledování obrysu lineárními aproximacemi po částech“, Transakce ACM v grafice, 9(4) 389-423, 1990.