Formel umstellen: Lineare Interpolation

Neue Frage »

Rostam Auf diesen Beitrag antworten »
Formel umstellen: Lineare Interpolation
Meine Frage:
Hallo nochmal allerseits :-)

Ich hänge wieder seit Stunden an einer Formel fest und dachte jetzt um 3 Uhr in der Nacht wird es doch mal Zeit nach Hlfe zu rufen ;-)

Es geht um lineare Interplation in der grafischen Bildverarbeitung. Aber im Prinzip ist es ja alles Mathe...

Dies ist die Ursprungsformel:


Jetzt ist aber ein Fall, bei dem F(x) schon gegen ist. Ich muss herausfinden wo, wenn überhaupt, F(x) auf der Strecke zwischen F(0) und F(1) liegt. Also, denke ich, brauche ich x auf der linken Seite.

F(0), F(1) und F(x) sind jeweils 3er-Vektoren.
F0=[0.8, 0.0, 0.4]t
F1=[0.3, 1.0, 0.9]t
F(x)=[0.5, 0.6, 0.7]t

Habt Ihr irgendeine Idee, wie man an die Sache rangehen kann?

Meine Ideen:
hab schon gedacht auf beiden Seiten /x zu machen, aber das geht ja nicht wegen der Addition rechts. Und wenn ich erst die Multiplikationen rechts mache, hab ich da so viele x's, das ist nicht mehr schön...

Also ganz ehrlich, ich steh grad ziemlich uffm Schlauch unglücklich


(P.S.: Ich weiß, dass die Lösung x=0.6 ist. Aber wie kommt man darauf??)
In der Not würde ich alles von 0.1 bist 0.9 ausprobieren, aber denke es muss auch einfacher/schneller gehen.
RavenOnJ Auf diesen Beitrag antworten »

Löse das doch komponentenweise. Wenn für alle drei Komponenten derselbe Wert rauskommt, ist das Ganze lösbar. Die Lösung ist in der Tat 0.6.
h4mmer Auf diesen Beitrag antworten »

Hallo,

Fang mal so an:







Jetzt musst du nur noch x ausklammern und dann müsstest du eigendlich auf die Lösung kommen.

Gruß
Rostam Auf diesen Beitrag antworten »

Danke für die Antworten!

@RavenOnJ:
Wie meinst Du Komponentenweise? Kannst Du mir da bitte einen Anfang geben?

@h4mmer:
Das hab ich mal durchgerechnet, dann komm ich auf das:


Das hab ich dann auch durchgerechnet, aber zwei Vektoren kann man ja soweit ich weiß nicht dividieren, oder?! Oder gibt es da doch irgendeinen Weg das in eine Multiplikation umzustellen oder sowas??
RavenOnJ Auf diesen Beitrag antworten »

Es handelt sich hier um Vektoren mit drei Komponenten. (Genauer gesagt sind es mit parametrisierte Geraden im , das tut hier aber glücklicherweise nichts zur Sache, da deine Aufgabe so geschickt gestellt ist. Im allgemeineren Fall müsste man das aber berücksichtigen.). Deine Gleichung muss für jede der drei Komponenten gelten.

Geometrisch ist es so, dass eine Ebene im aufspannen und du musst berechnen ob deine vorgegebene Gerade in dieser Ebene liegt.

Durch einen Vektor darfst du natürlich nicht teilen. Du könntest natürlich erst mal in deiner Vektorgleichung das Skalarprodukt bilden. Dann erhältst du eine quadratische Gleichung in , die es zu lösen gilt. Damit ist aber leider nicht gesichert, dass das sich ergebende x auch wirklich deine Vektorgleichung löst. Dies tut es nur, wenn die Gerade in der aufgespannten Ebene liegt. Liegt sie nicht in der Ebene, dann kann es trotzdem eine reelle Lösung für x in der Skalarproduktgleichung ergeben, die dir allerdings die falsche Information liefert.
Rostam Auf diesen Beitrag antworten »

