将一个值从另一个值中减去的结果相乘



我想乘以:

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)
                //rotationSum.setY(rotationSum.y+180);
                moveModel(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]
因此,"

从一个值中减去另一个值的结果"只是"第一个向量"。您需要一种方法将该向量乘以单个数字或标量

该方法multiplyScalar

v1.multiplyScalar(10);
console.log(v1.toArray());
// [4, 12, 4]

JSBin

Vector3 的三个.js文档

最新更新