繁体   English   中英

如何旋转和定位中心对象?

[英]How to rotate and position the center object?

在此处输入图片说明 在此处输入图片说明

我创建了一个工具箱,它可以旋转和重新定位一个中间有一个轴的网格。 当我将旋转和位置分开时,位置将返回到前一个。 然而,这会导致不在网格上旋转。 所以我所做的是使用乘法。 但这不是我所期望的,因为网格位置应该在我标记的位置(不在网格轴上)。 如何旋转和定位对象,使其保持在指定位置并在该位置旋转? 这是我的代码:

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)
  );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM