方向ベクトルから回転行列を計算し、回転行列から方向ベクトルを計算する必要があります。
上方向は z 軸に対応する必要があり、前方が y で右が x です。
D3DXMATRIX m; // the rotation matrix
D3DXVECTOR3 v; // this is the direction vector wich is given
D3DXVECTOR3 r; // resulting direction vector
float len = D3DXVec3Length(&v); // length of the initial direction vector
// compute matrix
D3DXMatrixLookAtLH(&m, &v, &D3DXVECTOR3(0,0,0), &D3DXVECTOR3(0,0,1));
// use the matrix on a vector { 0, len, 0 }
D3DXVec3TransformCoord(&r, &D3DXVECTOR3(0,len,0), &m);
ここで、ベクトルrはvに等しくなければなりませんが、そうではありません。必要な結果を得るには、具体的に何をしなければなりませんか?