hyqzz /
solar-wanderer
它是什么 一个完全跑在浏览器里的 1:1 千米尺度真实太阳系。 打开即是此刻——行星位置由 NASA JPL 星历实时计算,与 JPL Horizons 官方数据误差 ≤0.074°,是它们现在真实所在的位置。手机双指捏合放大,你会穿越大气层、降落在月球表面,抬头就能看见地球挂在黑色天幕里。 整段旅程——轨道 → 大气 → 地表 → 行走 → 水下——是一个连续的缩放,没有加载条,没有切换场景。 主要内容 8 颗行星、月球、21 颗卫星…
hyqzz /
它是什么 一个完全跑在浏览器里的 1:1 千米尺度真实太阳系。 打开即是此刻——行星位置由 NASA JPL 星历实时计算,与 JPL Horizons 官方数据误差 ≤0.074°,是它们现在真实所在的位置。手机双指捏合放大,你会穿越大气层、降落在月球表面,抬头就能看见地球挂在黑色天幕里。 整段旅程——轨道 → 大气 → 地表 → 行走 → 水下——是一个连续的缩放,没有加载条,没有切换场景。 主要内容 8 颗行星、月球、21 颗卫星…
它是什么 一个完全跑在浏览器里的 1:1 千米尺度真实太阳系。 打开即是此刻——行星位置由 NASA JPL 星历实时计算,与 JPL Horizons 官方数据误差 ≤0.074°,是它们现在真实所在的位置。手机双指捏合放大,你会穿越大气层、降落在月球表面,抬头就能看见地球挂在黑色天幕里。 整段旅程——轨道 → 大气 → 地表 → 行走 → 水下——是一个连续的缩放,没有加载条,没有切换场景。 主要内容 8 颗行星、月球、21 颗卫星(JPL 状态矢量拟合)、28 颗真实海外天体(TNO)、4 颗彗星(背日彗尾)、21 颗按真实 3D 距离摆放的亮星(移动时有视差) 19 颗天体可登陆行走,月球重力是地球的 1/6(跳跃高度 6 倍);地球海洋有浮力可下潜 渲染范围:0.5 米地表细节 → 10 万 AU 奥尔特云(约 1.6 光年) 时间控制:1 秒 → 10 年/秒,可倒退、暂停、跳回此刻 为什么技术上有意思 太空渲染的头号难题是浮点精度。GPU 的 float32 只有约 7 位有效数字,在太阳系尺度下,绝对坐标会让地面顶点产生千米级量化抖动。 这里用了两个关键手段: 1. 浮动原点:天文计算全程 Float64,送进 GPU 前先减去相机位置,场景永远以观察者为中心 2. 对数深度缓冲:camera.far 设到 1×10¹⁵ km(约 106 光年),让"脚前半米"和"海王星轨道"共存在同一个深度缓冲里,不 z-fighting 这两点合在一起,才撑起了从 0.5 米到 10 万 AU 的无缝连续缩放。 约 200 kB,纯静态 gzip 后约 200 kB,无后端、无账号、无跟踪。本质上是一个静态网页,部署在国内服务器,可流畅打开。 背景 项目核心是在 Fable 5(6 月 9 日发布、6 月 12–13 日因美国出口管制全球下线)还可用的约两天里搭出来的——星历层、相机系统、渲染器、着陆机制,第一次提交约 12,000 行。模型下线后用 Claude Opus/Sonnet 完成了移动端改造和 v2.0.0 发布。 dev.to 技术文章: 验证星历精度:npm run verify(实时对照 JPL Horizons API)
讨论这个产品