Hmmm..... ok! Jetzt muss ich gestehen ab dem zweiten Absatz hab ich nichts mehr verstanden.

Hab mal versucht wie Du sagtest das Skalarprodukt von F(0),F(1) zu bilden:

Ich hoffe das stimmt so. Aber ich hab jetzt keine quadratische Gleichung... verwirrt

Meintest Du das mit Komponentenweise??


Edit:
ok jetzt seh ich auch 0.24 + 0.36 = 0.6 Big Laugh

und jetzt das in die Ursprungformel einsetzen, richtig?! Ich mach das gleich mal :-)
 
 
Rostam Auf diesen Beitrag antworten »

Hmmm..... ich hab jetzt die 0.6 in die Ursprungformel eingesetzt:

Aber ich glaube kaum, dass das so ganz richtig ist. Ich kriege als Ergebnis 0.78 verwirrt

Das ist die Antwort laut Musterlösung. Ich weiß nicht wie man darauf kommt.
Das gleiche bei B. Woher weiß man, dass man mit 0.4 und 0.5 testen muss? Warum nicht irgendwas anderes? z.B. 0.3 , 0.8, etc.... ?
RavenOnJ Auf diesen Beitrag antworten »

Ich habe nicht geschrieben, du sollst das Skalarprodukt von bilden, sondern das Skalarprodukt deiner Vektorgleichung, also



wobei das Skalarprodukt von und sein soll. Dies ist die quadratische Gleichung in x, die ich meinte. Allerdings gibt dies auch eine Lösung für x, wenn nicht in der Ebene von liegt. Deswegen würde ich eher den komponentenweisen Zugang empfehlen:



für die i-te Komponente. Wenn man dies für alle drei Komponenten der Vektorgleichung macht, dann sollte dreimal dasselbe x rauskommen. Dies ist allerdings bei drei beliebigen 3D-Vektoren nicht der Fall!
Rostam Auf diesen Beitrag antworten »

Achso ok, Komponentenweise meinst Du also z.B. so?
Bei A für mittlere Komponenten:




aber ich glaube das stimmt auch nicht so ganz, oder?!? Aber wie weiß ich jetzt ob auch die erste und zweite Komponente richtig sind?

Hab das jetzt auch mal bei A mit der ersten Komponente probiert. Da hab ich am End raus 0.5 = 0.55 unglücklich
Rostam Auf diesen Beitrag antworten »

Hier hab ich jetzt ein ganz gutes youtube-Video gefunden, das eine ganz gute Lösung dafür hat: Video

Aber das ist wieder ein anderer Weg als wie Du sagtest "Komponentenweise". Kannst Du mir Deinen Weg bitte ausführlich erklären? Sorry, dass ich so nachhake.... ich muss das verstehen :-)
Rostam Auf diesen Beitrag antworten »

Hab jetzt entsprechend dem youtube-Video das für A gelöst.

Am Ende kommt dann für Zeile I, II und III r=0.6 raus. Soweit so gut. Was mach ich damit jetzt um die anderen Werte zu bekommen?
RavenOnJ Auf diesen Beitrag antworten »
RE: Formel umstellen: Lineare Interpolation
Zitat:
Original von Rostam


F(0), F(1) und F(x) sind jeweils 3er-Vektoren.
F0=[0.8, 0.0, 0.4]t
F1=[0.3, 1.0, 0.9]t
F(x)=[0.5, 0.6, 0.7]t



Jetzt ist mir überhaupt erst klar geworden, was du mit "F0=[0.8, 0.0, 0.4]t" usw. meinst. Das soll der transponierte Vektor sein. Ich nahm die ganze Zeit an, du meinst damit eine Gerade in Parameterdarstellung mit einem Parameter t . Wir haben uns offenbar vollkommen missverstanden. So kommt es, wenn man schludrig seine Aufgabe präsentiert.

Was du also eigentlich willst, ist folgendes: Du willst feststellen, ob der Vektor darstellbar ist durch die Gleichung



