Those aren't macros, just variables. But I deleted this code because D3DXMatrixLookAtLH() already does this for me, it's the same code.using the macros NX NY and NZ you incur a couple of normalizations, then a couple more, then a crossproduct or two...point being, you aint going to get this for cheap regardless. My method is pretty intuitive though:
Dot product returns the cosine of the angle between two vectors...not the arccos. Sorry.