Das funktioniert nur, wenn C-A und B linear abhängig sind. Du musst also prüfen ob (C-A) * B = (+/-)1 ist. Wenn das nicht der Fall ist gibt es keine gültige Lösung.
Des weiteren bin ich mir gerade nicht sicher ob man D so kürzen darf.
Ich würde es so rechnen, spart sogar ein paar Wurzeln:
Code:
D*A + D*Bs = C*D
<=> (D*B)s = C*D - D*A
<=> s = (C*D - D*A) / (D*B)
Hier musst du natürlich D*B != 0 prüfen, sonst gibt es keine Lösung.
Registriert: Di Dez 27, 2005 12:44 Beiträge: 393 Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo,
es ist falsch D einfach rauszukürzen, da es sich um ein Skalarprodukt handelt. Für das Skalarprodukt nehm ich lieber eine andere Notation, um es nicht mit der normalen Multiplikation zu verwechseln. Du könntest höchstens
<D, A+sB> = <D, C>
umstellen, dann erhälst du
<D, A+sB-C> = 0
Das Skalarprodukt ist zwar auch 0 wenn du A+sB-C = 0 setzt aber es gibt noch mehr Lösungen. Z.B. wäre auch <(1, 2, 1),(-1, 1, -1)> = 0 eine Lösung.
Im Grunde genommen sind durch diese Gleichung alle Vektorpaare (D, A+sB-C) gesucht, die einen rechten Winkel haben.
Um s auszurechnen, stellst du am besten so um : <D, A-C> = <D, sB> = s*<D, B>
Also s = <D, A-C> / <D, B>
Viele Grüße dj3hut1
P.S. im Grunde genommen, dasselbe was coolcat hat
_________________ Wenn Gauß heute lebte, wäre er ein Hacker. Peter Sarnak, Professor an der Princeton University
Mitglieder in diesem Forum: 0 Mitglieder und 7 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.