oder anders, ob der Punkt auf der Verbindungsgeraden zwischen den Punkten und liegt. Dies kann man natürlich so machen, dass man die Differenz von und bildet und prüft, ob auf der Gerade gemäß obiger Gleichung der Punkt liegt. Dies muss man für jede einzelne Komponente dieser Vektorgleichung tun. Wenn man also für die 1. Komponente eine Lösung x findet, dann muss dieses x auch die Gleichungen für die anderen Komponenten lösen. (In dem von dir verlinkten Video wird genau das ab Minute 2:50 gemacht.)
Rostam Auf diesen Beitrag antworten »

Aaaaah suuuper! Danke schön für die Hilfe und Geduld Augenzwinkern Freude

Nächstes mal muss ich wohl einfach genauer beschreiben :-)

Jetzt hab ich es!

Für F(B) jetzt auch gelöst nach dem Video und da hab ich raus
I: r=0.4
II: r=0.5
III: r=0.4

Demnach liegt dieser Punkt NICHT auf der Strecke weil die Ergebnisse pro Zeile nicht gleich sind. Es liegt also nur ein Punkt auf der Strecke wenn auch alle Zeilen gleiches raus kommt Bitte bitte sag mir, dass das so richtig ist :-)

Wenn ich jetzt nach dem Video (bei 4:03) gehe wäre die einzige Ausnahme zu dieser Regel, wenn bei eine der drei Zeilen eine wahre Aussage wäre, wie z.B. 3=3. Auch wenn sich diese Zeile von den anderen beiden unterscheidet, liegt der Punkt trotzdem auf der Strecke.

Soweit ich das jetzt verstanden habe.
RavenOnJ Auf diesen Beitrag antworten »

Zitat:
Original von Rostam


Für F(B) jetzt auch gelöst nach dem Video und da hab ich raus
I: r=0.4
II: r=0.5
III: r=0.4


Jetzt weiß ich wieder nicht, was du meinst. Was soll F(B) sein??
RavenOnJ Auf diesen Beitrag antworten »

Zitat:
Original von Rostam
Hmmm..... ich hab jetzt die 0.6 in die Ursprungformel eingesetzt:

Aber ich glaube kaum, dass das so ganz richtig ist. Ich kriege als Ergebnis 0.78 verwirrt


und was soll das? Bitte beachte das rot markierte.
Rostam Auf diesen Beitrag antworten »

Zitat:
Original von RavenOnJ
und was soll das? Bitte beachte das rot markierte.
Ich hatte doch die Musterlösung gepostet, dachte das hättest Du schon gesehen :-)

Zitat:
Das ist die Antwort laut Musterlösung. Ich weiß nicht wie man darauf kommt.
Das gleiche bei B. Woher weiß man, dass man mit 0.4 und 0.5 testen muss? Warum nicht irgendwas anderes? z.B. 0.3 , 0.8, etc.... ?
Das Dicke ist ein Link. Hab das jetzt noch blau gemacht :-)

Zitat:
Original von RavenOnJ
und was soll das? Bitte beachte das rot markierte.
Oh ja da gehört ein "mal" hin, hast Recht. Aber der Weg war sowieso nichts, oder??
RavenOnJ Auf diesen Beitrag antworten »

Den Link hatte ich übersehen. Aber was soll in der Musterlösung R und B sein? Und t wird dort wieder als Parameter gebraucht. Könntest du das mal bitte erklären? Was bedeutet das t?

Da fehlt wohl der Zusammenhang. Du kannst nicht voraussetzen, dass irgendjemand eure speziellen Codierungen kennt, wenn die nicht üblich sind.

Hat das irgendwas mit RGB-Werten zu tun?
Rostam Auf diesen Beitrag antworten »

Parameter t ist x, ich dachte einfach wenn ich das hier schreibe ist x üblicher. Keine Ahnung warum bei der Aufgabe t benutzt wird.

