有人可以解释这个公式

时间:2017-03-03 17:03:38

标签: javascript math three.js

我找到了一个执行以下操作的公式:

https://threejs.org/examples/css3d_periodictable.html(球体版本)

我修改了一些代码来处理我的对象,但是后面的数学没有改变。

我的问题是,是否有人可以解释在职位计算中究竟发生了什么。

这是代码:

for ( var i = 0, l = 30; i < l; i ++ ) {

    var phi = Math.acos( -1 + ( 2 * i ) / l );
    var theta = Math.sqrt( l * Math.PI ) * phi;

    var object = new THREE.Mesh( geometry, material );

    object.position.x = 1000 * Math.cos( theta ) * Math.sin( phi );
    object.position.y = 1000 * Math.sin( theta ) * Math.sin( phi );
    object.position.z = 1000 * Math.cos( phi );

    scene.add(object);

}

我希望有人能够帮助我

提前致谢

1 个答案:

答案 0 :(得分:3)

此代码将笛卡尔坐标转换为球坐标。检查坐标系转换的this wikipedia entry

绘制球体的最佳方法;)