Geradenschniit im R3 < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:48 Do 03.01.2008 | Autor: | platano |
Hi,
konkret geht es mir darum einen Befehl zu verfassen um den Schnittpunkt zweier Geraden im R3, falls vorhanden, berechnet. Im Endeffekt brauche ich etwas a là
Schnittpunkt(A, b, C, d):=
wobei A und C Punkte und b und d Richtungsvektoren sind.
Tja und an der genauen funktionsdefinition scheitere ich. Ich habe jetzt probiert die 3 einzelnen Gleichungen der Koordinaten auflösen zu lassen, als Ergebnis erhalte ich jedoch [], wahrscheinlich weil 2 Geraden eben keinen sicheren Schnittpunkt haben. Als nächstes habe ich entsprechend den 3 Koordinatengleichungen das t ausgerechnet
[mm] A_{1}+t*b_{1}=C_{1}+s*d_{1}
[/mm]
[mm] A_{2}+t*b_{2}=C_{2}+s*d_{2}
[/mm]
[mm] A_{3}+t*b_{3}=C_{3}+s*d_{3}
[/mm]
das t ausgerechnet, und dann wieder in jeder einzelnen Gleichung eingesetzt, womit ich auf eine Darstellung von s komme, bei der auf der noch auf beiden Seiten ein s bleibt, welches ich mit Derive ausrechnen lasse. Wenn ich nun aber die Gleichung
C+s*d
mit meinen Term für als Funktionsdefinition nehme, erhalte ich falsche Ergebnisse. Kann mir irgendjemand bei meinem Problem helfen? Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
mfg
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:51 Do 03.01.2008 | Autor: | platano |
Falls es nicht ganz klar oben herauskommt, es handelt sich um das Programm Derive.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 20:57 Do 03.01.2008 | Autor: | battani |
Hallo,
hier eine Lösungsidee.
In diesem Fall liegt ein überbestimmtes Gleichungssytem mit 3 Gleichungen und zwei Unbekannten t und s.
Das Gleichungssystem muß erst mal umgeschrieben werden:
[mm] \pmat{ b_1 & d_1 \\ b_2 & d_2 \\ b_3 & d_3} \vektor{t \\ s} [/mm] = [mm] \vektor{C_1 - A_1 \\ C_2 - A_2 \\ C_3 - A_3},
[/mm]
oder kurz:
[mm] \overline{A} \vec{x } [/mm] = [mm] \vec{b}
[/mm]
Dann wird das System mit der Pseudoinversen gelöst (Lineare Ausgleichsrechnung):
[mm] \vec{x } [/mm] = [mm] -\overline{A}^+ \vec{b}
[/mm]
Mit:
[mm] \overline{A}^+ [/mm] = [mm] (\overline{A}^{T} \overline{A})^{-1} \overline{A}^{T}
[/mm]
Als Ergebnis gibt es die Parameter s und t. Damit werden 2 Punkte beschrieben, die so weit wie möglch beisammen liegen. Ob der Abstand hinreichend klein ist und tatsächlich ein Schnittpunkt vorliegt, kann man dann durch Berechnung des Abstands ermitteln. Zu beachten ist, dass auch Rechenfehler dazu führen können, dass sich die beiden Linien nicht exakt schneiden. Daher sollte eine akzeptable Fehlerschwelle definiert werden.
Viele Grüße
|
|
|
|