Wie im ersten Post geschrieben ist das eigentlich eine Aufgabe der grafischen Datenverarbeitung. Die einzelnen Parameter stehen für die Farbwerte RGB.
Also R = 1. Parameter, G = 2. Parameter, B = 3. Parameter.
Aber im Grunde ist das ja egal, es sind Vektoren und das kann auch normal mathematisch gelöst werden.

Ich hab bisher den Weg aus dem geposteten Video komplett gemacht. Stimmt die Erklärung, die ich da geschrieben habe?
Zitat:
Demnach liegt dieser Punkt NICHT auf der Strecke weil die Ergebnisse pro Zeile nicht gleich sind. Es liegt also nur ein Punkt auf der Strecke wenn auch alle Zeilen gleiches raus kommt Bitte bitte sag mir, dass das so richtig ist :-)

Wenn ich jetzt nach dem Video (bei 4:03) gehe wäre die einzige Ausnahme zu dieser Regel, wenn bei eine der drei Zeilen eine wahre Aussage wäre, wie z.B. 3=3. Auch wenn sich diese Zeile von den anderen beiden unterscheidet, liegt der Punkt trotzdem auf der Strecke.

Soweit ich das jetzt verstanden habe.


Oder gibt es noch einen anderen schnelleren/einfacheren Weg die Frage zu lösen ob ein Vektorpunkt auf einer Strecke zwischen zwei Vektorpunkten liegt? Was ich nämlich nicht verstehe sind die Erklärungen in der Musterlösung.
RavenOnJ Auf diesen Beitrag antworten »

Ich kann nur sagen, du bist selber schuld, dass wir die ganze Zeit aneinander vorbeireden, wenn du nur einen Bruchteil des Kontextes hier bekannt gibst. Mir tut es um meine verschwendete Zeit leid.

Du solltest immer daran denken, dass diejenigen, die hier Hilfe suchen in einer Bringschuld sind, vor allem damit, dass sie Aufgaben vollständig posten und auch den Kontext, wenn der wichtig ist. Wenn dir hier jemand hilft, dann tut er dies ohne jegliches Eigeninteresse. Der Helfer investiert Zeit für dich! Wenn du schludrig bist, dann kostet das den Helfenden vollkommen sinnlos geopferte Zeit!
Rostam Auf diesen Beitrag antworten »

Mann mann mann tut mir ja leid, dass das unverständlich war. Ich dachte eigentlich im ersten Post hätte ich alles ausführlich erklärt. Das habe ich zumindest versucht. Ich hatte die Formel aufgeschrieben, erwähnt, dass es drei Vektoren sind, gesagt, dass eine Strecke zwischen F(0) und F(1) besteht und auch die Koordinaten des zu suchenden Vektorpunktes genannt. Im Grunde ist das doch verständlich wenn Du das nochmal liest, oder nicht?!?
RavenOnJ Auf diesen Beitrag antworten »

Ich verstehe diese Musterlösung so, dass dort zwei Werte für x ausprobiert werden, wobei für x=0.4 der R- und der B-Wert mit F_B übereinstimmen, während für x=0.5 der G-Wert übereinstimmt.

Diese Herangehensweise durch Probieren ist vielleicht bei Informatikern üblich, da algorithmisch einfach fassbar mittels Iteration in einer Schleife, aber mathematisch hochgradiger Käse.
RavenOnJ Auf diesen Beitrag antworten »

Zitat:
Original von Rostam
Mann mann mann tut mir ja leid, dass das unverständlich war. Ich dachte eigentlich im ersten Post hätte ich alles ausführlich erklärt. Das habe ich zumindest versucht. Ich hatte die Formel aufgeschrieben, erwähnt, dass es drei Vektoren sind, gesagt, dass eine Strecke zwischen F(0) und F(1) besteht und auch die Koordinaten des zu suchenden Vektorpunktes genannt. Im Grunde ist das doch verständlich wenn Du das nochmal liest, oder nicht?!?


