🏛️ ZAHA-FORGE 3D —— 按【规则】随机长出一座自由曲面建筑

每点一次「🎲 随机生成」,引擎按同一套规则现算一座:力密度法找形(力怎么走)→ 造型与力学按 α 融合划板算可造性过九闸(v2 起还自带【六级质检线】,见右下角)。 生成不出的会被当场拦下并说明为什么——引擎的价值一半在生成,一半在排除。 | 引擎与判据同源:MetaZero-OS/scripts/zaha_forge.py | 规格:01-Protocol/ZAHA-自由曲面建筑-ENGINE-SPEC.mdWORLDTEXT 活的城 · 技能库 · 终端首页

🎲 生成中…

看什么:
🧪 塞个劣样本看闸怎么拦:
鼠标拖动=转视角,滚轮=远近。第一人称:手机左半屏走 / 右半屏转头;桌面 WASD + 拖动。支座是实心的,撞不过去。

🎛️ 旋钮(这两个决定它长什么样、造不造得出)

主席最早问的三个问题,这一页就是答案:
它的合理性在哪里? → 「弯矩需求比」:你的曲面离纯受压最优面多远 ÷ 跨度。
怎么限制? → 下面的「找形强度 α」:0=全听造型(最自由最贵)、1=全听力学(最省但没作者)。
表面有哪些特点? → 板件翘曲 / 单曲卷板残差 / 模具复用率,由「幕墙工艺档」决定能不能造。
💡 换一档幕墙材料再看 α:幕墙材料买的就是造型自由度——平板玻璃几乎不给自由度,模具板才给。

⚖️ 九闸判定

📊 实测数字(不是形容词)

🦴 骨架层 · 这个东西在真实世界里到底怎么运转(12 类逐类穷举,不许留空)

v1 只写了 5 条「力怎么走」,剩下 7 类压根没问过 —— 而漏掉的那一类,恰恰是成品出事的地方。 v2 按 UEG 的 12 类逐类过了一遍,共 19 条规则每条都必须挂一条能真跑的测试(没有测试的规则=孤儿规则,等于没有)。
规则(可判真假)违反时能看到什么配套测试
L1 守恒R-L1-1 支座反力之和 = 壳体总荷载账不平:凭空多出或少掉荷载T1-1 · T3-1 · T6(loadLeak)
L2 状态转移R-L2-1 每点处于受压/受弯/受拉三态之一,α 控制全场向纯受压态转移某片区永远受弯却没人管T2-1
R-L2-2 落地这个状态转移必须光滑(用索网场当落地场,禁止硬清零)支座边缘出一圈折线T5-1 · T6(hardZero)
L3 因果传导R-L3-1 荷载沿压力线传到支座;偏离索网面距离 d → 弯矩需求比 = d/跨度造型好看但要靠钢材硬扛T1-1 · T4-3
L4 硬边界R-L4-1 法向朝上分量 ≥ 0.15(无倒挂)排水倒流、施工挂不住T4-1 · T6(flipNormal)
R-L4-2 矢跨比 ∈ [1/8, 1/3]太扁→水平推力爆;太陡→不再覆盖空间T4-1(劣样本「太扁」)
R-L4-3 最小曲率半径 ≥ 1.2 m板卷不过来、应力集中T1-2 · T6(kappaHalf)
L5 反馈回路R-L5-1 正反馈(失控):偏离↑→弯矩↑→构件加厚→自重↑→更偏离越算越重,方案自己雪崩由 R-L5-2 的旋钮拉回
R-L5-2 负反馈(刹车):α 把造型面拉回索网面,逐步加 α 到全闸通过即停旋钮失效 = 造型完全不受力学约束T2-1 · T4-3 · T5-3 · T6(alphaZero)
L6 速率与尺度R-L6-1 判据必须在【真实板件尺度 1.5m】上量(翘曲随边长平方增长)读数虚低:量的是网格密度不是板件T1-3 · T1-7 · T3-2 · T5-2 · T6(tinyPanel)
R-L6-2 折痕判据必须分辨率无关(同一点上比两个尺度)换个网格结论就翻车T1-4 · T3-4 · T6(creaseSameStep)
L7 稀缺竞争R-L7-1 造型自由度与幕墙工艺预算抢同一份钱:工艺档越便宜 → α 下限越高方案漂亮,一报价就死页面上换幕墙档即可复现
L8 交互冲突R-L8-1 相邻板件必须共边闭合(条带展开残差在工艺容差内)板缝对不上、现场硬掰T1-5
R-L8-2 壳体落地处必须是支座,不许穿地建筑悬空 / 插进地里T3-1(支座掩码 + 平衡)
L9 随机分布R-L9-1 随机造型的合格率是分布不是常数,尾部必然不可造 → 只能靠有界搜索而非单次生成以为"一次就该出好的",于是把闸调松T1-8 · T2-2 · 离线闸①
L10 生命周期R-L10-1 生成→评价→求 α→过闸→交付;不合格样本必须计入拒绝统计并销毁废样本留在场景里冒充成品离线闸①(搜了几个/成了几个)
L11 跨尺度涌现R-L11-1 每块板都可造 ≠ 整体可造:模具复用率是宏观量微观全绿,总价天文数字T1-6 · T6(mouldFine)
L12 主体激励R-L12-1 三个主体目标函数不同(建筑师 max 自由度 / 结构师 min 弯矩 / 承包商 min 模具数),引擎必须把交换率显式暴露成旋钮退化成单目标,另外两方在现实里把方案否掉T2-4 · T4-2
R-L12-2 风格签名可判定:平面轮廓非矩形(覆盖率 ≤ 0.90)退回"方盒子盖张曲面皮"T3-3 · T4-1 · T6(noMask)

