Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Sep 04, 2025 00:11

Foren-Übersicht » Programmierung » Mathematik-Forum
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Trilineare Interpolation
BeitragVerfasst: Di Jan 12, 2010 18:26 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

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

Danke~

Aya


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Trilineare Interpolation
BeitragVerfasst: Di Jan 12, 2010 18:43 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 20, 2005 13:18
Beiträge: 1054
Wohnort: Dresden
Programmiersprache: C, C++, Pascal, OPL
[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.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Trilineare Interpolation
BeitragVerfasst: Di Jan 12, 2010 18:46 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
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.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Trilineare Interpolation
BeitragVerfasst: Di Jan 12, 2010 18:49 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hey, danke :)

Das war genau so eine erklärung wie ich sie mir erhofft habe, und mit einem schlag wurde dadurch auch Bicubic etc erklärt :)

Danke~~

Aya


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Trilineare Interpolation
BeitragVerfasst: Di Jan 12, 2010 20:50 
Offline
Guitar Hero
Benutzeravatar

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Trilineare Interpolation
BeitragVerfasst: Di Jan 12, 2010 21:01 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hm... bin gerade etwas verwirrt...

Ist der 2D Fall nicht üblicherweise diese 3ecks interpolation? (3Punkte)

Weil bei 4Punkten interpoliert man nicht mehr in der Ebene sondern in einem Thetraeder.

Oder hab ich gerade einen Denkfehler.... :roll:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Trilineare Interpolation
BeitragVerfasst: Di Jan 12, 2010 21:33 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
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:
  1. P = (1-v) * [(1-u)*A + u*B] + v * [(1-u)*C + u*D]
  2. = (1-v)*(1-u)*A + (1-v)*u*B + v*(1-u)*C + v*u*D
  3. = (1-v)*(1-u)*A + v*(1-u)*C + (1-v)*u*B + v*u*D
  4. = (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.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Foren-Übersicht » Programmierung » Mathematik-Forum


Wer ist online?

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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]