【发布时间】:2022-01-31 03:30:38
【问题描述】:
我有一个轴,由 2 个向量定义,例如一个向上指向 x = 10:
const axisStart = new Vector3(10, 0, 0)
const axisEnd = new Vector3(10, 0, 1)
我得到这样的归一化轴方向:
const axisDirection = new Vector3().subVectors(axisEnd, axisStart).normalize()
如何旋转矢量(例如Vector3(50, 0, 0))围绕我的原始轴?
我尝试过使用Vector3.applyAxisAngle(axisDirection , radians),但由于轴已标准化,因此旋转发生在世界中心 (0, 0) 周围,而不是围绕轴的原始位置。
【问题讨论】:
-
您需要在旋转之前将其移至原点,然后再将其移回原点。从正在旋转的向量中减去
axisStart,照常进行旋转,然后将axisStart添加到正在旋转的向量中。
标签: javascript three.js rotation