Matrix4d.rotateAffine

Apply rotation to this {@link #isAffine() affine} matrix by rotating the given amount of radians about the specified <code>(x, y, z)</code> axis and store the result in <code>dest</code>. <p> This method assumes <code>this</code> to be {@link #isAffine() affine}. <p> The axis described by the three components needs to be a unit vector. <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>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! <p> In order to set the matrix to a rotation matrix without post-multiplying the rotation transformation, use {@link #rotation(double, double, double, double) rotation()}. <p> Reference: <a href="http://en.wikipedia.org/wiki/Rotation_matrix#Rotation_matrix_from_axis_and_angle">http://en.wikipedia.org</a>

@see #rotation(double, double, double, double)

@param ang the angle in radians @param x the x component of the axis @param y the y component of the axis @param z the z component of the axis @param dest will hold the result @return dest

  1. Matrix4d rotateAffine(double ang, double x, double y, double z, Matrix4d dest)
    struct Matrix4d
    rotateAffine
    (
    double ang
    ,
    double x
    ,
    double y
    ,
    double z
    ,)
  2. Matrix4d rotateAffine(double ang, double x, double y, double z)
  3. Matrix4d rotateAffine(Quaterniond quat, Matrix4d dest)
  4. Matrix4d rotateAffine(Quaterniond quat)

Meta