[开源] 为了买房不踩坑,我写了一个 3D 楼盘采光模拟器 (Browser-based) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
shuowang3708
V2EX    分享创造

[开源] 为了买房不踩坑,我写了一个 3D 楼盘采光模拟器 (Browser-based)

  •  
  •   shuowang3708 3 天前 784 次点击

    背景

    最近在看房/租房,发现很多中介口中的“采光好”全靠一张嘴。尤其是在冬天,低楼层或者前面有遮挡的房子,采光情况非常微妙。

    虽然市面上有一些专业的日照分析软件(比如天正日照),但那些都是给建筑师用的,上手门槛太高,还得装巨大的软件。

    于是我想:为什么不能在浏览器里直接跑一个物理正确的 3D 采光模拟呢?

    为了解决这个痛点,我利用业余时间写了这个 Building Sunlight Simulator。刚刚有幸被《科技爱好者周刊》推荐了,特地来 V 站分享给各位大佬,希望能帮到有同样需求的朋友。

    项目介绍

    这是一个基于 Web 的 3D 阳光模拟工具,核心功能非常简单直接:

    • 纯前端运行:无需安装任何软件,打开浏览器就能用。
    • 物理正确:根据地理位置(经纬度)和时间(日期/时刻),精确计算太阳位置。
    • 3D 可视化:你可以简单地拖拽出楼盘模型(长方体),设置楼高、楼间距。
    • 实时阴影:拖动时间滑块,直观看到每一分钟的阴影变化。(尤其推荐大家看看“冬至日”那天的采光,那是底线)

    技术栈

    • 语言:Javascript / TypeScript
    • 渲染:Three.js (WebGLEngine)
    • 计算:SunCalc (天文算法库)

    链接

    以此致谢

    代码可能还有些粗糙,欢迎 V 友们提 Issue 或 PR 。如果觉得这个小工具对你有帮助,或者仅仅是觉得好玩,欢迎给个 Star 支持一下!

    也欢迎大家在评论区讨论买房/租房时遇到的采光坑,或者对工具的改进建议(比如增加更复杂的模型导入?)。

    andyJado
        1
    andyJado  
       3 天前
    你这个 json 文件给个示例啊
    shuowang3708
        2
    shuowang3708  
    OP
       3 天前
    你好,github 仓库有数据示例和制作数据的方法。
    metalvest
        3
    metalvest  
       3 天前
    不是,要买的房的模型从哪里来
    shuowang3708
        4
    shuowang3708  
    OP
       3 天前
    @metalvest 你好,github 仓库有代码(editor.html)支持自己根据楼盘规划图或卫星图自己制作数据导出 json 文件,然后加载这个文件就好了,详细步骤请看项目的 readme.md
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5675 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 06:26 PVG 14:26 LAX 22:26 JFK 01:26
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86