Why not just use dRFromZAxis()? For the z axis, use b - a. Then, make sure the axis of the cylinder is the z axis, and you're all set. rotation.h is your friend... - Martin