Matrix4d.translationRotateScaleMulAffine

Set <code>this</code> matrix to <code>T * R * S * M</code>, where <code>T</code> is a translation by the given <code>(tx, ty, tz)</code>, <code>R</code> is a rotation - and possibly scaling - transformation specified by the quaternion <code>(qx, qy, qz, qw)</code>, <code>S</code> is a scaling transformation which scales the three axes x, y and z by <code>(sx, sy, sz)</code> and <code>M</code> is an {@link #isAffine() affine} matrix. <p> When transforming a vector by the resulting matrix the transformation described by <code>M</code> will be applied first, then the scaling, then 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(tx, ty, tz).rotate(quat).scale(sx, sy, sz).mulAffine(m)</code>

@see #translation(double, double, double) @see #rotate(ref Quaterniond) @see #scale(double, double, double) @see #mulAffine(Matrix4d)

@param tx the number of units by which to translate the x-component @param ty the number of units by which to translate the y-component @param tz the number of units by which to translate the z-component @param qx the x-coordinate of the vector part of the quaternion @param qy the y-coordinate of the vector part of the quaternion @param qz the z-coordinate of the vector part of the quaternion @param qw the scalar part of the quaternion @param sx the scaling factor for the x-axis @param sy the scaling factor for the y-axis @param sz the scaling factor for the z-axis @param m the {@link #isAffine() affine} matrix to multiply by @return this

struct Matrix4d
ref return
translationRotateScaleMulAffine
(
double tx
,
double ty
,
double tz
,
double qx
,
double qy
,
double qz
,
double qw
,
double sx
,
double sy
,
double sz
,)

Meta