Processing math: 100%
Computergrafik

Baryzentrische Interpolation im Dreieck

Z-Buffer Fighting | | 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 s1/2/3 an den Eckpunkten v1/2/3 den Skalarwert am Punkt v.

f(v)=f(w1,w2,w3)=w1s1+w2s2+w3s3 mit
w1=det(v3v,v2v)D1
w2=det(v1v,v3v)D1
w3=det(v2v,v1v)D1
D=det(v3v1,v2v1)

Bemerkung: Die Determinate det(v1,v2,v3) kann man sich als das Doppelte des Flächeninhalts des Dreiecks A123 vorstellen:

A123=12det(v1,v2,v3)

Damit ergeben sich die Faktoren w1, w2, w3 jeweils als Verhältnis von Flächeninhalten wie im Folgenden am Fall w1=A23/A123 illustriert (der Faktor 12 kürzt sich heraus):

Rechenbeispiel:

v1=(20)
v2=(30)
v3=(22)
v=(21)
w1=0.5
w2=0.0
w3=0.5
Kontrolle: v=w1v1+w2v2+w3v3


Z-Buffer Fighting | | Bresenham

Options: