Computergrafik

Baryzentrische Interpolation im Dreieck

Bezier Patches | | Bresenham

FĂĽr jedes aus einem projizierten Dreieck generierte (d.h. rasterisierte) Fragment mĂĽssen die assoziierten Attribute der Eckpunkte (Farbe, Normale, Texturkoordination, etc.) interpoliert werden → baryzentrische Interpolation.

Innerhalb eines Dreiecks ergibt die baryzentrische Interpolation aus den Eckwerten $s_{1/2/3}$ an den Eckpunkten $\vec{v}_{1/2/3}$ den Skalarwert am Punkt $\vec{v}$.

$ f(\vec{v}) = f(w_1,w_2,w_3) = w_1s_1 + w_2s_2 + w_3s_3 $ mit
$ w_1 = det(\vec{v_3}-\vec{v},\vec{v_2}-\vec{v}) D^{-1} $
$ w_2 = det(\vec{v_1}-\vec{v},\vec{v_3}-\vec{v}) D^{-1} $
$ w_3 = det(\vec{v_2}-\vec{v},\vec{v_1}-\vec{v}) D^{-1} $
$ D = det(\vec{v_3}-\vec{v_1},\vec{v_2}-\vec{v1}) $

Bemerkung: Die Determinate $det(\vec{v1},\vec{v2},\vec{v3})$ kann man sich als das Doppelte des Flächeninhalts des Dreiecks $A_{123}$ vorstellen:

$A_{123} = \frac{1}{2} det(\vec{v1},\vec{v2},\vec{v3})$

Damit ergeben sich die Faktoren $w_1$, $w_2$, $w_3$ jeweils als Verhältnis von Flächeninhalten wie im Folgenden am Fall $w_1 = A_{23} / A_{123}$ illustriert (der Faktor $\frac{1}{2}$ kürzt sich heraus):


Bezier Patches | | Bresenham

Options: