How do you rotate a 3D vector by XYZ corrdinates without using matrices or any of that junk?