Javascript 将一个值与另一个值相减的结果相乘
我想乘以:Javascript 将一个值与另一个值相减的结果相乘,javascript,three.js,Javascript,Three.js,我想乘以: vectorDiff=placementPosition.sub(viewerPosition); 乘以10,以便在移动“模型”时: moveModel(vectorDiff,“GPS”); 它的移动速度是当前的10倍。我如何做到这一点;我是javascript新手,非常感谢您的帮助。以下是上述代码块的位置: if(viewerPosition!==null&&placementPosition!==null){ vectorDiff=placementPosition.sub(
vectorDiff=placementPosition.sub(viewerPosition);
乘以10,以便在移动“模型”时:
moveModel(vectorDiff,“GPS”);
它的移动速度是当前的10倍。我如何做到这一点;我是javascript新手,非常感谢您的帮助。以下是上述代码块的位置:
if(viewerPosition!==null&&placementPosition!==null){
vectorDiff=placementPosition.sub(viewerPosition);
rotationSum=new THREE.Vector3().addVectors(placementRotation,viewerRotation)
//旋度sum.setY(旋度sum.y+180);
移动模型(vectorDiff,“GPS”);
//rotateModel(rotationSum,GPS);
三个.js向量是可变的;当调用v1.sub(v2)
时,v1
包含以下结果:
var v1 = new THREE.Vector3(2,3,4);
var v2 = new THREE.Vector3(1,0,3);
v1.sub(v2);
console.log(v1.toArray())
// [1, 3, 1]
因此,“从一个值减去另一个值的结果”就是“第一个向量”。您需要一种方法将该向量乘以单个数字或标量
该方法是multilyscalar
:
v1.multiplyScalar(10);
console.log(v1.toArray());
// [4, 12, 4]
vectorDiff.multilyscalar(10)
谢谢gaitat&joews我按照你的建议,在添加控制台日志时用各自的向量替换“v1”和“v2”:vectorDiff=placementPosition.sub(viewerPosition);console.log(placementPosition.toArray())placementPosition.multilyscalar(10);console.log对我来说,这是一个很好的学习练习