anchor.diff:  
   === Rotation Matrix
   
  -Commonly you might find yourself with a <<jme3/matrix#,Matrix>> defining a xref:tutorials:rotate.adoc#toolbar[rotation]. In fact, it's very common to contain a rotation in a Matrix, create a Quaternion, rotate the Quaternion, and then get the Matrix back. Quaternion contains a `fromRotationMatrix` method that will create the appropriate Quaternion based on the given Matrix. The `toRotationMatrix` will populate a given Matrix.
  +Commonly you might find yourself with a xref:jme3/matrix.adoc[Matrix] defining a xref:tutorials:rotate.adoc#toolbar[rotation]. In fact, it's very common to contain a rotation in a Matrix, create a Quaternion, rotate the Quaternion, and then get the Matrix back. Quaternion contains a `fromRotationMatrix` method that will create the appropriate Quaternion based on the given Matrix. The `toRotationMatrix` will populate a given Matrix.
   
   
   ==== Example - Rotate a Spatial Using a Rotation Matrix
  
positive.code: ----
  
  ---
  *  See <<jme3/rotate#,3D-Rotations>> for troubleshooting and extra information on using quaternions.
  
negative.code: 
  Additional benefits of the Quaternion is reducing the chance of link:http://en.wikipedia.org/wiki/Gimbal_lock[Gimbal Lock] and allowing for easily interpolation between two rotations (spherical linear interpolation or slerp).
  
  While Quaternions are quite difficult to fully understand, there are an exceeding number of convenience methods to allow you to use them without having to understand the math behind it. Basically, these methods involve nothing more than setting the Quaternion's x,y,z,w values using other means of representing rotations. The Quaternion is then contained in xref:jme3/advanced/spatial.adoc[Spatial] as its local rotation component.
  
  Quaternion *q* has the form
  
  