我创建了一个对象,一个圆锥体,并找到它,定位它,然后沿着它的轴z进行平移。好吧,现在我想检索它在x,y和z中的位置,并将信息存储在一个数组中供以后使用。
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; /
问题是cone.x
不包含任何内容。
答案 0 :(得分:1)
根据philipp的指示和the reply to a neighboring question of mine,以下是有效的代码:
wup[iter].x = cone.position.x;
wup[iter].y = cone.position.y;
wup[iter].z = cone.position.z;
cone
作为几何体,有一个与坐标相关联的名为position
的向量。因此,检索几何的坐标意味着调用其向量position
的坐标。