public Matrix4x3d rotateLocalX(double ang, Matrix4x3d dest) {
        double sin = Math.sin(ang);
        double cos = Math.cosFromSin(sin, ang);
        double nm01 = cos * m01 - sin * m02;
        double nm02 = sin * m01 + cos * m02;
        double nm11 = cos * m11 - sin * m12;
        double nm12 = sin * m11 + cos * m12;
        double nm21 = cos * m21 - sin * m22;
        double nm22 = sin * m21 + cos * m22;
        double nm31 = cos * m31 - sin * m32;
        double nm32 = sin * m31 + cos * m32;
        dest.m00 = m00;
        dest.m01 = nm01;
        dest.m02 = nm02;
        dest.m10 = m10;
        dest.m11 = nm11;
        dest.m12 = nm12;
        dest.m20 = m20;
        dest.m21 = nm21;
        dest.m22 = nm22;
        dest.m30 = m30;
        dest.m31 = nm31;
        dest.m32 = nm32;
        dest.properties = properties & ~(PROPERTY_IDENTITY | PROPERTY_TRANSLATION);
        return dest;
    }
public Matrix4x3d rotateLocalX ( double ang , Matrix4x3d dest ) { double sin = Math . sin ( ang ) ; double cos = Math . cosFromSin ( sin , ang ) ; double nm01 = cos * m01 - sin * m02 ; double nm02 = sin * m01 + cos * m02 ; double nm11 = cos * m11 - sin * m12 ; double nm12 = sin * m11 + cos * m12 ; double nm21 = cos * m21 - sin * m22 ; double nm22 = sin * m21 + cos * m22 ; double nm31 = cos * m31 - sin * m32 ; double nm32 = sin * m31 + cos * m32 ; dest . m00 = m00 ; dest . m01 = nm01 ; dest . m02 = nm02 ; dest . m10 = m10 ; dest . m11 = nm11 ; dest . m12 = nm12 ; dest . m20 = m20 ; dest . m21 = nm21 ; dest . m22 = nm22 ; dest . m30 = m30 ; dest . m31 = nm31 ; dest . m32 = nm32 ; dest . properties = properties & ~ ( PROPERTY_IDENTITY | PROPERTY_TRANSLATION ) ; return dest ; }
Pre-multiply a rotation around the X axis to this matrix by rotating the given amount of radians
about the X axis and store the result in <code>dest</code>.
<p>
When used with a right-handed coordinate system, the produced rotation will rotate a vector
counter-clockwise around the rotation axis, when viewing along the negative axis direction towards the origin.
When used with a left-handed coordinate system, the rotation is clockwise.
<p>
If <code>M</code> is <code>this</code> matrix and <code>R</code> the rotation matrix,
then the new matrix will be <code>R * M</code>. So when transforming a
vector <code>v</code> with the new matrix by using <code>R * M * v</code>, the
rotation will be applied last!
<p>
In order to set the matrix to a rotation matrix without pre-multiplying the rotation
transformation, use {@link #rotationX(double) rotationX()}.
<p>
Reference: <a href="http://en.wikipedia.org/wiki/Rotation_matrix#Rotation_matrix_from_axis_and_angle">http://en.wikipedia.org</a>

@see #rotationX(double)

@param ang
the angle in radians to rotate about the X axis
@param dest
will hold the result
@return dest