Answers for "Matrix rotation of a Vector3 around three planes of rotation"
http://answers.unity.com/questions/315229/matrix-rotation-of-a-vector3-around-three-planes-o.html
The latest answers for the question "Matrix rotation of a Vector3 around three planes of rotation"Answer by MCorrin
http://answers.unity.com/answers/315285/view.html
Brian Stone posted this answer on the forum and it addresses my problem perfectly.
[http://forum.unity3d.com/threads/150444-Matrix-rotation-of-a-Vector3-around-three-planes-of-rotation][1]
[1]: http://forum.unity3d.com/threads/150444-Matrix-rotation-of-a-Vector3-around-three-planes-of-rotation
Here is what he wrote:
If you have a matrix or quaternion which represents the orientation of the plane, then all you need to do is calculate the Inverse of that transform and multiply it to the point. This will transform the point to the World's identity orientation (X:<1,0,0>, Y<0,1,0>, Z<0,0,1>), because any matrix multiplied by its inverse is the identity matrix*.
Matrix4x4 M; // set this to the plane's orientation
Vector3 v3_orig; // some point that intersects with the plane
Matrix4x4 Mi = M.inverse;
Vector3 v3_final = Mi * v3_orig;
* implies that the matrix is square and non-singular.
And to demo with Quaternion:
Quaternion qi = Quaternion.Inverse(plane.transform.rotation);
Vector3 v3_final = qi * v3_orig;Sat, 08 Sep 2012 22:32:03 GMTMCorrin