V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
coolwulf
V2EX  ›  分享创造

给 Flight-Viz 加了驾驶舱视角,可以用真实 3D 地形跟随任何航班飞行

  •  1
     
  •   coolwulf · 14 小时 23 分钟前 · 422 次点击

    之前在 V2EX 分享过我的实时航班追踪项目 Flight-Viz ( https://flight-viz.com ),用 Rust + WASM + WebGL2 在浏览器里渲染 1 万多架飞机。上次发帖后收到不少反馈,这几天加了一个新功能想分享一下。

    现在点击任何一架飞机,按 Cockpit 按钮,就能进入驾驶舱视角, 渲染真实的地形、建筑、大气层。高度、速度、航向都是实时 ADS-B 数据驱动的。

    可以直接体验驾驶舱视角: https://flight-viz.com/cockpit.html?lat=31.23&lon=121.47&alt=3000&hdg=90&spd=150&cs=demo

    做这个功能的过程挺曲折的。一开始想直接在 Rust/WASM 的 WebGL 渲染器里实现第一人称视角,但我们的轨道相机系统始终朝向地球中心,改成倾斜视角后瓦片加载全崩了。

    位置更新的平滑处理也花了不少功夫。服务器每 2 分钟更新一次数据,中间用航位推算( dead reckoning )保持飞机移动。关键问题是服务器经常返回相同的旧数据,如果每次都重置锚点位置,飞机就会往回跳。最后的解决方案是检测位置变化是否超过 11 米,只有真正有新数据时才重置锚点,否则继续推算。

    之前发的帖子: https://v2ex.com/t/1203750 Reddit r/webdev #1: https://www.reddit.com/r/webdev/comments/1sbnhvm/ Hacker News 首页: https://news.ycombinator.com/item?id=47603966 技术博客: https://dev.to/hao_jiang_c21b032bd6fbcfa/how-i-render-10000-live-aircraft-at-60fps-in-the-browser-with-rust-wasm-and-raw-webgl2-4360

    在线体验: https://flight-viz.com 驾驶舱直接体验: https://flight-viz.com/cockpit.html?lat=31.23&lon=121.47&alt=3000&hdg=90&spd=150&cs=demo

    3 条回复    2026-04-09 09:07:01 +08:00
    coolwulf
        1
    coolwulf  
    OP
       14 小时 22 分钟前
    coolwulf
        2
    coolwulf  
    OP
       14 小时 22 分钟前
    villivateur
        3
    villivateur  
       8 小时 12 分钟前
    很感慨,真的会有人做出这么牛逼的产品。而且我还跟这种大佬逛一个论坛。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5251 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 09:19 · PVG 17:19 · LAX 02:19 · JFK 05:19
    ♥ Do have faith in what you're doing.