Używam quaternions zamiast tego zrobiłbym tak (nie używaj THREE.js):
konstrukt przekształcania 4x4 matrycę pierwszy wektor V1 (V1, V2 kładzie na jego płaszczyźnie XY i V1 jest oś X)
double V1[3],V2[3]; // input
double X[3],Y[3],Z[3],P[3]; // output
double m[16]; // OpenGL like transform matrix
X = V1;
Z = V1 x V2;
Y = X x Z;
X/=|X|;
Y/=|Y|;
Z/=|Z|;
P = (0,0,0);
m[ 0]=X[0];
m[ 1]=X[1];
m[ 2]=X[2];
m[ 3]=0;
m[ 4]=Y[0];
m[ 5]=Y[1];
m[ 6]=Y[2];
m[ 7]=0;
m[ 8]=Z[0];
m[ 9]=Z[1];
m[10]=Z[2];
m[11]=0;
m[12]=P[0];
m[13]=P[1];
m[14]=P[2];
m[15]=1;
teraz zastosować obrót macierzą transformacji wokół osi Z na nim
double angle = acos((V1.v2)/(|V1|.|V2|))
- obracać wokół osi z o +/- kąta
- kąt znak zależy od osi Y przejechać argumenty zamówienia
nie
- pewien teraz od Głowica ale widać
- jeśli ustawisz go źle V2 będzie po przeciwnej stronie
Jest to non SO pytanie, przy okazji zajrzeć tutaj http://gamedev.stackexchange.com/questions/20097/how- obliczyć-od-3x3-macierz-od-2-kierunku-wektorów –
i to jest dokumentacja vector3 http://threejs.org/docs/#Reference/Math/Vector3 –
To pytanie wydaje się być wyłączone temat, ponieważ chodzi o http://math.stackexchange.com/ –