Can someone explain the formula

怎甘沉沦 提交于 2019-12-13 07:46:54

问题


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


回答1:


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

The best way to draw a sphere ;)



来源:https://stackoverflow.com/questions/42584643/can-someone-explain-the-formula

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!