全站通知:
戴森球建造判定
刷
历
编
阅读
2024-11-02更新
最新编辑:晨隐_
阅读:
更新日期:2024-11-02
最新编辑:晨隐_
跳到导航
跳到搜索
节点判定
Ok
- 可以建造
OutOfRange 超出绘制范围
- 超出绘制范围
TooClose 布局太拥挤
- 寻找距离当前节点最近的节点
- 如果 1E-08 <= 连接两节点的向量的模的平方 < 0.0051122503 ,则视为节点之间过近
- 任意两个节点的夹角 >= 4.0975214864662375°
- 在球面上放置N个点,使得任意两点之间的最小距离最大化的问题数学上被称为Tammes Problem。Tammes Problem的下界已经得到了证明[1]。由此可以推导出戴森球上不可能放置超过2836个节点。注意这只是一个上界,表示不存在超过2836节点的布局,不代表必然存在刚好2836节点的布局。
InShell 不能位于壳上
- 节点不能位于壳上
Exist 布局重合
- 寻找距离当前节点最近的节点
- 如果连接两节点的向量的模的平方 < 1E-08 ,则视为布局重合
- 任意两个节点的夹角 < 0.005729577936284885° 时视为布局重合
StressExceed 超出应力系统
- 当前设计受到科技等级限制
框架判定
Ok
- 可以建造
OutOfRange 超出绘制范围
- 超出绘制范围
TooLong 节点距离太远
- 获取待连接的两个节点的坐标,归一化到单位球面上
- 把归一化后的坐标相减,得到一个向量,计算这个向量的模
- 如果模>0.518,则壳面距离过远
- 框架两端的节点夹角 <= 30.021467926252935°
Cross 框架不能交叉
- 框架不能交叉
TooClose 布局太拥挤
- 遍历其它所有已经存在的节点,计算节点到当前框架所在线段(不是直线)的最短距离的平方
- 如果最短距离的平方小于0.00275624986,则视为当前框架和节点过近
- 节点与框架上任意一点的夹角 >= 3.0083739084419534°
InShell 不能位于壳上
- 框架不能位于壳上
Exist 布局重合
- 两个节点对应的框架已经存在
StressExceed 超出应力系统
- 当前设计受到科技等级限制
壳面判定
Ok
- 可以建造
NoCycle (无提示)
- 节点无法相连形成一个圈
CycleTooLarge 壳面太大
- 以恒星的中心为原点,获取待填充的壳面周围一圈可以形成封闭形状的节点的坐标,存入一个cycle_list。
- 将cycle_list内所有的坐标求和,然后归一化到单位球面上,或者说求节点的重心。
- 把cycle_list内每一个坐标归一化到单位球面上,然后计算它和重心的距离的平方值。
- 如果存在平方值 > (0.268324018 * 0.6),则判定为壳面过大。
- 完全覆盖恒星的戴森球至少存在30个壳面。每个壳面都是一个球面上的多边形。考虑多边形对应的外接圆,由外接圆的定义可知壳面多边形必然在对应的外接圆的内部。因此使用圆形覆盖球面是比使用满足壳面不过大判定的多边形覆盖球面更弱的问题。使用圆形覆盖球面的问题数学上被称为球面覆盖问题(Sphere Covering Problem),从提出到现在已经有上百年历史,至今没有得到证明,但是在较小的问题规模上已经使用计算机求出了待定最优解。查表可知[2],满足判定的多边形所对应的外接圆至少需要30个才能覆盖球面,因此完全覆盖恒星的戴森球至少存在30个壳面。
OthersInCycle 壳中有节点
- 壳中有节点
Exist 布局重合
- 一圈节点对应的壳面已经存在