Nein, es ist nicht verständlich, weil da ein Parameter t auftaucht, den du nirgends erklärt hast. Erst nachdem ich jetzt die Musterlösung durchgelesen habe, hat es bei mir gefunkt, dass dieses t dein x sein soll. Warum hast du nicht stattdessen t in deiner Gleichung geschrieben? Denn du hast ja sowohl t, wie auch x in deinem 1. Post verwendet. Wie soll das jemand verstehen? Dann hättest du uns - vor allem mir - viel erspart.
Rostam Auf diesen Beitrag antworten »

Zitat:
Original von RavenOnJ
Diese Herangehensweise durch Probieren ist vielleicht bei Informatikern üblich, da algorithmisch einfach fassbar mittels Iteration in einer Schleife, aber mathematisch hochgradiger Käse.
Ja ich will es ja nicht durch Ausprobieren lösen, weil das einfach zu viel Zeit in Anspruch nimmt. Ich will es ja nicht programmieren. Daher die Frage hier.....

Zitat:
Original von RavenOnJ
Nein, es ist nicht verständlich, weil da ein Parameter t auftaucht, den du nirgends erklärt hast. Erst nachdem ich jetzt die Musterlösung durchgelesen habe, hat es bei mir gefunkt, dass dieses t dein x sein soll. Warum hast du nicht stattdessen t in deiner Gleichung geschrieben? Denn du hast ja sowohl t, wie auch x in deinem 1. Post verwendet. Wie soll das jemand verstehen? Dann hättest du uns - vor allem mir - viel erspart.
Im ersten Post hab ich statt dem t in der Aufgabe einfach nur x eingesetzt. Dachte das ist "logischer" und besser zu verstehen. Das t im ersten Post steht doch für den transponierten Vektor. Da ich geschrieben hatte, dass es Vektoren sind, ging ich davon aus, dass das klar ist, da man sonst kein t einfach so hinter einem Vektor schreibt!

Ach nächstes mal scan ich einfach die ganze Aufgabe und schick das so hoch.... wenn es dann noch Missverständnisse gibt, liegt es nicht an mir :-)
RavenOnJ Auf diesen Beitrag antworten »

Zitat:
Original von Rostam
Das t im ersten Post steht doch für den transponierten Vektor.


ja was denn nun? Das t in deiner Musterlösung ist aber dein x. Und wenn man einen transponierten Vektor angibt, dann mit großem T und im Exponenten hinter dem Vektor. Das heißt, Latex ist erforderlich.

Zitat:

Ach nächstes mal scan ich einfach die ganze Aufgabe und schick das so hoch.... wenn es dann noch Missverständnisse gibt, liegt es nicht an mir :-)


Wenn du dann noch zusätzlich den relevanten Kontext angibst, um so besser.
Rostam Auf diesen Beitrag antworten »

Zitat:
Original von RavenOnJ
Zitat:
Original von Rostam
Das t im ersten Post steht doch für den transponierten Vektor.


ja was denn nun? Das t in deiner Musterlösung ist aber dein x. Und wenn man einen transponierten Vektor angibt, dann mit großem T und im Exponenten hinter dem Vektor. Das heißt, Latex ist erforderlich.

Wenn du dann noch zusätzlich den relevanten Kontext angibst, um so besser.
Hammerhart.... natürlich reden wir mal wieder an einander vorbei LOL Hammer
Hier die gesamte Aufgabe, vielleicht klärt das alles auf.

Das T für transponierten Vektor kenne ich aber auch als kleines t, wie in der Aufgabe auch. So ist es bei uns im ganzen Skript. Wenn das jetzt mathematisch nicht richtig ist.... keine Ahnung! Das es im Exponenten sein muss, haste Recht. Wusste nicht wie, aber wie gesagt dachte das ergibt sich aus dem Kontext und wäre so verständlich.

Auf jeden Fall denke ich ist die beste Lösung die aus dem Video was ich jetzt so mache. Wenn es noch etwas besseres/einfacheres/schnelleres gibt was Du kennst würde ich mich freuen.

Grüße
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »