2014-04-03 28 views

risposta

36

cui V1 e V2 sono di tipo THREE.Vector3:

function distanceVector(v1, v2) 
{ 
    var dx = v1.x - v2.x; 
    var dy = v1.y - v2.y; 
    var dz = v1.z - v2.z; 

    return Math.sqrt(dx * dx + dy * dy + dz * dz); 
} 

Aggiornamento: Nella versione R74 del Three.js metodo .distanceTo(v) può essere utilizzato.

+0

Can vedo il motivo per cui c'è stato un voto negativo su questo. Risolto il problema – Mircea

+0

Suppongo che sia stato downvoted perché non era in Javascript, che è ciò che è scritto in Three.js, sicuramente non è una buona ragione per minimizzare imo. Ho appena aggiunto una modifica, grazie per la risposta @gaitat – captDaylight

+0

Downvoting in quanto esiste una funzione esistente in Three.js. Potresti aggiornare la tua risposta per riflettere questo? Grazie! –

2

in JavaScript:

function dist(x0,y0,z0,x1,y1,z1){ 

deltaX = x1 - x0; 
deltaY = y1 - y0; 
deltaZ = z1 - z0; 

distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ); 

return distance; 
} 
+5

In three.js, usa il metodo 'Vector3.distanceTo()': 'distance = vec1.distanceTo (vec2);' – WestLangley

+0

@WestLangley, potresti postare come risposta? –

+0

@EugeneKulabuhov Fatto. – WestLangley

10

In Three.js, per calcolare la distanza tra due posizioni in 3D, utilizzare il metodo Vector3.distanceTo():

var distance = vec1.distanceTo(vec2); 

Three.js r.74

Problemi correlati