Computergrafik

Baryzentrische Interpolation im Dreieck

Rasterisierung | | Baryzentrische Koordinaten Rechenbeispiel

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{v_1}) $

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

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

Beispiel in 2D:

  • $ det(\vec{a},\vec{b}) = \vec{a}.x \cdot \vec{b}.y - \vec{a}.y \cdot \vec{b}.x $
  • $ \vec{a} = (1,0)^T, \vec{b} = (0,1)^T $$ det(\vec{a},\vec{b}) = 1 $
  • $ A_{12} = \frac{1}{2} det(\vec{a},\vec{b}) = \frac{1}{2} $

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):


Rasterisierung | | Baryzentrische Koordinaten Rechenbeispiel

Options: