the world is not flat
the world is not flat

Reputation: 181

In three.js how to retrieve the position of an object?

I have created an object, a cone, and have located it, orientated it, and then translated it along its axis z. Well, now I want to retrieve its position in x, y and z and store the information in an array for later use.

var cone = new THREE.Mesh(coneGeometry, coneMaterial);
var φ =   wup[iter].Latitude*Math.PI/180;
var λ = - wup[iter].Longitude*Math.PI/180;
//φ phi lat     λ lambda lon
cone.position.set (
      Math.cos(λ) * 90 * Math.cos(φ),
      Math.sin(φ) * 90,
      Math.sin(λ) * 90 * Math.cos(φ)
);
cone.lookAt( new THREE.Vector3(0,0,0) );
cone.translateZ( - earthRadius * réduc);
wup[iter].x  =  cone.x;
wup[iter].y  =  cone.y;
wup[iter].z  =  cone.z; /

The problem is that cone.x does not contain anything.

Upvotes: 0

Views: 1018

Answers (1)

the world is not flat
the world is not flat

Reputation: 181

Based on philipp's indication, and on the reply to a neighboring question of mine, here is the code that worked:

wup[iter].x  =  cone.position.x;
wup[iter].y  =  cone.position.y;
wup[iter].z  =  cone.position.z;

cone, as a geometry, has a vector called position associated to it with coordinates. Consequently, retrieving the coordinates of the geometry implies calling the coordinates of its vector position.

Upvotes: 1

Related Questions