+1 Daumen
122 Aufrufe

Problem/Ansatz:

Gegeben: ein beliebiger (Richtungs-) Vektor A in einem Kartesischen Koordinatensystem und eine beliebige Ebene E, definiert durch ihre Normale N.

Gesucht: der Richtungsvektor B des "Schattens", den der Vektor A in Richtung der z-Achse des Koordinatensystems auf die Ebene E wirft.

Eine orthogonale Projektion liefert nur für Vektoren A in Richtung der x- bzw. y-Achse korrekte Ergebnisse, anderenfalls wird ein Vektor C geliefert, den man leider nicht einfach um die z-Achse drehen kann.

Vektoren.jpg

Ich wäre für Lösungsansätze dankbar.

Avatar vor von
Gegeben: ein beliebiger (Richtungs-) Vektor A in einem Kartesischen Koordinatensystem und eine beliebige Ebene E, definiert durch ihre Normale N.

Ist das die originale Aufgabenstellung?

Ein Normalenvektor allein würde noch keine Ebene aufstellen?

Von wo kommt das Sonnenlicht, das einen Schatten erzeugen soll?

Das Problem ist schon vereinfacht - die Normale der Ebene ist das Kreuzprodukt aus 2 bekannten aufspannenden Vektoren

Das Sonnenlicht kommt "von oben", in Richtung der negativen z-Achse eines globalen Koordinatensystems - den Begriff "Schatten" habe ich benutzt, um den Vektor B besser zu beschreiben

2 Antworten

0 Daumen
 
Beste Antwort

Wenn du den Normalenvektor [n1, n2, n3] hast, dann ist der Schattenvektor vom Vektor [a, b, c] einfach [a, b, - n1/n3*a - n2/n3*b]

Der Vektor [0, 0, 1] hat ja keinen Schattenvektor auf der Ebene, wenn das Licht von oben kommt. Die Komponente c im Vektor verschwindet daher völlig.

Avatar vor von 492 k 🚀

Wenn man zwischen dem Vektor A und dem Vektor, der die z-Achse darstellt, eine Ebene E2 aufspannt und ein Kreuzprodukt aus der Normale N2 der Ebene E2 und der Normale N bildet, sollte ein Richtungsvektor in Richtung des Vektors B herauskommen


sry - unsere Posts haben sich überschnitten - ich werde beides ausprobieren - vielen Dank

([a, b, c] ⨯ [0, 0, 1]) ⨯ [n1, n2, n3] = [- a·n3, - b·n3, a·n1 + b·n2]

Dieser Vektor ist zwar in Richtung des Schattenvektors, hat aber nicht die richtige Länge.

Teile den entstandenen Vektor durch - n3, dann erhältst du

[- a·n3, - b·n3, a·n1 + b·n2] : (- n3) = [a, b, - n1/n3*a - n2/n3*b]

Das ist der Vektor, den ich oben genannt hatte.

Mit [a, b, - n1 * a/ n3 - n2 * c/ n3] klappt es hervorragend (ich hatte zuerst den Divisor mit a bzw. b multipliziert).

Vielen Dank noch einmal.

Vielen Dank noch einmal.

Gern geschehen. Freut mich, wenn ich helfen konnte.

0 Daumen

Hallo,

Du hast also eine Ebene \(E\) und einen Vektor \(\vec a\). In der Normalform wäre das$$E:\space \vec n\vec x=d, \quad \vec a \\$$Das 'Licht' aus der Richtung \(\vec e_z\) projiziert die Spitze von \(\vec a\) im Raum entlang einer Geraden \(g_a\)$$g_{a}: \quad \vec x = \vec a + \vec e_zt$$bringe diese Gerade mit \(E\) zum Schnitt und bestimme das zugehörige \(t_s\)$$\begin{aligned} \vec n\vec x&=d \\ \vec n\left(\vec a + \vec e_z t_s\right)&=d \\ \implies t_s &= \frac{d- \vec n\vec a}{\vec n \vec e_z} \\ \end{aligned}$$Einsetzen von \(t_s\) in die Geradengleichung würde die Position der Spitze des projizierten Vektors \(\vec a^*\) liefern. Das kann man noch so umformen, dass wir ein schönes Matrix mal Vektor Produkt erhalten$$\begin{aligned} \vec a^* &= \vec a + \vec e_z\frac{d- \vec n\vec a}{\vec n \vec e_z} &&|\, \text{Bem.: } \vec n\vec a = \vec n^T\vec a\\ &= \vec a - \frac{1}{\vec n \vec e_z}\left(\vec e_z\vec n^T\right) \vec a + \frac{d}{\vec n \vec e_z} \vec e_z\\ \begin{pmatrix} \vec a^*\\1 \end{pmatrix}&= \begin{pmatrix} \underline{1} - \frac{1}{\vec n \vec e_z}\left(\vec e_z\vec n^T\right)& \frac{d}{\vec n \vec e_z} \vec e_z \\ \vec 0^T & 1 \end{pmatrix} \begin{pmatrix} \vec a\\1 \end{pmatrix} = M\vec a^H \end{aligned}$$Hier in der Schreibweise mit homogenen Koordinaten. Mit Kenntnis der Matrix \(M\) kann man die projizierten Vektoren durch eine Matrix-Vektor-Multiplikation berechnen.

Wie Dir vielleicht aufgefallen ist, habe ich noch nicht davon Gebrauch gemacht, dass \(\vec e_z\) in Z-Richtung zeigt. Man könnte also auch einen beliebigen Vektor für die Richtung des Lichts wählen. In Deinen Fall ist aber $$\vec n = \begin{pmatrix} n_1\\n_2\\ n_3 \end{pmatrix}, \space \vec e_{z}= \begin{pmatrix} 0\\0\\ 1 \end{pmatrix} \implies \vec n \vec e_z = n_3$$ und das dyadische Produkt \(\vec e_z \vec n^T\) ist$$\vec e_z \vec n^T= \begin{pmatrix} 0 & 0& 0 \\ 0 & 0& 0 \\ n_1& n_2& n_3\end{pmatrix} $$Folglich ist \(M\) dann$$ M = \begin{pmatrix} 1 & 0 & 0& 0\\ 0 & 1& 0& 0 \\ -n_1/n_3& -n_2/n_3& 0&  d/n_3\\ 0& 0& 0& 1 \end{pmatrix}$$Sei \(\vec a=\begin{pmatrix} a& b& c\end{pmatrix}^T\), so ist die Projektion \(\vec a^*\)$$\vec a^{*H} = M\cdot \begin{pmatrix} a\\b \\c\\ 1\end{pmatrix} = \begin{pmatrix} a\\b \\ (d-n_1a-n_2b)/n_3\\ 1 \end{pmatrix}$$was natürlich das selbe Ergebnis wie beim Mathecoach ist, nur mit dem Unterschied, dass dort \(d=0\) ist, also \(E\) den Ursprung enthält.

Ich habe Dir noch ein Beispiel mit Geoknecht3D gebaut. Klick auf das Bild, dann öffnet sich die Webseite.

blob.png

Falls Du noch Fragen hast, so melde Dich bitte.

Gruß Werner

Avatar vor von 49 k

Hallo,

vielen Dank für Deine ausfühlichen Ausführungen und auch für Deine Zeit.

Wenn ich das Thema noch vertiefen muss - oder ein anderes Problem auftritt - melde ich mich gern wieder.

Grüße Malthea

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community