Verstehe ich das richtig?
Du hast eine Ebene (mit Normalenvektor) und willst jetzt zwei "Achsenvektoren" haben? Also zwei Vektoren, die parallel zur Ebene verlaufen und zueinander senkrecht sind?
Das wäre relativ einfach.
Sagen wir N = (Nx, Ny, Nz) ist der Normalenvektor, und A = (Ax, Ay, Az) und B = (Bx, By, Bz) sind die gesuchten Achsenvektoren.
1. Schritt:
A bestimmen, so dass A senkrecht zu N ist, also A*N = 0.
Das bedeutet, es muss gelten: Ax*Nx + Ay*Ny + Az*Nz = 0.
Da brauchen wir eine Fallunterscheidung.
Wenn eine der Koordinaten von N, also Nx, Ny oder Nz = 0 ist, dann setzt du die entsprechende Koordinate von A auf 1. Beispiel: N = (0, 0.75, 0.5) => dann setzen wir A = (1, 0, 0). Somit ist garantiert, dass A senkrecht zu N ist.
Wenn jedoch keine der Koordinaten von N null ist, gehen wir anders vor. Wir setzen erst einmal beispielsweise Ax = 1 und die beiden anderen Koordinaten Ay = Az = 0. (Du könntest auch Ay oder Az = 1 setzen)
Jetzt schauen wir, was beim Skalarprodukt A*N herauskäme, nämlich Ax*Nx = 1*Nx = Nx. Es soll aber null herauskommen. Also müssen wir Ay oder Az so wählen, dass Ay*Ny bzw. Az*Nz genau -Nx ist, damit insgesamt null herauskommt. Das heißt Ay*Ny = -Nx <=> Ay = -Nx/Ny bzw. Az*Nz = -Nx <=> Az = -Nx/Nz.
Darum war auch vorhin eine Fallunterscheidung nötig, weil hier ja dividiert wird, und Dividieren durch null ist nicht gut.
Jetzt haben wir also A.
2. Schritt:
B berechnen wir nun ganz einfach durch B = A x N.
Damit haben wir zwei Vektoren A und B, die senkrecht zu N stehen.