ThreeJS网格定位
ThreeJS mesh positioning
我正在探索 Three.js 的世界。在创建世界的数据可视化时,我需要向其中添加数据。这就是我被困的地方。
我创建了一个圆圈,并在其中添加了一个框(高度范围取决于数据)。我想在圆的边缘添加盒子,盒子的中心就在边缘上。如何让盒子的内侧成为 'starting point' 的定位?所以盒子的任何部分都不会消失在圆圈内?
盒子的放置是在这段代码中完成的:
geometry = new THREE.BoxGeometry(5, 5, value);`enter code here`
testObject = new THREE.Mesh(geometry);
testObject.position = new THREE.Vector3(500, 500, 500);
var lat = 51.6979;
var lng = 5.317;
var phi = (90 - lat) * Math.PI / 180;
var theta = (180 - lng) * Math.PI / 180;
testObject.position.x = radius * Math.sin(phi) * Math.cos(theta);
testObject.position.y = radius * Math.cos(phi);
testObject.position.z = radius * Math.sin(phi) * Math.sin(theta);
如果我没猜错,那么
var theta = ...;
添加
radius += value / 2;
我正在探索 Three.js 的世界。在创建世界的数据可视化时,我需要向其中添加数据。这就是我被困的地方。 我创建了一个圆圈,并在其中添加了一个框(高度范围取决于数据)。我想在圆的边缘添加盒子,盒子的中心就在边缘上。如何让盒子的内侧成为 'starting point' 的定位?所以盒子的任何部分都不会消失在圆圈内?
盒子的放置是在这段代码中完成的:
geometry = new THREE.BoxGeometry(5, 5, value);`enter code here`
testObject = new THREE.Mesh(geometry);
testObject.position = new THREE.Vector3(500, 500, 500);
var lat = 51.6979;
var lng = 5.317;
var phi = (90 - lat) * Math.PI / 180;
var theta = (180 - lng) * Math.PI / 180;
testObject.position.x = radius * Math.sin(phi) * Math.cos(theta);
testObject.position.y = radius * Math.cos(phi);
testObject.position.z = radius * Math.sin(phi) * Math.sin(theta);
如果我没猜错,那么
var theta = ...;
添加
radius += value / 2;