如何用数学解释Three.js中通过鼠标位置设置camera.position.x和camera.position.z实现模型旋转?

如何理解threejs中的坐标转换

window.addEventListener('mousemove', (e) => {
    cursor.x = e.clientX / sizes.width - .5 
    cursor.y = e.clientY / sizes.height - .5
})
// tick
  camera.position.x = Math.sin(cursor.x * Math.PI * 2) * 3
  camera.position.z = Math.cos(cursor.x * Math.PI * 2) * 3

预览连接 测试
这段代码实现了模型转动可以旋转多圈。
如何理解tick中的坐标转化,我的理解是得到的值是x和z在围绕模型的圆环上的点,但是这是怎么得到的,不知道这个公式的计算,数学一直很差,如果有大佬可以画图解释一下就好了,下跪了。自己研究了一段时间,很模糊。

阅读 805
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