Matrix4x3d.translationRotateScale

Set <code>this</code> matrix to <code>T * R * S</code>, where <code>T</code> is the given <code>translation</code>, <code>R</code> is a rotation transformation specified by the given quaternion, and <code>S</code> is a scaling transformation which scales the axes by <code>scale</code>. <p> When transforming a vector by the resulting matrix the scaling transformation will be applied first, then the rotation and at last the translation. <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> This method is equivalent to calling: <code>translation(translation).rotate(quat).scale(scale)</code>

@see #translation(Vector3d) @see #rotate(Quaterniond)

@param translation the translation @param quat the quaternion representing a rotation @param scale the scaling factors @return this

  1. Matrix4x3d translationRotateScale(double tx, double ty, double tz, double qx, double qy, double qz, double qw, double sx, double sy, double sz)
  2. Matrix4x3d translationRotateScale(Vector3d translation, Quaterniond quat, Vector3d scale)
    struct Matrix4x3d
    ref public return
    translationRotateScale

Meta