# 《轻·远》桥梁教学模型

打开 `viewer.html`（需本地 HTTP 服务）。Three.js r160 与 OrbitControls 已在上一层 `vendor/`，无需联网；MIT 许可见 `vendor/THREE-LICENSE.txt`。

例如在专题根目录运行 `python -m http.server 8855`，访问 `http://localhost:8855/models/viewer.html`。若从整个教材工作区启动服务，应在 URL 中加 `轻远案例补充_20260925/` 目录。

## 三个案例

| ID | 模型 | 已核控制尺寸 | 主要教学假设 |
|---|---|---|---|
| gahlensche | 加伦索大街人行天桥 / 单侧空间悬索环形梁 | 两段圆弧各 66 m，半径 46 m，宽 3 m，截面高 0.89 m | 塔位、高程、截面细节、空间索形和吊索分点 |
| enzauen_iii | 恩茨奥恩 Ⅲ / 钢带桥 | 主跨 50 m、垂度 0.8 m、双钢带 480×40 mm | 桥宽 2.5 m、板厚 0.12 m、板节距、鞍座与锚固外形 |
| boerstel | 博斯特尔 / 拱托钢带桥 | 25+20+35 m 主体、宽 3.5 m、双带 400×50 mm、板厚 0.12 m | 拱轴、矢高、横倾、各点高程及支承细节 |

Börstel 工程官方总长为 96 m，模型只重建 80 m 主体，其余 16 m 未获得引接段分解尺寸。Gahlensche 是主缆与吊索构成的空间悬索体系，不是把吊索直接连向塔顶的扇形斜拉体系，模型未添加书中明确不存在的稳定背索。

## 文件与坐标

- `*.obj`：完整原始静态网格。每个 OBJ 对象名等于稳定 `component_id`，不受网页隐藏、配色与相机状态影响。
- `*.mtl`：自然材质，和 OBJ 放在同一目录导入。
- `*.parameters.json`：尺寸事实、假设、范围与来源。
- `*.components.json`：构件 ID、中文名称、类别、材料、中心线、阶段与几何连接说明。
- `*.mesh.json`：网页使用的相同原始网格。
- `previews/`：每案轴测、俯视、侧视、端视 PNG；由同一规范网格投影。
- `validation-report.json` 与 `*.validation.json`：实际网格、OBJ 重新解析、构件闭合、尺寸预算与接触点检查结果。

所有物理数据和 OBJ 均为米制、x 纵向 / y 横向 / z 向上。网页只经一次 `V(x,y,z) → (x,z,-y)` 映射至 Three.js。非对称探针 `[1,2,3] → [1,3,-2]` 用于避免上下轴混淆；网页不改变模型尺寸与比例。

## 再生成与验证

运行 `python generate_models.py` 重建全部网格与导出；运行 `python validate_models.py` 校验。两者仅需 Python 标准库。`python render_previews.py` 生成预览，需要 Pillow 和 Windows 微软雅黑字体。

几何验证不仅比较参数：它重新读取实际 OBJ 的对象、顶点、三角形与包围盒；对声明的连接点，用点至三角形距离及封闭实体内外判定检查是否落在实际成员网格中，容差 25 mm。每一构件的闭合检查不等于多个相交构件已做布尔合并。

这些是图证约束的教学重建，支持形态、构件和荷载传递路径的观察。未进行有限元连通、边界条件、应力、承载力、振动、预应力或施工平衡分析；未宣称可直接 3D 打印。

## 来源

本书 PDF 247、249、250、259、260、262 页的定位图保留在专题 `evidence/` 中。各模型的事实与推断分别列出，不把照片比例估读当作工程尺寸。Börstel 的补充尺寸核于 [sbp 官方项目页](https://www.sbp.de/en/project/boerstel-bridge/)；Gahlensche 体系补证见 [sbp 工程回顾](https://www.sbp.de/app/uploads/pdf/multilayered-engineered_variety-small.pdf) 与 [德国桥梁奖 2006 文献](https://www.brueckenbaupreis.de/wp-content/uploads/DBBP_Dokumentation_2006.pdf)。
