<?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=Bilineare_Filterung</id>
	<title>Bilineare Filterung - 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=Bilineare_Filterung"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Bilineare_Filterung&amp;action=history"/>
	<updated>2026-06-08T23:03:36Z</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=Bilineare_Filterung&amp;diff=166578&amp;oldid=prev</id>
		<title>imported&gt;Gunnar.Kaestle: spezifischere Wikilink-Auswahl</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Bilineare_Filterung&amp;diff=166578&amp;oldid=prev"/>
		<updated>2024-12-21T15:51:33Z</updated>

		<summary type="html">&lt;p&gt;spezifischere Wikilink-Auswahl&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;bilineare Filterung&amp;#039;&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;&amp;#039;bilineare Interpolation&amp;#039;&amp;#039;&amp;#039; ist eine Erweiterung der linearen [[Interpolation (Mathematik)|Interpolation]], um Zwischenwerte innerhalb eines zweidimensionalen rechteckigen [[Gitter (Geometrie)|Gitters]] zu bestimmen. Sie wird häufig als [[Grafikfilter]] zur [[Skalierung (Computergrafik)|Skalierung von Rastergrafiken]] und zur Darstellung von [[Texture Mapping|Texturen]] bei [[Bildsynthese|gerenderten]] Bildern verwendet.&lt;br /&gt;
