code: public Matrix4x3f rotationX(float ang) {
          float sin, cos;
          if (ang == (float) Math.PI || ang == -(float) Math.PI) {
              cos = -1.0f;
              sin = 0.0f;
          } else if (ang == (float) Math.PI * 0.5f || ang == -(float) Math.PI * 1.5f) {
              cos = 0.0f;
              sin = 1.0f;
          } else if (ang == (float) -Math.PI * 0.5f || ang == (float) Math.PI * 1.5f) {
              cos = 0.0f;
              sin = -1.0f;
          } else {
              sin = (float) Math.sin(ang);
              cos = (float) Math.cosFromSin(sin, ang);
          }
          m00 = 1.0f;
          m01 = 0.0f;
          m02 = 0.0f;
          m10 = 0.0f;
          m11 = cos;
          m12 = sin;
          m20 = 0.0f;
          m21 = -sin;
          m22 = cos;
          m30 = 0.0f;
          m31 = 0.0f;
          m32 = 0.0f;
          properties = PROPERTY_ORTHONORMAL;
          return this;
      }
docs: Set this matrix to a rotation transformation about the X axis.
  <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>
  Reference: <a href="http://en.wikipedia.org/wiki/Rotation_matrix#Basic_rotations">http://en.wikipedia.org</a>
  
  @param ang
  the angle in radians
  @return this