2014-04-03 7 views

Antwort

36

Wo v1 und v2 sind vom Typ 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); 
} 

Update: Im R74 Freisetzung von three.js das Verfahren .distanceTo(v) verwendet werden kann.

+0

Can Ich sehe nicht den Grund, warum es dazu eine Abstimmung gab. Fixed it – Mircea

+0

Ich vermute, es wurde downvoted, weil es nicht in Javascript war, wofür Three.js geschrieben wurde, definitiv kein Grund, imo zu downvoten. Ich habe gerade eine Bearbeitung hinzugefügt, Danke für die Antwort @gaitat – captDaylight

+0

Downvoting, da es eine bestehende Funktion in Three.js gibt. Könnten Sie Ihre Antwort aktualisieren, um das zu reflektieren? Vielen Dank! –

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

Verwenden Sie in threads.js die 'Vector3.distanceTo()' Methode: 'distance = vec1.distanceTo (vec2);' – WestLangley

+0

@WestLangley, könnten Sie das bitte als Antwort posten? –

+0

@EugeneKulabuhov Fertig. – WestLangley

10

In three.js, den Abstand zwischen zwei 3D-Positionen zu berechnen, verwenden Sie die Vector3.distanceTo() Methode:

var distance = vec1.distanceTo(vec2); 

three.js r.74

Verwandte Themen