I create a cube in three.js and if i rotate it first then translateX,the cube position is not (10,0,0)
geometry = new THREE.BoxGeometry( 3, 3, 3 );
material = new THREE.MeshBasicMaterial( { color: 0xff0000} );
mesh = new THREE.Mesh( geometry, material );
mesh.position.set(0, 0 , 0);
mesh.rotation.y = Math.PI/4;
mesh.translateX(10);
scene.add( mesh );
but if i translateX it first then rotate,the position is (10,0,0).
So i notice that object translate based on self coordinate system. When i rotate first, the object self coordinate system has chenged. But if i rotate it first then translateX,the cube position is (5.3, 0, -5.3), and rotate it now , it looks like rotation not based on self coordinate system.
So i want to know is object translate and rotate based on self coordinate system or world coordinate system.