新手,问一个数学问题

1.背景
最近在自学游戏开发,在gayhub上找了一个简单的人生重开模拟器的项目来学习。项目地址:https://github.com/gameall3d/LifeRestart_Cocos
这个游戏的开始游戏界面,有一个词云的效果实现。如下图:


ps:这是我单独另建了一个测试项目,把词云的实现部分拿出来测试,原项目首页不是这个样子。

  1. 问题
    在词云的实现逻辑里,有一小段数学计算,用来计算每个词的初始摆放位置。如下:
    const RADIUS: number = 200;
    for (let i = 0; i < tagLength; i++) {
    const k = (2 * (i+1) -1) / tagLength - 1;
    const a = Math.acos(k);
    const b = a * Math.sqrt(tagLength * Math.PI);
    var x = RADIUS * Math.sin(a) * Math.cos(b);
    var y = RADIUS * Math.sin(a) * Math.sin(b);
    var z = RADIUS * Math.cos(a);

    }
    想了解这一段位置计算为什么要这么去算

https://blog.csdn.net/weixin_39781452/article/details/117728074

感谢感谢 :100: