Marssivat neliöt

Marching Squares (  englanniksi  -  "liikkuvat neliöt") on tietokonegrafiikassa oleva algoritmi, joka luo isolineja kaksiulotteiseen skalaarikenttään .

Sovellus

Algoritmia käytetään visualisoimaan isobaarit sääkartoilla ja ääriviivat maantieteellisillä kartoilla . Se on yksinkertaistettu marssikuutioiden algoritmia litteälle kotelolle.

Kuinka se toimii

Algoritmi vastaanottaa syötteenä säännöllisen ruudukon, jonka jokaisessa solmussa kentän arvo tiedetään. Tulostusruudukon (merkitty sinisellä kuvassa) resoluutio voi olla pienempi (tässä tapauksessa tarkkuus menetetään, mutta aliasointi vähenee). Seuraavaksi jokaiselle lähtöruudukon solmulle tarkistetaan, onko siinä oleva arvo suurempi kuin isopinnalla. Kaikille korkeammille solmuille on annettu "+", loput - "-". Seuraavaksi tarkastellaan lähtöruudukon neliöitä, joiden kärjet ovat merkittyissä solmuissa. Yhteensä on 16 erilaista tapausta, jotka voidaan symmetriat ja kierrokset huomioon ottaen vähentää neljään:

Neljännessä tapauksessa on mahdotonta määrittää yksiselitteisesti isoline-segmentin muotoa, joten neliön keskellä olevaa arvoa tarkastellaan lisäksi (jos syöttötiedot sallivat sen). Jos neliön keskellä olevaa arvoa ei saada selville, tehty päätös voi vaikuttaa isolinan liitettävyyteen.

Lineaarista interpolaatiota käytetään parantamaan tuloksena olevan isolinan laatua . Tässä tapauksessa neliön reunassa olevan isolinjasegmentin pää jakaa reunan suhteessa kohtaan , missä  ovat neliön reunan päissä olevat arvot,  on isolinan arvo. Itse asiassa isoline-segmentin pää "vedetään" reunan päähän, joka on lähempänä todellista isoliinia.

Linkit