Piețe de marș

Marching Squares (din  engleză  -  „moving squares”) este un algoritm de grafică pe computer care generează izolinii pe un câmp scalar bidimensional .

Aplicație

Algoritmul este folosit pentru a vizualiza izobarele pe hărțile meteo și liniile de contur pe hărțile geografice. Este o simplificare a algoritmului cuburilor de marș pentru cazul plat.

Cum funcționează

Ca intrare, algoritmul primește o grilă obișnuită, la fiecare nod al căruia este cunoscută valoarea câmpului. Grila de ieșire (indicată cu albastru în figură) poate avea o rezoluție mai mică (în acest caz, precizia este pierdută, dar aliasing-ul este redus). În continuare, pentru fiecare nod al grilei de ieșire, se verifică dacă valoarea din acesta este mai mare decât pe izosuprafața. Toate nodurile care sunt mai sus li se atribuie „+”, restul - „-”. În continuare, luăm în considerare pătratele grilei de ieșire, ale căror vârfuri se află la nodurile marcate. În total, există 16 cazuri diferite, care, ținând cont de simetrii și rotații, pot fi reduse la patru:

În al patrulea caz, este imposibil să se determine fără ambiguitate forma segmentului izolinii, astfel încât valoarea din centrul pătratului este vizualizată suplimentar (dacă datele de intrare permit acest lucru). Dacă este imposibil să aflați valoarea din centrul pătratului, decizia luată poate afecta conectivitatea izolinei.

Interpolarea liniară este utilizată pentru a îmbunătăți calitatea izolinei rezultate . În acest caz, capătul segmentului de izolinie de pe marginea pătratului împarte marginea în raport cu , unde  sunt valorile de la capetele marginii pătratului,  este valoarea izolinei. De fapt, capătul segmentului de izolinie este „tras” până la capătul marginii, care este mai aproape de izolina reală.

Link -uri