我试图弄清楚如何将球体从A点自己旋转到B点本身。我发现了一些Unity3d代码:将球体a旋转到b点本身
Quaternion rot = Quaternion.FromToRotation (pointA, pointB);
sphere.transform.rotation *= rot; //Multiply rotations to get the resultant rotation
通过http://answers.unity3d.com/questions/21921/rotate-point-a-on-sphere-to-point-b-on-sphere.html但我无法弄清楚如何实现它在three.js所。
这里是我的代码:
var s = sphere mesh
var va = 1st start vector
var vb = 2nd end vector;
var qa = new THREE.Quaternion(va.x, va.y, va.z, 1);
var qb = new THREE.Quaternion(vb.x, vb.y, vb.z, 1);
var qc = new THREE.Quaternion();
THREE.Quaternion.slerp(qa, qb, qc, 1);
s.useQuaternion = true;
s.quaternion = qc;
谢谢!
只是出于好奇,有没有在我提供以下不满足你的需要的答案什么?如果有某种方式可能对您更有用,我希望能提供帮助。 – andand
3.js/js语法中的代码示例并非数学语法将非常棒! – Jisike
这有几个问题。首先,我对3.js不熟悉。实际上,我正在为自己学习js,在这一点上我没有把所有的东西都放在正确的位置上。另一个,也许更大的问题是你是否理解下面的概念。如果你不这样做,你可能会更好地服务于开发这种理解,而不是在稍后的某个日期提供你将无法维护的代码。那么,你知道什么是交叉点和点积?如果没有,我可以扩展这些概念,你可以自己编码。 – andand