Obliczanie dwóch wektorów, które są prostopadłe do trzeciego wektora w 3D
Co to jestnajlepiej (najszybciej) sposób obliczenia dwóch wektorów, które są prostopadłe do trzeciego wektora (X), a także prostopadłe do siebie?
W ten sposób obliczam teraz te wektory:
// HELPER - unit vector that is NOT parallel to X
x_axis = normalize(X);
y_axis = crossProduct(x_axis, HELPER);
z_axis = crossProduct(x_axis, y_axis);
Wiem, że istnieje nieskończona liczba rozwiązań i nie obchodzi mnie, które z nich będzie moim rozwiązaniem.
Co kryje się za tym pytaniem: Muszę skonstruować macierz transformacji, w której wiem, który kierunek powinien wskazywać oś X (pierwsza kolumna w macierzy). Muszę obliczyć oś Y i Z (druga i trzecia kolumna). Jak wiemy, wszystkie osie muszą być do siebie prostopadłe.