Matrix3d.rotateTowards

Apply a model transformation to this matrix for a right-handed coordinate system, that aligns the local <code>+Z</code> axis with <code>direction</code>. <p> If <code>M</code> is <code>this</code> matrix and <code>L</code> the lookat matrix, then the new matrix will be <code>M * L</code>. So when transforming a vector <code>v</code> with the new matrix by using <code>M * L * v</code>, the lookat transformation will be applied first! <p> In order to set the matrix to a rotation transformation without post-multiplying it, use {@link #rotationTowards(double, double, double, double, double, double) rotationTowards()}. <p> This method is equivalent to calling: <code>mul(new Matrix3d().lookAlong(-dirX, -dirY, -dirZ, upX, upY, upZ).invert())</code>

@see #rotateTowards(Vector3d, Vector3d) @see #rotationTowards(double, double, double, double, double, double)

@param dirX the x-coordinate of the direction to rotate towards @param dirY the y-coordinate of the direction to rotate towards @param dirZ the z-coordinate of the direction to rotate towards @param upX the x-coordinate of the up vector @param upY the y-coordinate of the up vector @param upZ the z-coordinate of the up vector @return this

  1. Matrix3d rotateTowards(Vector3d direction, Vector3d up, Matrix3d dest)
  2. Matrix3d rotateTowards(Vector3d direction, Vector3d up)
  3. Matrix3d rotateTowards(double dirX, double dirY, double dirZ, double upX, double upY, double upZ)
    struct Matrix3d
    ref return
    rotateTowards
    (
    double dirX
    ,
    double dirY
    ,
    double dirZ
    ,
    double upX
    ,
    double upY
    ,
    double upZ
    )
  4. Matrix3d rotateTowards(double dirX, double dirY, double dirZ, double upX, double upY, double upZ, Matrix3d dest)

Meta