EDIT:
I went into my own math libraries and checked one of my math books, and it turns out I *DID* prove the matrix you are talking about. To be more to the point, the 'one equation i posted', and the matrix you are talking about, are the same thing...one isn't more involved than the other, the matrix you are talking about is the matrix form of what I posted above.
I never attacked you in this post and yet you continue to act as if I'm a threat to you. You got issues.
The matrix is this:
N here is the vector pV in the D3DXMatrixRotationAxis function prototype and matrix is of course the pOut member of the prototype. Theta is Angle.
Code:
...
matrix[0][0]=(n.x*n.x) * (1 - cos(theta)) + cos(theta);
matrix[0][1]=(n.x*n.y) * (1 - cos(theta)) + n.z * sin(theta);
matrix[0][2]=(n.x*n.z) * (1 - cos(theta)) - n.y * sin(theta);
matrix[1][0]=(n.x*n.y) * (1 - cos(theta)) - n.z * sin(theta);
matrix[1][1]=(n.y*n.y) * (1 - cos(theta)) + cos(theta);
matrix[1][2]=(n.y*n.z) * (1 - cos(theta)) + n.x * sin(theta);
matrix[2][0]=(n.x*n.z) * (1 - cos(theta)) + n.y * sin(theta);
matrix[2][1]=(n.y*n.z) * (1 - cos(theta)) - n.x * sin(theta);
matrix[2][2]=(n.z*n.z) * (1 - cos(theta)) + cos(theta);
...
Of course this is 3x3 matrix but converting to 4x4 to allow for translation is a trivial matter.