# Difference between applyMatrix4() and multiplying matrix manually

**URL:** <https://discourse.threejs.org/t/difference-between-applymatrix4-and-multiplying-matrix-manually/33728>\
**Category:** Questions\
**Tags:** transform-matrix\
**Created:** [January 17, 2022, 12:37pm UTC](https://discourse.threejs.org/t/difference-between-applymatrix4-and-multiplying-matrix-manually/33728 "2022-01-17T12:37:07Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Suresh\_Kumar](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/suresh_kumar/32/22403_2.png) [@Suresh\_Kumar](https://discourse.threejs.org/u/Suresh_Kumar)\
**Post date:** [January 17, 2022, 12:37pm UTC](https://discourse.threejs.org/t/difference-between-applymatrix4-and-multiplying-matrix-manually/33728/1 "2022-01-17T12:37:08Z")

</div>

Hi,

I have created a cube and applied some position , rotation and scale transformations . Now I am trying to get this whole transformation from cube.matrix , and apply to another mesh , let’s say testMesh. If I use testMesh.applyMatrix4(this.cube.matrix), it works well as expected, my testMesh is getting the same transformation of cube. But If try to do manually like following , the testMesh is not getting transformed.

```
testMesh.matrix.multiply(this.cube.matrix);
testMesh.updateMatrix();
testMesh.updateWorldMatrix(true, true);

```

Eventhough I get desired output from applyMatrix4, technically I would like to understand the difference between two approaches . In both, values of testMesh.matrix are getting updated , but visually I am seeing only correct result with applyMatrix4. Can anyone please help me with the difference ?
