且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

有人可以解释一下公式吗

更新时间:2022-10-22 12:49:52

此代码将笛卡尔坐标转换为球坐标.在坐标系转换上检查此Wikipedia条目.

绘制球形的***方法;)

I have found a formula which does the following:

https://threejs.org/examples/css3d_periodictable.html (the sphere version)

I modified the code a little bit to work with my objects, but changed nothing in the math behind it.

My question is if someone can explain what is exactly happening in the calculation for the position.

This is the code:

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

}

I hope someone is able to help me

Thanks in advance

This code is transforming Cartesian coordinates to spherical coordinates. Check this wikipedia entry on coordinate system convertions.

The best way to draw a sphere ;)