&lt;br /&gt;
== Mathematische Beschreibung ==&lt;br /&gt;
[[Datei:BilinearInterpolation.svg|miniatur|Bilineare Interpolation]]&lt;br /&gt;
Es wird angenommen, dass der Wert &amp;lt;math&amp;gt;f(x,y)&amp;lt;/math&amp;gt; einer Funktion &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; an einem Punkt &amp;lt;math&amp;gt;P=(x,y)&amp;lt;/math&amp;gt; bestimmt werden soll. Dieser soll weiterhin von vier fixen Rasterpunkten &amp;lt;math&amp;gt;Q_{1 1} = (x_1, y_1),&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;Q_{1 2} = (x_1, y_2),&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;Q_{2 1} = (x_2, y_1)&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;Q_{2 2} = (x_2, y_2)&amp;lt;/math&amp;gt; umgeben sein. Um den Wert &amp;lt;math&amp;gt;f(P)&amp;lt;/math&amp;gt; näherungsweise (durch lineare Interpolation) zu bestimmen, wird zunächst in eine festgelegte Richtung (horizontal oder vertikal, hier horizontal) zwischen den Rasterpunkten linear interpoliert. Dabei sind &amp;lt;math&amp;gt;R_1&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;R_2&amp;lt;/math&amp;gt; Stützpunkte zwischen den in horizontaler Richtung liegenden Rasterpunkten.&lt;br /&gt;
: &amp;lt;math&amp;gt;f(R_1) \ \approx \ \frac{x_2 - x}{x_2 - x_1} f(Q_{1 1}) + \frac{x - x_1}{x_2 - x_1} f(Q_{2 1}) \quad \text{ mit } R_1 = (x, y_1),&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt;f(R_2) \ \approx \ \frac{x_2 - x}{x_2 - x_1} f(Q_{1 2}) + \frac{x - x_1}{x_2 - x_1} f(Q_{2 2}) \quad \text{ mit } R_2 = (x, y_2).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach dem gleichen Verfahren wird anschließend zwischen den Werten dieser beiden Punkte interpoliert.&lt;br /&gt;
: &amp;lt;math&amp;gt;f(P) \ \approx \ \frac{y_2 - y}{y_2 - y_1} f(R_1) + \frac{y - y_1}{y_2 - y_1} f(R_2).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sind die Rasterpunkte der Funktion &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; in regelmäßiger Form &amp;lt;math&amp;gt;(0, 0),&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(0, 1),&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;(1, 0)&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;(1, 1)&amp;lt;/math&amp;gt; gegeben, so reduziert sich die Gleichung zu&lt;br /&gt;
: &amp;lt;math&amp;gt;f(x, y) \ \approx \ f(0, 0) (1-x) (1-y) + f(1, 0) x (1-y) + f(0, 1) (1-x) y + f(1, 1) x y.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Gleichung lässt sich in Matrixschreibweise wie folgt zusammenfassen.&lt;br /&gt;
: &amp;lt;math&amp;gt;f(x, y) \ \approx \ \begin{bmatrix} 1-x &amp;amp; x \end{bmatrix} \begin{bmatrix} f(0, 0) &amp;amp; f(0, 1) \\ f(1, 0) &amp;amp; f(1, 1) \end{bmatrix} \begin{bmatrix} 1-y \\ y \end{bmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Erweiterung dieses Verfahrens um eine zusätzliche dritte Dimension wird als [[trilineare Interpolation]] bezeichnet.&lt;br /&gt;
&lt;br /&gt;
== Anwendung in der Computergrafik ==&lt;br /&gt;
Bei bilinearer Filterung werden die der [[Abtastung (Signalverarbeitung)|Sample]]-Mitte am nächsten liegenden vier Farben in jeder Achse (&amp;#039;&amp;#039;u&amp;#039;&amp;#039; und &amp;#039;&amp;#039;v&amp;#039;&amp;#039;) jeweils [[Linearität (Mathematik)|linear]] interpoliert. Dazu werden zunächst die beiden Werte zwischen den oberen und den unteren [[Texture Mapping|Texeln]] entlang der &amp;#039;&amp;#039;u&amp;#039;&amp;#039;-Achse linear interpoliert. Diese beiden Werte werden anschließend entlang der &amp;#039;&amp;#039;v&amp;#039;&amp;#039;-Achse linear interpoliert. Diese zweistufige lineare Interpolation gibt der &amp;#039;&amp;#039;bilinearen Interpolation&amp;#039;&amp;#039; ihren Namen.&lt;br /&gt;
Die Anteile sind dabei &amp;#039;&amp;#039;nur&amp;#039;&amp;#039; von der Abtastposition abhängig, &amp;#039;&amp;#039;nicht&amp;#039;&amp;#039; jedoch von der Größe der [[Darstellende Geometrie|Projektion]] des Pixels in den Texturraum.&lt;br /&gt;
Dies führt zwar bei einer &amp;#039;&amp;#039;Minifikation&amp;#039;&amp;#039; (die Textur wird stark gestaucht) zu Abtastfehlern, weil zu wenige Texel beachtet werden, wirkt jedoch bei einer &amp;#039;&amp;#039;Maxifikation&amp;#039;&amp;#039; (die Textur wird stark vergrößert) glättend, da hierbei bei jedem Pixel dieselben vier Nachbartexel betrachtet, jedoch unterschiedlich gewichtet werden.&lt;br /&gt;
Anschaulich gesprochen werden die Texel stärker gewichtet, deren Mittelpunkt näher an der Sample-Mitte liegt, wobei immer alle vier benachbarten Texel betrachtet werden.&lt;br /&gt;
&lt;br /&gt;
Eine besondere Bedeutung kommt der bilinearen Filterung beim [[Bildsynthese|Echtzeitrendering]] auf modernen [[Grafikkarte]]n zu. Hierbei ist die bilineare Filterung ein gebräuchliches Verfahren zum [[Antialiasing (Computergrafik)|Antialiasing]] von [[Texture Mapping|Texturen]]. Bilineare Interpolatoren lassen sich durch kaskadierte lineare Interpolatoren schaltungstechnisch vergleichsweise einfach realisieren.&lt;br /&gt;
&lt;br /&gt;
Sofern die Textur per [[Point Sampling]] skaliert wird, würde man die [[Texture Mapping|Texel]] als kleine Blöcke erkennen, sodass das Resultat sehr „pixelig“ wäre. Dieses Verfahren fand bei alten [[Computerspiel]]en, deren Grafik rein von der CPU berechnet wurde, statt.&lt;br /&gt;
&lt;br /&gt;
Grafikprogramme bieten in der Regel auch [[Mitchell-Netravali-Filter|bikubische Filterung]] an. Dies vergrößert den Rechenaufwand erheblich, aber liefert in vielen Fällen bessere Qualität.&lt;br /&gt;
&lt;br /&gt;
== Weitere Filterungen ==&lt;br /&gt;
* [[Trilineare Filterung]]&lt;br /&gt;
* [[Mip Mapping]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://alt.3dcenter.org/artikel/grafikfilter/ &amp;#039;&amp;#039;Grafik-Filter: Bilinear bis Anisotrop im Detail&amp;#039;&amp;#039;] auf 3dcenter.org&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Bildverarbeitung]]&lt;br /&gt;
[[Kategorie:Numerische Mathematik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Gunnar.Kaestle</name></author>
	</entry>
</feed>