It's probably more of a typo than a thinko, but acos(A. B) is the angle, not its cosine. Similarly for point 2.
No, you're pretty much doing it the best way possible. I don't think there is a built-in DirectX function that does what you want. For step 4, you can use D3DXMatrixRotationAxis().
Just be careful about the edge cases, such as when |A| or |B| is zero, or when the angle is 0° or 180°.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.