Berechnen von Schnittgeraden(Ebenen) / Schnittpunkt(Gerade)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
antimatter
User
Beiträge: 13
Registriert: Freitag 8. Oktober 2010, 16:44

Hallo,
im Rahmen meiner Bachelorarbeit arbeite ich an einem Programm, in welchem ich die Berechnung einer Schnittgerade implementieren möchte. In meinen bisherigen Mathestunden war dies bisher nie Bestandteil des Stoffes. Daher hoffe ich, ihr könnte mir hier weiterhelfen.

Zunächst muss ich eine Schnittgerade aus dem Schnitt zweier Ebenen berechnen. Für die 2 Ebenen sind jeweils 3 Punkte P(x,y,z) gegeben. Die Geradengleichung basiert auf der Form ax+by+cz=1. Mit den 3 Punkten lassen sich also 3 solcher Gleichungen aufstellen. Aus den x-, y- und z-Komponenten erstelle ich kurzerhand eine Koeffizientenmatrix A, die mit dem Lösungsvektor x=(a,b,c) multipliziert den Störvektor b=(1,1,1) ergibt. Ganz nach Ax=b bzw. in Python:

Code: Alles auswählen

from numpy.linalg import solve
x=solve(A,b)
So liegen nun für beide Ebenen die Koeffizienten a, b, und c vor. Nach meinen bisherigen Recherchen zum Schnitt werden aus beidenen Ebenengleichungen ein Gleichungssystem aufgestellt. Dann gibt es 3 Unbekannte und 2 Gleichungen. Auf dem Papier würde jetzt eine Unbekannte eliminiert werden und eine andere mit einer Formvariable ersetzt. Danach löst man in Abhängigkeit dieser Formvariable nach der verbleibenden Unabhängigen auf. Dieses Kochrezept gibt es haufenweise im Netz.

Das Verfahren ist jedoch ungünstig zu programmieren. Gibt es einen anderen, numerischen Lösungsweg, der für die Implementierung in Python besser geeignet ist? Vielleicht etwas wie das Matrixverfahren weiter oben.

Das Ergebnis - die Schnittgerade - müsste in einer solchen Form vorliegen, so dass man damit eine andere Gerade schneiden kann und letztendlich einen Schnittpunkt erhält. Die anderen zu schneidenden Geraden sind ebenfalls durch zwei Punkte gegeben. Aus diesen lassen sich Hinführungs- und Richtungsvektor herleiten.

Das ganze ist sicherlich ein eher mathematisches Problem als ein programmiertechnisches.
Ich hoffe, es kann mir jemand weiterhelfen.

Viele Grüße
antimatter
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Schnittgerade Ebene: http://nibis.ni.schule.de/~lbs-gym/Vekt ... Ebenen.pdf Google, 1. Treffer. Ist sicherlich auch in jedem LinA-Buch zu finden…
Antworten