public Matrix3x2d rotate(double ang, Matrix3x2d dest) {
        double cos = Math.cos(ang);
        double sin = Math.sin(ang);
        double rm00 = cos;
        double rm01 = sin;
        double rm10 = -sin;
        double rm11 = cos;
        double nm00 = m00 * rm00 + m10 * rm01;
        double nm01 = m01 * rm00 + m11 * rm01;
        dest.m10 = m00 * rm10 + m10 * rm11;
        dest.m11 = m01 * rm10 + m11 * rm11;
        dest.m00 = nm00;
        dest.m01 = nm01;
        dest.m20 = m20;
        dest.m21 = m21;
        return dest;
    }
public Matrix3x2d rotate ( double ang , Matrix3x2d dest ) { double cos = Math . cos ( ang ) ; double sin = Math . sin ( ang ) ; double rm00 = cos ; double rm01 = sin ; double rm10 = - sin ; double rm11 = cos ; double nm00 = m00 * rm00 + m10 * rm01 ; double nm01 = m01 * rm00 + m11 * rm01 ; dest . m10 = m00 * rm10 + m10 * rm11 ; dest . m11 = m01 * rm10 + m11 * rm11 ; dest . m00 = nm00 ; dest . m01 = nm01 ; dest . m20 = m20 ; dest . m21 = m21 ; return dest ; }
Apply a rotation transformation to this matrix by rotating the given amount of radians and store the result in <code>dest</code>.
<p>
If <code>M</code> is <code>this</code> matrix and <code>R</code> the rotation matrix,
then the new matrix will be <code>M * R</code>. So when transforming a
vector <code>v</code> with the new matrix by using <code>M * R * v</code>, the rotation will be applied first!

@param ang
the angle in radians
@param dest
will hold the result
@return dest