Strahl=>Ebene schneiden < Lin. Algebra/Vektor < Oberstufe < Schule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 23:16 Mo 09.05.2005 | Autor: | tciny |
Hi,
ich hab gerade das Problem, dass ich einen Strahl mit einer Ebene schneiden muss und keine ordentliche Lösung dafür finde.
Vorhanden sind:
Der Ursprung des Strahls,
die Richtung des Strahls (Vektor),
die Normale der Ebene,
min 3 Punkte der Ebene
Bin für jede Hilfe dankbar,
Jan
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:47 Mo 09.05.2005 | Autor: | Marcel |
Hallo Jan!
> Hi,
>
> ich hab gerade das Problem, dass ich einen Strahl mit einer
> Ebene schneiden muss und keine ordentliche Lösung dafür
> finde.
> Vorhanden sind:
> Der Ursprung des Strahls,
Nennen wir ihn mal [mm] $\vec{p}=\vektor{p_1\\p_2\\p_3} \in \IR^3$.
[/mm]
> die Richtung des Strahls (Vektor),
Das sei [mm] $\vec{v}=\vektor{v_1\\v_2\\v_3}\in \IR^3$.
[/mm]
Dann ist der Strahl $S$ gegeben durch die Gleichung:
S: [mm] $\vektor{x_1\\x_2\\x_3}=\vektor{p_1\\p_2\\p_3}+t*\vektor{v_1\\v_2\\v_3}$, [/mm] $t [mm] \ge [/mm] 0$.
> die Normale der Ebene,
> min 3 Punkte der Ebene
Hm, wenn du hier aber doch drei Punkte [mm] $A(a_1,\;a_2,\;a_3)$, $B(b_1,\;b_2,\;b_3)$ [/mm] und [mm] $C(c_1,\;c_2,\;c_3)$ [/mm] der Ebene gegeben hast, so dass z.B. die Vektoren [mm]\vektor{b_1-a_1\\b_2-a_2\\b_3-a_3}[/mm], [mm]\vektor{c_1-a_1\\c_2-a_2\\c_3-a_3}[/mm] linear unabhängig sind , dann läßt sich doch die Ebene $E$ doch z.B. wie folgt beschreiben:
$E:$ [m]\vektor{x_1\\x_2\\x_3}=\vektor{a_1\\a_2\\a_3}+r*\vektor{b_1-a_1\\b_2-a_2\\b_3-a_3}+s*\vektor{c_1-a_1\\c_2-a_2\\c_3-a_3}[/m], $r,s [mm] \in \IR$.
[/mm]
Den Schnittpunkt von $S$ und $E$ ermittelst du nun durch gleichsetzen (und beachte, dass bei $S$ auch $t [mm] \ge [/mm] 0$ gelten muss. Evtl. schneidet der Strahl die Ebene ja gar nicht!).
Hm, wofür die Normale gut sein soll, weiß ich gerade nicht. Kannst du evtl. mal alles konkret angeben? Vielleicht muss man doch die Ebene in Normalenform angeben (dazu braucht man einen Punkt der Ebene und einen Vektor, der senkrecht auf die Ebene steht, wie du vermutlich schon weißt), weil z.B. die Vektoren [mm]\vektor{b_1-a_1\\b_2-a_2\\b_3-a_3}[/mm], [mm]\vektor{c_1-a_1\\c_2-a_2\\c_3-a_3}[/mm] linear abhängig sind und die Ebene daher nicht eindeutig durch die Punkte $A,B,C$ bestimmt ist...
Viele Grüße,
Marcel
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 10:57 Di 10.05.2005 | Autor: | tciny |
Hi, vielen dank für deine Antwort.
Der praktischste Weg wäre wirklich es über die Normalenform zu lösen. Genug Punkte der Ebene kenne ich ja wiegesagt.
Mir ist nur nicht ganz klar wie ich die Gerade dann mit diesen zwei Angaben schneiden kann (also Normalvektor und Punkt).
Die einzige Lösung die ich bisher im Internet gefunden habe liefert mir nämlich sehr falsche Ergebnisse:
http://www.gamespp.com/algorithms/collisionDetectionTutorial02.html
Danke,
Jan
|
|
|
|
|
Hi, tciny,
> Mir ist nur nicht ganz klar wie ich die Gerade dann mit
> diesen zwei Angaben schneiden kann (also Normalvektor und
> Punkt).
Naja: Aus Normalenvektor [mm] \vec{n} [/mm] und Punkt ("Aufpunktvektor" [mm] \vec{p}) [/mm] kannst Du doch ziemlich einfach die Normalenform der Ebene machen:
E: [mm] \vec{n} \circ (\vec{x} [/mm] - [mm] \vec{p}) [/mm] = 0
Hier setzt Du für [mm] \vec{x} [/mm] die Geradengleichung ein und löst nach dem Parameter t auf; und hieraus lässt sich der gesuchte Schnittpunkt leicht ermitteln!
|
|
|
|