在浏览器里建一座塔式熔盐光热电站

敦煌以西的戈壁滩上立着一座真的 100MW 塔式熔盐光热电站:一万多面定日镜把阳光怼到塔顶,把熔盐烧到五百多度去发电。我一直想去看,一直没去成,索性用 Three.js 在浏览器里自己盖了一座——连沙尘暴和银河都打包进去了:塔式熔盐光热电站。
一万多面镜子,每面都在自己算太阳
中等密度下镜场有 16,459 面定日镜。它们不是一个整体贴图,而是一万多个独立实例:每一面都根据敦煌的经纬度(40.05°N,94.42°E)实时解算太阳的高度角和方位角,自己调整姿态,把反射光精确怼到塔顶的吸热器上。站在镜场中间看,上万道反射光同时指向一个点,场面相当壮观。

凑近了看,支架、镜面、镜面里反射的天光都有。镜场密度有三档:预览、中等、全量——全量模式更密,但也真的吃性能,自己掂量。

从烈日到银河,一天只要四十秒
时间系统是最好玩的部分。默认跟随本地真实时间;打开昼夜加速,快档四十秒一昼夜,极快档十二秒。正午的镜场白得晃眼,日落时分所有影子被拉长,整个戈壁泡在暖橙色里——这是我最推荐的截图时刻。

入夜之后吸热器熄火,聚光停止,银河从地平线升起来,只剩塔身一个剪影。角落里的读数还在跑:太阳高度、方位、月相、真太阳时,都是按真实天文算法算的。拖动年积日,夏至和冬至的太阳轨迹明显不一样,冬至正午镜子仰角明显更陡。

戈壁滩上不总是晴天
天气系统有五种:晴天、多云、小雨、大雨、沙尘暴。大雨落下来的时候镜面会放平收光,上万道反射光瞬间消失;沙尘暴更狠,整个镜场被昏黄吞掉,塔顶只剩一团模糊的光晕,能见度肉眼可见地塌掉。


把塔剖开,看盐怎么流
塔顶那团光是聚光辉光加 Bloom(都可以单独关)。但塔里面发生了什么?打开剖视模式,塔身变半透明:蓝管是冷盐上行,橙管是被烧到五百多度的热盐下行,一路送进发电岛。

塔身底部还藏了个彩蛋——真实的敦煌电站塔身上印着「首航高科」四个大字,我也给它喷上了。

几个顺手的细节
快捷键 1 到 9 是九个预设机位:全景、塔顶、镜场、发电岛、镜面、塔身、看太阳、剖视、切天气,比鼠标找角度快得多。整个场景没有加载任何外部模型,塔、镜场、发电岛全是代码生成的。真正难的不是建模,是让一万多个实例的追日计算在浏览器里跑流畅——所以才有了三档密度这个保命开关。
项目一直在线:rongyanta.vercel.app。建议白天打开看一眼,再把时间拖到日落,最后按下 9 来场沙尘暴。