3番目のベクトル(X)に垂直で、互いに垂直な2つのベクトルを計算する最良の(最速の)方法は何ですか?
これは、現在このベクトルを計算する方法です。
// 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);
これには無数の解決策があることを私は知っており、どれが私の解決策になるかは気にしません。
この質問の背後にあるもの: X 軸 (マトリックスの最初の列) がどの方向を指すべきかを知っている変換マトリックスを作成する必要があります。Y 軸と Z 軸 (2 列目と 3 列目) を計算する必要があります。ご存知のように、すべての軸は互いに垂直でなければなりません。