Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将一个值与另一个值相减的结果相乘_Javascript_Three.js - Fatal编程技术网

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对我来说,这是一个很好的学习练习