the axis of rotation, plus one minus cosine of the angle times the dot product of the vector and rotation axis times the axis of rotation. Some notes: the dot product includes the cosine of the angle between the vector being rotated and the axis of rotation times the length of V; the cross product includes the sine of the angle between the vector being rotated and the axis of rotation. Rotate a Rotation Vector Using Rodrigues Composite Rotation Formula For a given rotation vector , and another rotation vector to rotate the frame around. From the initial rotation vectors, extract the angles and axes: Normalized axis of rotation for the current frame: Normalized axis of rotation to rotate the frame around: The result angle angle of the rotation is or The result, un-normalized axis of rotation: or The Rodrigues Rotation Formula would lead that the sin of above resulting angle can be used to normalize the vector, however this fails for large ranges; so normalize the result axis as any other vector. And the final frame rotation coordinate: Spin rotation around a fixed axis A rotation vector represents three axes; these may be used as a shorthand to rotate the rotation around using the above 'Rotate a Rotation Vector'. These expressions are best represented as code fragments. Setup some constants used in other expressions. using the above values... or or Conversion from Basis Matrix Compute the determinant of the matrix... Convert to the angle of rotation... compute the normal factor... the resulting angle-angle-angle: Conversion from Normal Vector(Y) Representation of a normal as a rotation, this assumes that the vector is 'up'. If some other axle is considered primary, the coordinates can be simply swapped. This assume a normalized input vector in the direction of the normal The angle is simply the sum of the x/z coordinate(or y,x if Z is 'up', or y,z if X is 'up')... if angle is 0, the job is done, result with Some temporary values; these values are just partials referenced later... Use the projected normal on the Y axis as the angle to rotate... Align Normal using Basis The default tangent and bi-tangent of rotations which only have their normal set, results in tangents and bi-tangents that are irregular. Alternatively build a basis matrix, and convert from basis using the above mentioned method. Compute the normal of the above, and the matrix to