kann mir jemand erklären, bzw. eine für nicht-mathe-symbole-kennende-menschen formel sagen, wie Trilineare Interpolation funktioniert..?
Ich habe einen Würfel mit 10x10x10 Werten und brauche nun den interpolierten wert an stelle X/Y/Z... das geht ja soweit ich weiß via Trilinearer Interpolation.. nur, wie geht die? :p
[Hier stand etwas seeeehr dummes, weiterlesen *hust*]
_________________ Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut. Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’. Und du schaust mich an und fragst ob ich das kann. Und ich denk, ich werd' mich ändern irgendwann. _________________Farin Urlaub - Bewegungslos
Zuletzt geändert von Ziz am Di Jan 12, 2010 18:51, insgesamt 1-mal geändert.
Ich vermute du weiß was lineare Interpolation ist? Das ist der 1D-Fall bei dem du zwei Punkte A, B und einen Parameter u mit 0<=u<=1 gegeben hast. Die lineare Interpolation ist dann: P = (1-u) * A + u * B was sich auch umformen lässt zu P = A + u*(B-A)
Die bilineare Interpolation ist der 2D-Fall, "bi" für "zwei". Vier Punkte A,B,C,D und zwei Parameter u,v mit 0<=u<=1 und 0<=v<=1. Im wesentlichen machst du erst die lineare Interpolation zwischen A und B bzw. zwischen C und D und interpolierst die beiden Ergebnisse dann nochmal.
P1 = (1-u) * A + u * B P2 = (1-u) * C + u * D P = (1-v) * P1 + v * P2
Trilinear ist dann der 3D-Fall, "tri" für "drei". Genau das gleiche Schema: Erst eine bilineare Interpolation zwischen ABCD bzw. EFGH und dann nochmal das Ergebnis linear interpolieren.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich weiß, dass ich mich jetzt auf gefährliches Terrain begeben, ABER:
Ist wirklich sichergestellt, dass das Ergebnis deiner Rechnung immer eindeutig ist? Mein Bauch sagt, dass da eine gewissen Möglichkeit besteht, dass in Abhängigkeit, welche Interpolation ich zuerst ausführe, ich andere Ergebnisse erhalte.
Muß da aber selbst nochmal drüber grübeln...
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Ist wirklich sichergestellt, dass das Ergebnis deiner Rechnung immer eindeutig ist?
Sofern du mit reellen Zahlen rechnest ist das Ergebnis eindeutig, egal in welcher Reihenfolge die Interpolation durchgeführt wird. Wenn man mit floats rechnet kann es natürlich leichte Unterschiede in den letzten Kommastellen geben, was aber kein Problem sein sollte.
Code:
P = (1-v) * [(1-u)*A + u*B] + v * [(1-u)*C + u*D]
= (1-v)*(1-u)*A + (1-v)*u*B + v*(1-u)*C + v*u*D
= (1-v)*(1-u)*A + v*(1-u)*C + (1-v)*u*B + v*u*D
= (1-u) * [(1-v)*A + v*C] + u * [(1-v)*B + v*D]
=> Dein Bauch taugt nix
Zitat:
Ist der 2D Fall nicht üblicherweise diese 3ecks interpolation? (3Punkte)
Das ist letztlich nur ein Spezialfall. Wenn 0<=u<=1, 0<=v<=1 und w=1-u+v, dann gilt: P = u*A + v*B + w*C
Da es Aya um einen Würfel geht hatte ich das nicht erwähnt.
Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.