🧪 六级质检线(引擎自带的质检线,而且质检线自己也被质检)

离线可跑、不依赖浏览器:node MetaZero-OS/scripts/zaha_tests.mjs(退出码 0/2)。 最近一次真跑:25 项全绿、红灯 0
它抓什么这里具体怎么做的实测
T1 单元一条规则单独成立吗每条判据对着闭式解析解比,不跟自己的逆函数比:力密度解 vs 抛物线 z=i(N−1−i)/2 · 曲率 vs 球面 κ=1/R · 板件翘曲 vs 双曲抛物面 a·b/c8/8(误差 0.00%~0.02%)
T2 集成多条规则同时成立吗求解器给的 α 必须让 9 道闸同时过;两份实现(Python/JS)各自对同一批解析锚;故障注入后门必须是门控的4/4
T3 不变量换档位还成立吗本领域的"时长档/步长档"= 扫尺度档 × 扫网格分辨率档(3×3=9 个档位)4/4(折痕离散度 2.4%)
T4 对抗该拒的真被拒了吗5 个劣样本逐个说出违反第几条;再拿一个结构最优面进来,必须被接受(语法不能窄到杀掉杰作)3/3(7 种不同拦截理由)
T5 回归修好的错会复发吗三个历史缺陷各留一份故障版红灯 + 修复版绿灯的可重跑对照3/3
T6 元测试
(canary)
质检线自己失效了吗逐条点名 9 个变异点(把公式拧坏),对应的闸必须逐个变红;某个变异没弄红 = 那道闸是装饰品9/9 全被抓到
🔴 这一版最值钱的一条,是被 T3 逼出来的:折痕量表原来拿"粗尺度的最大角 ÷ 细尺度的最大角"当判据, 可实测发现这两个最大值根本不在同一个位置(细的在骨架远端、粗的在近端),于是读数随网格乱跳(离散度 22.7%)。 改成【在同一点上比两个尺度】后,解析对照读数变成光滑面 2.00 / 真折痕 1.00(四种分辨率全一致),离散度降到 2.4%, 随机 12 座的通过率从 3 座升到 10 座 —— 原来那把尺子一直在误杀好曲面。阈值 1.6 一个字没动,改的是"怎么量"。