跳转至

附录 A6 - 场景尺度与几何精度

观测距离变长、三角形变大时,交点和影像是否仍然准确?本例用一个倾斜平板和一条窄遮挡板,分别改变传播距离、平板尺寸和观测角度,再比较原始三角形与自动细分后的结果。

场景与输入

可选择案例、后端和网格,拖动旋转,也可单独打开三维预览。默认显示中心 4 m × 2 m 的窗口和短光线段;勾选 Full scene 可查看完整平板与测站位置。橙点为模拟交点,黑色十字为解析交点。

以平板中心为水平坐标原点,平板满足 \(z=2+sx\),其中 \(s=1/32\)。窄板与它平行,高出 0.25 m,宽 0.5 m、长 6 m。两者均不透明,采用 Lambertian 反射,反射率分别为 0.4 和 0.1。

条件 设置
光照 550 nm 垂直平行太阳光,法向辐照度 1 W m⁻² nm⁻¹
环境 无大气、无天空光,开放边界
辐射分量 一次表面反射的直接太阳辐亮度
平板边长 20 m、1 km、10 km
中心观测距离 10 m、1 km、10 km
观测方向 从东侧观测,天顶角 0°、30°、75°
辐射影像 64 × 8 像素,Z = 2 m 水平参考面上的范围为 4 m × 2 m
采样 每像素 64、256、1024 个样本,最终采用 1024
几何交点 7 条无发散光线,覆盖平板及遮挡板边缘内外

共采用七组输入,每次只改变一个因素:

组别 平板边长 观测距离 观测天顶角
基准 20 m 10 m 30°
远距离一 20 m 1 km 30°
远距离二 20 m 10 km 30°
大三角形一 1 km 10 m 30°
大三角形二 10 km 10 m 30°
天底 20 m 10 m 0°
掠射 20 m 1 km 75°

原始平板与窄板各由两个三角形构成。调用 scene.subdivide_large_primitives(max_area=S*S/256) 后,边长为 S 的平板被细分为 512 个三角形,平面形状、反射率与观测条件不变。实际三角形数量也逐次检查,整个场景细分后为 514 个三角形。

独立解析参考

交点与距离

对于平面 \(\mathbf n\cdot\mathbf p=b\),从 o 沿单位方向 d 发射的光线满足

\[ R=\frac{b-\mathbf n\cdot\mathbf o}{\mathbf n\cdot\mathbf d},\qquad \mathbf p=\mathbf o+R\mathbf d. \]

分别求平板和窄板的交点,保留位于各自边界内的最近正距离交点。这样可以直接检查漏交、错误遮挡、交点位置和距离。另计算模拟点到最近表面平面的垂直距离,检查交点是否偏离表面。

辐亮度和遮挡边界

太阳垂直照射时,两块板的入射余弦均为 \(1/\sqrt{1+s^2}\)。未遮挡区域的辐亮度为

\[ L=\frac{\rho E_0}{\pi\sqrt{1+s^2}}. \]

窄板自身、它在平板上的投影和未遮挡平板分别具有三种已知辐亮度。设观测天顶角为 θ、窄板宽度为 w、高度差为 h,记 \(a=1-s\tan\theta\)。在影像水平参考面上,阴影与可见窄板的区间分别为

\[ I_{shadow}=\left[-\frac{aw}{2},\frac{aw}{2}\right],\qquad I_{strip}=I_{shadow}-h\tan\theta. \]

两区间重叠时,看到的是上方窄板。参考按各区间与像元的重叠长度积分,得到边缘像元的解析平均值,随后与模拟影像逐像元比较。

验证结果

解析影像与三后端的长距离、大三角形及掠射影像

各列使用相同色标。天底观测时阴影被窄板遮住;倾斜观测时,可以同时看到窄板及它投在平板上的阴影。

几何误差、网格对比及影像采样检查

实线为粗网格,虚线为细分网格。距离和三角形尺寸分别改变,便于区分长距离传播与几何表示的影响。

指标 阈值
交点位置、距离的最大绝对误差 各 ≤ 0.01 m
交点到最近表面平面的最大距离 ≤ 0.002 m
逐像元绝对误差均值 / 未遮挡平板辐亮度 ≤ 1%
完全受光像元的最大辐亮度相对误差 ≤ 0.1%
粗网格与细分网格的列平均影像差异 ≤ 0.5%
最后两档采样的列平均影像变化 ≤ 0.5%

后两项以未遮挡平板辐亮度归一化。位置与距离由无发散点云直接计算,不经过波形距离分箱。

后端 最大交点误差 / mm 最大平面偏差 / mm 最大距离误差 / mm 影像平均误差 结论
optix 0.7779 0.0075 0.2509 0.0852% 通过
vulkan 0.7779 0.0075 0.2509 0.0852% 通过
embree 0.4561 0.0005 0.2402 0.0852% 通过

42 组三后端与网格组合全部通过。在上述测试条件下,粗网格和细分网格均满足阈值;细分使部分交点误差进一步减小。

下载与复现

保持脚本与 data/geometry-scale/ 的相对位置,安装 LESS、NumPy 和 Matplotlib 后运行:

python scripts/appendix_geometry_scale.py --output build/geometry-scale
python scripts/appendix_geometry_scale.py --plot-only build/geometry-scale/results.json --output build/geometry-scale