Ergebnis 1 bis 4 von 4

Thema: Frage zur Vektorrechnung

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #2
    Gott, jetzt hatte ich 20 Minuten lange einen Text verfasst, dann stürzte mein PC einfach so mal ab, und ich regte mich tierisch auf. Ich editier jetzt das ganze nochmals hier herein...

    Also erstmal vorneweg: Wenn du von einem Vektor c den Anfangspunkt und Endpunkt kennst, kannst du ihn berechnen, indem du die Koordinaten des Anfangspunktes vom Endpunkt abziehst:

    Ganz allgemein lassen sich Kurven und Flächen im Raum durch eine Parameterdarstellung beschreiben. Abstrakt geschrieben sieht das für eine Kurve k so aus: mathbb{R}\rightarrow\mathbb{R}^3,t \mapsto \vec x(t)" /> und für eine Fläche F so: mathbb{R}^2\rightarrow\mathbb{R}^3, (r,s)\mapsto \vec x(r,s)" />

    Die Kurve lässt sich am besten als "Fahrplan" darstellen, zu jedem "Zeitpunkt" t lassen sich die Koordinaten des Punktes berechnen. Die Fläche funktioniert analog, für zwei Zahlen r und s erhält man die Koordinaten eines Punktes auf der Fläche. Falls die Parameter t, r und s nur linear vorkommen, hat man den einfachsten Spezialfall einer Geraden bzw. einer Ebene. Dazu mache ich je ein Beispiel, damit man sich das ganze formal besser vorstellen kann:

    vec x(t) = \left(\begin{array}{c}2\\2\\3 \end{array}\right)\cdot t + \left(\begin{array}{c} -2\\0\\1\end{array}\right)" />

    Der zweite (unabhängige) Vektor ist hierbei der Stützvektor, d.h. irgendein Punkt auf der Gerade, den du kennst. Der erste Vektor ist der Richtungsvektor, d.h. irgendein Vektor, der in die gleiche Richtung wie die Gerade zeigt. Wenn du zwei Punkte gegeben hast, kannst du sie berechnen mit der ersten Formel, die ich geschrieben habe.

    vec y(r,s) = \left(\begin{array}{c} 1\\0\\-1\end{array}\right)\cdot r + \left(\begin{array}{c} -4\\2\\5\end{array}\right)\cdot s + \left(\begin{array}{c} 0\\3\\2 \end{array}\right)" />

    Hier hast du ebenfalls den unabhängigen Stützvektor, der einfach einen Punkt der Ebene repräsentiert und zwei Richtungsvektoren. Eine Ebene ist durch drei Punkte exakt bestimmt. Die Differenz aus Stützpunkt und einem weiteren Punkt entspricht einem Richtungsvektor.

    Ganz allgemein gilt: Willst du von zwei solchen geometrischen Objekten die Schnittpunkte berechnen, so setzt du ihre Parameterdarstellungen gleich. Daraus resultiert ein Gleichungssystem für die Parameter. Die Lösungen sind dann diejenigen Parameter, für welche du die Schnittpunkte erhältst. Hat das Gleichungssystem für die Parameter keine Lösung, heisst das, es gibt keine Schnittpunkte. Als Beispiel suchen wir mal Schnittpunkte obiger Beispiele.

    Gleichsetzen: führt auf das Gleichungssystem:

    Im linearen Fall lassen sich die Lösungen z.B. mit dem Gaussschen Eliminationsverfahren berechnen. Auf jeden Fall ist das System lösbar und hat die Lösungen:

    Wie es bei einer Gerade und einer Ebene im Allgemeinen zu erwarten war, erhält man genau einen einzigen Schnittpunkt. Dieser lässt sich berechnen, indem man t in die Parameterdarstellung der Geraden oder r und s in die Parameterdarstellung der Ebene einsetzt.

    Auf jeden Fall funktioniert diese Vorgehensweise ganz allgemein, d.h. auch für die Schnittpunkte zweier Geraden (hier ist das System im Allgemeinen nicht lösbar, da zwei Geraden normalerweise windschief liegen) oder für zwei Ebenen (hier erhält man unendlich viele abhängige Lösungen, die dann wieder auf eine Gerade führen) und für x-beliebige Kurven und Flächen, nur das bei letzterem im Allgemeinen mathematische Vorsicht und Fallunterscheidungen betrachtet werden müssen.

    Aus deiner Fragestellung entnehme ich, dass du dieses Problem jetzt wohl programmiertechnisch umsetzen willst. Solange du nur Geraden und Ebenen verwendest, sollte dies kein allzu grosses Problem sein. Die Parameterdarstellung besteht aus drei Funktionen und enthält allgemein 6 Konstanten für die Gerade und 9 für die Ebene:

    vec x(t)=\left(\begin{array}{c}a_1\\a_2\\a_3\end{array}\right)\cdot t + \left(\begin{array}{c}b_1\\b_2\\b_3\end{array}\right)" />

    vec y(t)=\left(\begin{array}{c}c_1\\c_2\\c_3\end{array}\right)\cdot r + \left(\begin{array}{c}d_1\\d_2\\d_3\end{array}\right)\cdot s+ \left(\begin{array}{c}e_1\\e_2\\e_3\end{array}\right)" />

    Das Gleichungssystem lässt sich einfacher darstellen mit Hilfe einer augmentierten Matrix, d.h. es interessieren nur noch die Koeffizienten. Für das allgemeine Beispiel von Gerade und Ebene hat man dann:



    Nun muss man lediglich den Gausschen Algorithmus darauf anwenden, dafür gibt es sicher entsprechende Bibliotheken. Falls er eine Lösung ausspuckt, existiert ein Schnittpunkt, ansonsten nicht.

    Ich hoffe, ich konnte helfen und hab mit dem Formalismus nicht zuviel Verwirrung gestiftet.

    Geändert von TheBiber (17.01.2008 um 14:16 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •