Javascript threeJS轨迹球控制相机旋转

Javascript threeJS轨迹球控制相机旋转,javascript,camera,rotation,three.js,perspectivecamera,Javascript,Camera,Rotation,Three.js,Perspectivecamera,我已经使用threejs开发了一个基于图像的3D建模应用程序。 对于相机旋转/平移/缩放,我使用TrackballControls.js controls = new THREE.TrackballControls( camera, renderer.domElement ); controls.dynamicDampingFactor = 0.5; controls.target.set( pos.x, pos.y, pos.z ); 我习惯于在vtk paraview等中使用摄影机移动,我

我已经使用threejs开发了一个基于图像的3D建模应用程序。 对于相机旋转/平移/缩放,我使用TrackballControls.js

controls = new THREE.TrackballControls( camera, renderer.domElement );
controls.dynamicDampingFactor = 0.5;
controls.target.set( pos.x, pos.y, pos.z );
我习惯于在vtk paraview等中使用摄影机移动,我找不到如何在threejs中复制这种行为

见:

基本上,如果我点击中心的画布,并沿y轴移动鼠标,相机将按预期旋转。 如果单击画布上距离立方体右侧中心示例较远的点,相机将沿两个方向旋转,而不仅仅是跟随鼠标移动

我希望相机只按照鼠标向下移动的起点和鼠标移动产生的终点之间的矢量旋转,而不考虑起点的位置。它好像绕着一个球体旋转

有什么建议吗? 顺致敬意, 西蒙妮

固定: 使用SymmetricTrackballControls.js,我们可以独立于鼠标在画布上的位置旋转相机,但只考虑鼠标的移动。

是的,模拟轨迹球位于画布的中心。你似乎更倾向于想象模拟轨迹球在鼠标下沉事件中直接在鼠标下方重新定位。谢谢,但是我不能理解如何管理GeMousEnjutoOnWork球,以便不总是考虑帆布的中心作为其中心。有什么想法吗?tnxNo,对不起-没有快速解决方案。顺便说一句,我喜欢你的想法。我决定按照VTK camera controls的风格从头开始实现一个新的控件。我会尽快提交一个请求。