<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Marching_Squares</id>
	<title>Marching Squares - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Marching_Squares"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Marching_Squares&amp;action=history"/>
	<updated>2026-06-04T21:15:42Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Marching_Squares&amp;diff=1750341&amp;oldid=prev</id>
		<title>imported&gt;Phzh: Form, typo / Überschrift Einleitung nicht nötig</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Marching_Squares&amp;diff=1750341&amp;oldid=prev"/>
		<updated>2020-04-24T09:22:42Z</updated>

		<summary type="html">&lt;p&gt;Form, typo / Überschrift Einleitung nicht nötig&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Marching Squares Isoline.svg|mini|Schematische Darstellung des Algorithmus: Die grauen Quadrate sind Datenwerte auf einem [[Gitter (Geometrie)|Gitter]]. Rot dargestellt ist die [[Isolinie]] für einen Isowert im dunklen Grauwertbereich.]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Marching Squares&amp;#039;&amp;#039;&amp;#039; (von [[Englische Sprache|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.&lt;br /&gt;
&lt;br /&gt;
Einige typische Anwendungen für Marching Squares sind die [[Visualisierung]] von [[Isobare]]n auf Wetterkarten und [[Höhenlinie|Niveaulinien]] in [[Höhenfeld]]ern. 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|Marching-Cubes]]-Algorithmus, welcher zum Visualisieren von [[Isofläche]]n eingesetzt wird. Marching Squares wird im 2D-Raum und Marching Cubes im 3D-Raum eingesetzt.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Nachdem der Isowert festgelegt wurde, für den die Linie berechnet werden soll, müssen die Daten in ein [[Gitter (Geometrie)|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.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* &amp;#039;&amp;#039;Fall 1:&amp;#039;&amp;#039; alle Ecken größer / kleiner&lt;br /&gt;
* &amp;#039;&amp;#039;Fall 2:&amp;#039;&amp;#039; genau eine Ecke größer / kleiner&lt;br /&gt;
* &amp;#039;&amp;#039;Fall 3:&amp;#039;&amp;#039; genau zwei Ecken mit gemeinsamer Kante größer / kleiner&lt;br /&gt;
* &amp;#039;&amp;#039;Fall 4:&amp;#039;&amp;#039; genau zwei gegenüberliegende Ecken größer / kleiner&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Marching Squares Case1.svg|&amp;#039;&amp;#039;Fall 1&amp;#039;&amp;#039;: Alle Ecken liegen über (oder unter) dem Isowert.&lt;br /&gt;
Marching Squares Case2.svg|&amp;#039;&amp;#039;Fall 2&amp;#039;&amp;#039;: Bis auf eine Ecke liegen alle Ecken über (oder unter) dem Isowert.&lt;br /&gt;
Marching Squares Case3.svg|&amp;#039;&amp;#039;Fall 3&amp;#039;&amp;#039;: Je zwei Ecken an einer Kante liegen über, bzw. unter dem Isowert.&lt;br /&gt;
Marching Squares Case4.svg|&amp;#039;&amp;#039;Fall 4&amp;#039;&amp;#039;: Je zwei gegenüberliegende Ecken liegen über, bzw. unter dem Isowert.&lt;br /&gt;
Marching Squares Case4a.svg|Lösung für &amp;#039;&amp;#039;Fall 4&amp;#039;&amp;#039; abhängig von Werten innerhalb der Zelle.&lt;br /&gt;
Marching Squares Case4b.svg|Lösung für &amp;#039;&amp;#039;Fall 4&amp;#039;&amp;#039; abhängig von Werten innerhalb der Zelle.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Kanten, bei denen ein Endknoten über dem Isowert und der andere darunter liegt werden von der Isolinie geschnitten. Die Schnittposition kann [[Lineare Interpolation|linear interpoliert]] werden, da der Isowert &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; und die Werte &amp;lt;math&amp;gt;f_i&amp;lt;/math&amp;gt; an den Endknoten &amp;lt;math&amp;gt;p_i = (x, y)&amp;lt;/math&amp;gt; bekannt sind. Für die Berechnung gilt:&lt;br /&gt;
&amp;lt;math&amp;gt;I = a \cdot f_1 + b \cdot f_2&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;a + b = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Schnittposition ist dann &amp;lt;math&amp;gt;p_I = a \cdot p_1 + b \cdot p_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel ===&lt;br /&gt;
Hier wird ein Objekt umfahren. Es gibt 16 verschiedene Möglichkeiten. In der Abbildung zeigen die Pfeile in die nächste anzufahrende Richtung.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Marchsquares.png]]&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
* {{Internetquelle&lt;br /&gt;
   |autor=Kai Hormann&lt;br /&gt;
   |url=http://www2.in.tu-clausthal.de/~hormann/teaching/CG2SS06/CG2.22.06.2006.pdf&lt;br /&gt;
   |titel=Computergrafik 2&lt;br /&gt;
   |datum=2006-06-22&lt;br /&gt;
   |format=PDF&lt;br /&gt;
   |abruf=2009-09-05}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Stefan Gumhold&lt;br /&gt;
   |Titel=Wissenschaftliche Visualisierung&lt;br /&gt;
   |TitelErg=Abbildung&lt;br /&gt;
   |Datum=2009&lt;br /&gt;
   |ISBN=&lt;br /&gt;
   |Kommentar=Vorlesungsfolien}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://web.archive.org/web/20141230044328/http://devblog.phillipspiess.com/better%20know%20an%20algorithm/2010/02/23/better-know-marching-squares.html Better know an Algorithm – Marching Square] – Eine sehr gute englische Anleitung&lt;br /&gt;
* Alle [https://caj.informatik.uni-jena.de/main?eERpc2s%3D=&amp;amp;eFJD=RE9XTkxPQUQ%3D&amp;amp;eElE=TXpNMk1RJTNEJTNE 16 Konfigurationen] einer Zelle&lt;br /&gt;
* [http://www.tomgibara.com/computer-vision/marching-squares Implementierung] in Java&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Algorithmus (Computergrafik)]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Phzh</name></author>
	</entry>
</feed>