PDA

View Full Version : [Frage] Frage zu Phong-Shading


Guinness
18-03-2003, 10:13
Hi!

Ich hoffe, ich bin nicht der einzige, der die Prüfung am Freitag versuchen möchte.

Auch auf die Gefahr hin, dass ich mich grade lächerlich mache...
Ich habe eine Frage bezüglich der Normalvektorinterpolation.
Was mach ich mit der Formel von den Folien:

N= (y-y2)/(y1-y2)*N1 + (y1-y)/(y1-y2)*N2 ?

Sind y1 und y2 die y-Koordinaten der Normalvektoren N1 und N2? Wenn ja, wie komm ich auf die von N (also y, wenn ich das richtig verstanden habe)? Könnte das jemand an einem leichten Beispiel (zB. dem von der VO-Prüfung vom 15. März 2002) erklären?

Wäre sehr für eure Hilfe dankbar!

Ciao, Guinness!

MichiK
18-03-2003, 19:56
ja, y1 ist die y koordinate von N1 und y2 von N2
da man in y richtung (über die Zeilen interpoliert) benötigt man dafür nur die y Komponente

Interpoliert wird so:

N = N1*alpha + N2*(1-alpha)

wobei

alpha = (y2-y)/(y2-y1)

mit y1 <= y <= y2

dann haben wir:
N = N1*(y2-y)/(y2-y1) + N2*(1-(y2-y)/(y2-y1))

ein bißchen umformen:

1-(y2-y)/(y2-y1) = ((y2-y1)-(y2-y))/(y2-y1)) =
(-y1 + y)/(y2-y1) = (y-y1)/(y2-y1)

und somit:
N = N1*(y2-y)/(y2-y1) + N2*(y-y1)/(y2-y1)

da (a-b)/(c-d) == (b-a)/(d-c)

erhalten wir:

N = N1*(y-y2)/(y1-y2) + N2*(y1-y)/(y1-y1)

was der Formel auf den Folien entspricht:

kleines bsp:


N1 = (1,2,3) hat den y wert 2 -> y1 = 2
N2 = (7,6,5) hat den y wert 6 -> y2 = 6

wir wollen den normalvektor von an der stelle y = 4 berechnen

N = (1,2,3) * (4-6)(2-6) + (7,6,5) * (2-4)/(2-6) =
= (1,2,3)*0.5 + (7,6,5)*0.5 = (4,4,4)

MfG, Michael

Guinness
18-03-2003, 20:22
Danke für deine Mühe! Nach mehrmaligem Durchlesen deiner Message und Zuhilfenahme des Buches und der Folien ist doch noch der Groschen (bzw. Cent) gefallen und ich hab das endlich kapiert.

Im Nachhinein gesehen, ist's eh total einfach, weiss auch nicht, was mich da solange vom Kapiern abgehalten hat... :)

Danke!

Ciao, Guinness!