<?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=Haloed-Line-Algorithmus</id>
	<title>Haloed-Line-Algorithmus - 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=Haloed-Line-Algorithmus"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Haloed-Line-Algorithmus&amp;action=history"/>
	<updated>2026-05-28T11:46:09Z</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=Haloed-Line-Algorithmus&amp;diff=1276408&amp;oldid=prev</id>
		<title>imported&gt;Llydia: interne Verlinkung gestärkt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Haloed-Line-Algorithmus&amp;diff=1276408&amp;oldid=prev"/>
		<updated>2024-02-11T12:19:56Z</updated>

		<summary type="html">&lt;p&gt;interne Verlinkung gestärkt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Haloed wireframe.png|thumb|Ein Drahtgittermodell ohne und mit Halo]]&lt;br /&gt;
Der &amp;#039;&amp;#039;&amp;#039;Haloed-Line-Algorithmus&amp;#039;&amp;#039;&amp;#039; ist ein Verfahren der [[Computergrafik]], um [[Drahtgittermodell]]e oder allgemeine dreidimensionale Linien darzustellen. Durch diese Form der [[Geometrische_Modellierung#Oberflächendarstellung|Oberflächendarstellung]] erhalten die gezeichneten Linien eine Kontur („Halo“), die dahinterliegende Linien verdeckt. Diese [[Perspektive]] verstärkt den Eindruck von Räumlichkeit. Wenn die Breite des [[Halo (Bildbearbeitung)|Halos]] groß genug gewählt wird, entsteht der Effekt, dass wie bei einer vollständigen [[Sichtbarkeitsproblem|Verdeckungsberechnung]] nur die sichtbaren Flächen angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
[[Datei:Haloed line.svg|thumb|upright=0.8|Geometrie einer Linie mit Halo. Die hinter der Linie A liegende Linie B wird vom Halo verdeckt.]]&lt;br /&gt;
&lt;br /&gt;
Der Haloed-Line-Algorithmus besteht aus einer Vorbereitungs- und einer Anzeigeroutine. Bei der Vorbereitung wird das Bild in ein [[Gitter (Mathematik)|Gitter]] eingeteilt, dessen Feinheit von der durchschnittlichen Linienlänge abhängt. Zusätzlich werden für jede Linie die Koeffizienten der entsprechenden [[Geradengleichung]] &amp;lt;math&amp;gt;z = ax + by + d&amp;lt;/math&amp;gt; gespeichert. Für jede Linie &amp;lt;math&amp;gt;L_i&amp;lt;/math&amp;gt; werden die Gitterzellen ermittelt, durch die sie läuft. In einer Liste werden zu jeder Zelle die dazugehörigen Linien als &amp;lt;math&amp;gt;(C_{i,\,j},\,L_i)&amp;lt;/math&amp;gt; vermerkt und nach Zelle sortiert.&lt;br /&gt;
&lt;br /&gt;
Für jede Zelle werden hindurchlaufende Linien &amp;lt;math&amp;gt;L_i&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;L_j&amp;lt;/math&amp;gt; paarweise geprüft, ob sie einander schneiden. Ist dies der Fall, so wird der Schnittpunkt &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; beider Linien ermittelt. Außerdem wird bestimmt, welche der Linien am Schnittpunkt die kleinere &amp;#039;&amp;#039;z&amp;#039;&amp;#039;-Koordinate besitzt, also dem Betrachter näher liegt. Liegt &amp;lt;math&amp;gt;L_i&amp;lt;/math&amp;gt; näher, so wird der Winkel &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; zwischen &amp;lt;math&amp;gt;L_i&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;L_j&amp;lt;/math&amp;gt; berechnet. Die Ergebnisse werden als &amp;lt;math&amp;gt;(L_i,\,I,\,\theta)&amp;lt;/math&amp;gt; in einer Tabelle &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; gespeichert. Sobald alle Gitterzellen abgearbeitet wurden, wird die &lt;br /&gt;
Tabelle &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; nach &amp;lt;math&amp;gt;L_i&amp;lt;/math&amp;gt; sortiert. Linien, die nicht in der Tabelle eingetragen sind, schneiden keine anderen Linien und sind somit stets sichtbar; sie werden ebenfalls in die Tabelle eingetragen.&lt;br /&gt;
&lt;br /&gt;
=== Anzeige ===&lt;br /&gt;
Um die Linien anzuzeigen, wird die Tabelle &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; Eintrag für Eintrag durchgegangen. Für jeden Eintrag werden mittels &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; die Punkte &amp;lt;math&amp;gt;I_1&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; berechnet, an denen das Halo auf der Linie um den Schnittpunkt herum aufhört und wieder anfängt. Die Paare &amp;lt;math&amp;gt;(I_1, -1)&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;(I_2, +1)&amp;lt;/math&amp;gt; werden in einer Tabelle &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; gespeichert. Zusätzlich werden die Paare &amp;lt;math&amp;gt;(E_1, +1)&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;(E_2, -1)&amp;lt;/math&amp;gt; gespeichert, wobei &amp;lt;math&amp;gt;E_1&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;E_2&amp;lt;/math&amp;gt; die Endpunkte der Linie sind.&lt;br /&gt;
&lt;br /&gt;
Die so entstandene Tabelle &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; wird nun nach &amp;lt;math&amp;gt;L_i&amp;lt;/math&amp;gt; sortiert und der Reihe nach durchgegangen, wobei die jeweiligen Werte +1 oder −1 summiert werden. Wenn die Summe 1 beträgt, wird angefangen, die Linie zu zeichnen, wenn sie einen Wert ≤0 erreicht, wird die Zeichnung der Linie wieder gestoppt.&lt;br /&gt;
&lt;br /&gt;
Diese Prozedur ist beendet, wenn alle Einträge der Tabelle &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; abgearbeitet wurden.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Arthur Appel u. a.: &amp;#039;&amp;#039;The Haloed Line Effect for Hidden Line Elimination.&amp;#039;&amp;#039; ACM SIGGRAPH Computer Graphics 13, 2 (Aug. 1979): 151–157, {{ISSN|0097-8930}}&lt;br /&gt;
* David F. Rogers: &amp;#039;&amp;#039;Procedural Elements for Computer Graphics.&amp;#039;&amp;#039; WCB/McGraw-Hill, Boston 1998, ISBN 0-07-053548-5&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bildsynthese]]&lt;br /&gt;
[[Kategorie:Algorithmus (Computergrafik)]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Llydia</name></author>
	</entry>
</feed>