# How do you transform a vector to use another objects orientation?

I want to take a vector that is using world coordinates and position it using the orientation of an object. So, if the direction of the object is the z-axis, and the vector is (0,0,1), then the orientated vector would point in the direction of the object. I want to vector to remain in the world coordinate system. All I have for the object is it's up and direction vector. So, I can build a matrix with those by crossing them to create the third axis. Multiplying the vector by this matrix transform the vector into the object coordinate system (right?). But, I want the vector in world coordinate system. Should I use the matrix to find euler angles and then use those angles to create a rotation matrix?

• Multiplying the vector by the matrix should give you the vectors orientation in world space Dec 1, 2010 at 14:38
• When I did what CiscolPPhone suggested, it was the opposite transform. So, I took the inverse of the matrix and that worked. I'm not sure why though. Dec 1, 2010 at 16:16
• @CiscoIPPhone, any reason that your comment wasn't an answer? That way zooropa here could mark it as accepted. Dec 1, 2010 at 16:19
• I'll add it as a answer. Dec 1, 2010 at 17:07