Ho due punti Vector3 A e B.TRE JS lunghezza cambiamento di vettore per valore assoluto
voglio ottenere vettore C posto di traiettoria da A a B, ma aggiungere ad essa 100 pinta alla sua lunghezza.
Come posso calcolare questo vettore?
Ho due punti Vector3 A e B.TRE JS lunghezza cambiamento di vettore per valore assoluto
voglio ottenere vettore C posto di traiettoria da A a B, ma aggiungere ad essa 100 pinta alla sua lunghezza.
Come posso calcolare questo vettore?
è possibile incrementare un vettore diverso da zero-lenth in Three.js per lunghezza len
in questo modo:
var oldLength = vector.length();
if (oldLength !== 0) {
vector.multiplyScalar(1 + (len/oldLength));
}
Quindi, ecco come si calcola il punto C
.
var A = new THREE.Vector3(10, 20, 30);
var B = new THREE.Vector3(20, 30, 40);
var C = new THREE.Vector3();
var len = 10;
C.subVectors(B, A).multiplyScalar(1 + (len/C.length())).add(A);
Three.js r.69
In un contesto di due dimensionale, questo vi darà le coordinate di C:
var oldLength = A.distanceTo(B);
var newLength = oldLength + 100;
if(oldLength > 0)
{
C.x = A.x + (B.x - A.x) * newLength/oldLength;
C.y = A.y + (B.y - A.y) * newLength/oldLength;
}
ho sperimentato con la lunghezza(), ma non mi rendevo conto di quanto per usarlo. Thx – Martin
nella tua risposta Non vedo le coordinate A e B. Cos'è il "vettore"? – BaptisteB
@AphexHenry Buon punto. Ho risposto alla domanda nel titolo. Il corpo del post fa una domanda diversa. – WestLangley