>>855 の例で言うなら単純に、

× D3DXQuaternionRotationAxis( &q, &(cross), d * D3DX_PI * -0.5f);

 ↓

○ D3DXQuaternionRotationAxis( &q, &(cross), acosf(d));

で終わり