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);

JSFiddle

如果我没猜错,那么

var theta = ...;

添加

radius += value / 2;