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)
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