Marching Squares

Marching Squares
Schematische Darstellung des Algorithmus: Die grauen Quadrate sind Datenwerte auf einem Gitter. Rot dargestellt ist die Isolinie für einen Isowert im dunklen Grauwertbereich.

Marching Squares (von englisch „marschierende Quadrate“) ist ein Algorithmus aus der Computergrafik zur Berechnung von Isolinien aus einer Datenquelle. Isolinien sind Linien, die Datenpunkte mit gleichen Werten verbinden.

Inhaltsverzeichnis

Einleitung

Einige typische Anwendungen für Marching Squares sind die Visualisierung von Isobaren auf Wetterkarten und Niveaulinien in Höhenfeldern. Der Name des Algorithmus leitet sich von seiner Funktionsweise ab. Der Datensatz wird in quadratische Gitterzellen zerlegt, welche nacheinander abgearbeitet werden. Marching Squares ist verwandt mit dem Marching Cubes-Algorithmus, welcher zum Visualisieren von Isoflächen eingesetzt wird.

Funktionsweise

Nachdem der Isowert festgelegt wurde, für den die Linie berechnet werden soll, müssen die Daten in ein Gitter rasterisiert werden, sofern sich der Datensatz nicht schon auf einem gleichmäßigen Gitter befindet. Der Datensatz kann dann in ein gröberes Gitter unterteilt werden. Die Zellen dieses groben Gitters werden schrittweise durchlaufen.

Für jede Gitterzelle wird überprüft, ob ihre Eckpunkte über oder unter dem Isowert liegen. Es können 16 Fälle auftreten, die sich unter Berücksichtigung von Symmetrien auf die folgenden vier zurückführen lassen:

  • Fall 1: alle Ecken größer / kleiner
  • Fall 2: genau eine Ecke größer / kleiner
  • Fall 3: genau zwei Ecken mit gemeinsamer Kante größer / kleiner
  • Fall 4: genau zwei gegenüberliegende Ecken größer / kleiner

Im 4.Fall kann zunächst nicht entschieden werden, wie die beiden Isoliniensegmente durch die Zelle verlaufen müssen. Dafür muss das Innere der Zelle untersucht werden.

Soll die Isolinie feiner abgetastet werden, als es das grobe Gitter zulässt, so kann man in den Fällen 2 bis 4 die Gitterzelle erneut unterteilen und den Algorithmus wiederholt anwenden.

Kanten, bei denen ein Endknoten über dem Isowert und der andere darunter liegt werden von der Isolinie geschnitten. Die Schnittposition kann linear interpoliert werden, da der Isowert I und die Werte fi an den Endknoten pi = (x,y) bekannt sind. Für die Berechnung gilt: I = a \cdot f_1 + b \cdot f_2 mit a + b = 1

Die Schnittposition ist dann p_I = a \cdot p_1 + b \cdot p_2.

veranschaulicht dargestellt

In der englischen Wikipedia [1] findet man eine veranschaulichte Version des Marching-Squares-Algorithmus. Hier wird ein Objekt umfahren. Es gibt 16 verschiedene Möglichkeiten. In der Abbildung zeigen die Pfeile in die nächste abzufahrende Richtung.

Marchsquares.png

Quellen

  • Kai Hormann: Computergrafik 2. 22.06, abgerufen am 5.09.
  • Stefan Gumhold: Wissenschaftliche Visualisierung. Abbildung. 2009 (Vorlesungsfolien).

Links

Referenzen

  1. veranschaulichte Version des Marching-Squares-Algorithmus in der englischen Wikipedia

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Marching squares — is a computer graphics algorithm that generates contours for a two dimensional scalar field (rectangular array of individual numerical values). A similar method can be used to contour 2D triangle meshes. The contours can be of two kinds: Isolines …   Wikipedia

  • Marching Squares — Les Marching squares designent un algorithme de reconstruction de surface implicites (ou isosurfaces) en deux dimensions. Le principe est le même que pour les Marching cubes, mais fonctionnant sur un plan, utilisant donc des carrés au lieux de… …   Wikipédia en Français

  • Marching squares — Les marching squares désignent un algorithme de reconstruction de surface implicites (ou isosurfaces) en deux dimensions. Le principe est le même que pour les Marching cubes, mais fonctionnant sur un plan, utilisant donc des carrés au lieu de… …   Wikipédia en Français

  • Marching squares — Схематическое изображение алгоритма: цвет квадрата обозначает значение в данной клетке регулярной сетки, чем темнее тем значение ближе к изолиниям. Красным показаны полученные изолинии. Marchin …   Википедия

  • Marching Cubes — Tête et structures cérébrales (cachées) obtenues par l application des marching cubes sur 150 tranches provenant d un IRM (env. 150 000 triangles) Les « marching cubes » désignent un algorithme d infographie publié à la conférence… …   Wikipédia en Français

  • Marching cubes — Head and cerebral structures (hidden) extracted from 150 MRI slices using marching cubes (about 150,000 triangles) Marching cubes is a computer graphics algorithm, published in the 1987 SIGGRAPH proceedings by Lorensen and Cline,[1] …   Wikipedia

  • Marching cubes — Модель, построенная из 150 слоев с МРТ с использованием алгоритма marching cubes. Под поверхностью находятся около 150 000 полигонов и скрытых объектов. Размер сетки составляет 64 × 64 × 150 вокселей, кодированных 8 ю… …   Википедия

  • Marching cubes — Tête et structures cérébrales (cachées) obtenues par l application des marching cubes sur 150 tranches provenant d un IRM (env. 150 000 triangles) Les « marching cubes » désignent un algorithme d infographie publié à la conférence… …   Wikipédia en Français

  • List of mathematics articles (M) — NOTOC M M estimator M group M matrix M separation M set M. C. Escher s legacy M. Riesz extension theorem M/M/1 model Maass wave form Mac Lane s planarity criterion Macaulay brackets Macbeath surface MacCormack method Macdonald polynomial Machin… …   Wikipedia

  • Metaball — Metaballs Deux metaballs Les metaballs sont une technique utilisée en infographie pour créer des formes organiques ou représenter des fluides. En français, on trouve également la dénomination « objets mous ». Les metaballs sont une… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”