如何旋转和定位中心物体?
How to rotate and position the center object?
我创建了一个工具箱,可以旋转和重新定位中间有轴的网格。当我将旋转和位置分开时,位置将 return 到前一个。然而,这会导致旋转不在网格上。所以我所做的是使用乘法。但这不是我所期望的,因为网格位置应该是我标记它的位置(而不是在网格轴上)。
如何旋转和定位对象,使其保持在指定位置并在该位置旋转?
这是我的代码:
const translation = new THREE.Matrix4().makeTranslation(
this.valueAOA_X,
this.valueAOA_Y,
this.valueAOA_Z
);
const angleRadian = CoordinateConverter.degreeToRadian(
this.valueAOA_Rotation
);
const rotationAOA = new THREE.Matrix4().makeRotationZ(angleRadian);
this.selectedModel.setPlacementTransform(
rotationAOA.multiply(translation)
);
已通过此行修复:
this.selectedModel.setPlacementTransform(
translation.multiply(rotationAOA)
);
我创建了一个工具箱,可以旋转和重新定位中间有轴的网格。当我将旋转和位置分开时,位置将 return 到前一个。然而,这会导致旋转不在网格上。所以我所做的是使用乘法。但这不是我所期望的,因为网格位置应该是我标记它的位置(而不是在网格轴上)。 如何旋转和定位对象,使其保持在指定位置并在该位置旋转? 这是我的代码:
const translation = new THREE.Matrix4().makeTranslation(
this.valueAOA_X,
this.valueAOA_Y,
this.valueAOA_Z
);
const angleRadian = CoordinateConverter.degreeToRadian(
this.valueAOA_Rotation
);
const rotationAOA = new THREE.Matrix4().makeRotationZ(angleRadian);
this.selectedModel.setPlacementTransform(
rotationAOA.multiply(translation)
);
已通过此行修复:
this.selectedModel.setPlacementTransform(
translation.multiply(rotationAOA)
);