123
This commit is contained in:
@@ -0,0 +1,208 @@
|
||||
# 几何计算示意图册
|
||||
|
||||
> 本册逐图给出坐标口径、关键量与图中各元素的含义。插图位于 [`figures/`](figures/),复现命令:
|
||||
>
|
||||
> ```bash
|
||||
> uv run python scripts/make_figures.py --only geo-q1-convex-intersection-zoom,\
|
||||
> geo-q1-diameter-circle-counterexample,geo-q2-guaranteed-reception-disk,\
|
||||
> geo-q3-seven-point-coverage,geo-q4-minimum-cover-31-points
|
||||
> ```
|
||||
>
|
||||
> 图中的数字由脚本现算:问题一调用生产求解器,问题三、四直接读覆盖计划与证书;
|
||||
> 来源与 sha256 记在 [`figures/manifest.json`](figures/manifest.json)。
|
||||
|
||||
统一的坐标与符号约定:
|
||||
|
||||
- 世界坐标以 Ω 圆心为原点,$x$ 轴向右、$y$ 轴向上,单位**米**;
|
||||
- Ω 是半径 $R=1800$ m 的圆盘;源的有效接收半径 $r_{\rm eff}\in[1000,1500]$ m;
|
||||
- 示向度 $\theta$ 以 $+x$ 轴为 $0°$ 逆时针为正,误差半角 $\delta=1°$;
|
||||
- 清除半径 $r_{\rm clear}=20$ m;
|
||||
- "可保证清除" ⟺ 存在一点使整个候选区域落在该点 20 m 内 ⟺ $\rho\le 20$ m(充分)。
|
||||
|
||||
---
|
||||
|
||||
## 图 1 问题一:角域交会与定位区域
|
||||
|
||||

|
||||
|
||||
**左(总览)**:三个检测点(官方演练案例 `U5ZW-P9KN-TCAG-R7ST`,频道 9)
|
||||
各自的**前向角域** $W_i=\{p:\angle(p-s_i)-\theta_i\in[-1°,+1°]\}$ 画成窄扇形
|
||||
(2° 宽,图中放大成可见宽度);三者交集就是定位区域 $P$。检测点相距 600~900 m,
|
||||
而 $P$ 的直径只有 24 m,所以左图里 $P$ 缩成一个点——这是**必须做局部放大**的原因。
|
||||
|
||||
**右(放大,视野 ±31.4 m)**:以最小包围圆圆心为中心:
|
||||
|
||||
- 浅蓝扇形 = 三个角域在放大框内的可见部分;三者**重叠成白色区域**= $P$;
|
||||
- 红色实线多边形 = $P$ 的顶点边界(与左图同一个集合);
|
||||
- 蓝色虚线圆 = **直径圆**,半径 $D/2=11.9984$ m,圆心是中点 $(-450.634,\ 508.944)$;
|
||||
- 绿色实线圆 = **最小包围圆(MEC)**,$\rho=12.0686$ m,圆心 $(-449.977,\ 507.953)$。
|
||||
|
||||
**关键量(图 (c) 栏)**
|
||||
|
||||
| 量 | 值 | 判定 |
|
||||
| --- | ---: | --- |
|
||||
| 直径 $D(P)$ | 23.9967 m | 顶点对枚举(凸集上最远点必为顶点) |
|
||||
| MEC 半径 $\rho$ | 12.0686 m | Welzl 算法 + 支撑点枚举对照 |
|
||||
| 直径圆最大超出 $E$ | +0.6040 m | $E>0$ ⇒ **直径圆不覆盖** $P$ |
|
||||
| $\rho\le20$ m | 成立 | ⇒ **存在可保证清除的点**(取 MEC 圆心) |
|
||||
|
||||
> 这两个结论不矛盾:题目问"直径圆能否覆盖"(答案:不能,$E>0$)
|
||||
> 与"能否保证清除"(答案:能,$\rho\le20$ m)是**两个不同的问题**。
|
||||
> $E$ 的定义:$E=\max_i\lVert v_i-o\rVert-D/2$,$o$ 为直径中点;
|
||||
> 精确算术下最远顶点对就在圆周上,故 $E\ge0$,$E>0$ 即覆盖失败,
|
||||
> 达到最大值的顶点就是可独立复核的失败证据。
|
||||
|
||||
---
|
||||
|
||||
## 图 2 问题一:直径圆不覆盖的反例
|
||||
|
||||

|
||||
|
||||
等边三角形布站($S_1(-1000,0)$、$S_2(540,-866)$、$S_3(520,901)$,示向度
|
||||
$1°,121°,241°$,误差半角 $1°$)。三条 2° 宽的角域交出一个**等边三角形**
|
||||
$P$:顶点 $(0,0)$、$(40,0)$、$(20,34.641)$。
|
||||
|
||||
- 直径 $D=40.0000$ m,最远点对是底边两端 ⇒ 直径圆圆心 $(20,0)$、半径 20 m;
|
||||
- 到第三个顶点 $(20,34.641)$ 的距离是 $20\sqrt3\approx34.6410$ m > 20 m,
|
||||
故**直径圆不覆盖**:$E=+14.6410$ m(图中箭头所指);
|
||||
- 该反例的最小包围圆半径 $\rho=40/\sqrt3\approx23.0940$ m **> 20 m**,
|
||||
属于"覆盖失败且无法保证清除"的更坏情形。
|
||||
|
||||
> 反例是**符合题设测向条件**的:把真实源放在三角形中心 $(20,20\sqrt3/3)$,
|
||||
> 三个检测点的真实方位与读数偏差均小于 $1°$,且三个检测距离都小于 1500 m,
|
||||
> 所以它不是"脱离测向模型的任意图形"。构造与证明见
|
||||
> [`问题一解答.md`](问题一解答.md) 第六节。
|
||||
|
||||
---
|
||||
|
||||
## 图 3 问题二:保证接收的候选盘与安全盘
|
||||
|
||||

|
||||
|
||||
**候选集**(首次观测之后可能的位置集合):
|
||||
|
||||
$$
|
||||
K_1=\Omega\ \cap\ W(s_1,\theta_1\pm\delta)\ \cap\ B(s_1,\ 1500),
|
||||
$$
|
||||
|
||||
即"Omega 内、首次角域内、且距离不超过最大接收半径"的三者之交。
|
||||
|
||||
**解析安全盘**:截断角域(扇形,半径 $R_{\max}=1500$ m、半角 $\delta=1°$)
|
||||
的最小包围圆恰为 $B(c,a)$,其中 $c=s_1+a\boldsymbol u$($\boldsymbol u$ 为示向度单位向量),
|
||||
|
||||
$$
|
||||
a=\frac{R_{\max}}{2\cos\delta}=\frac{1500}{2\cos1°}=750.1142\ \text{m}.
|
||||
$$
|
||||
|
||||
于是对安全盘内任一点 $q$、扇形内任一点 $p$:
|
||||
|
||||
$$
|
||||
\lVert q-p\rVert\le a+(1000-a)=1000\ \text{m}
|
||||
\ \Longrightarrow\ q\ \text{必然收到源的信号},
|
||||
$$
|
||||
|
||||
$$
|
||||
\boxed{\ \text{安全盘半径}=1000-a=249.8858\ \text{m}\ }
|
||||
$$
|
||||
|
||||
(严格非空;图中绿色实心圆,圆心 $c=(649.62,\ 375.06)$)。
|
||||
第二检测点就在该盘内选,目标是**最小化最坏保守后验包围半径**,
|
||||
移动与检测成本作次目标;交会角只用于同分筛选与可解释性说明。
|
||||
|
||||
> 图中 $a$ 与 1000 m 两个圆几乎重合是可预期的:$\delta$ 只有 $1°$,
|
||||
> $a=R_{\max}/(2\cos\delta)$ 与 $R_{\max}/2$ 相差 0.0114%,
|
||||
> 因此**安全盘的"安全"主要来自角域约束,而不是圆心位置**。
|
||||
|
||||
---
|
||||
|
||||
## 图 4 问题三:七点解析覆盖
|
||||
|
||||

|
||||
|
||||
**站点集**:原点 + 半径 $a$ 的六等分环,
|
||||
$S(a)=\{(0,0)\}\cup\{a(\cos k\pi/3,\ \sin k\pi/3):k=0,\dots,5\}$。
|
||||
|
||||
**定理(`algo-3.md` §4.2)** 当 $0<a/\sqrt3\le R$ 时
|
||||
|
||||
$$
|
||||
\max_{g\in\Omega}\min_{s\in S(a)}\lVert g-s\rVert
|
||||
\le D(a):=\max\Bigl\{\frac{a}{\sqrt3},\ \sqrt{R^2+a^2-\sqrt3Ra}\Bigr\}.
|
||||
$$
|
||||
|
||||
代入默认 $a=1159.7$ m、$R=1800$ m:
|
||||
|
||||
$$
|
||||
D(a)=984.5391\ \text{m}<1000\ \text{m}
|
||||
\quad(\text{几何余量 }15.46\ \text{m}).
|
||||
$$
|
||||
|
||||
**图上看到的就是这个证明**:7 个半径 1000 m 的接收盘(浅绿,裁剪在 Ω 内)的
|
||||
并集**完全覆盖** Ω,最坏点出现在 $(0,-1800)$(Ω 正下方边界,图中圈出),
|
||||
到最近站点 $1159.7$ m(正下方环站)的距离恰为 984.54 m。
|
||||
|
||||
数值复核(脚本内 20 m 网格):Ω 内 25445 个采样点全部被覆盖,**缺口 0**——
|
||||
解析上界与数值结果一致到小数点后 3 位。
|
||||
|
||||
**代价对比**:七点每轮 7 次检测即可证明"无源",49 点网格要 49 次;
|
||||
巡回长度 $6a\approx6.96$ km(对照 49 点的 NN 巡回约 36.4 km)。
|
||||
$a$ 的可行下界 $a_{\min}\approx1122.9558$ m(零余量),默认配置留 15 m 以上余量。
|
||||
|
||||
**为什么能"发现即证明"**:某频道若在**全部**站点都测得 `no_signal`,
|
||||
由覆盖定理知该频道必无源(负观测只能排除该站点 1000 m 圆盘,而 $r_{\rm eff}\ge1000$ m),
|
||||
于是可以安全销账;所有频道销账 ⇒ 完成证明成立 ⇒ 立即 `/exit`。
|
||||
|
||||
---
|
||||
|
||||
## 图 5 问题四:定向源的 31 点最小命中集与联合信念
|
||||
|
||||

|
||||
|
||||
**覆盖语义变了**:定向源只向**朝向 $\pm90°$ 的前向半球**辐射,
|
||||
所以"某站点附近一定收到"这件事必须同时考虑**源的位置与朝向**:
|
||||
|
||||
$$
|
||||
\text{站点 }s\text{ 能发现源}\iff
|
||||
\lVert s-\text{pos}\rVert\le r_{\rm eff}\ \wedge\
|
||||
\angle\bigl(\text{heading},\ s-\text{pos}\bigr)\le90°.
|
||||
$$
|
||||
|
||||
这个语义记作 `forward_half_disk`(图中右侧示意)。
|
||||
|
||||
**31 点最小命中集**(`q4_mincover_v2`,图中红点):
|
||||
|
||||
| 项 | 值 |
|
||||
| --- | --- |
|
||||
| 点数 | 31(离线贪心最小命中集,取代 49 点网格) |
|
||||
| 设计参数 | $r_{\rm design}=965$ m + 前向角裕量 $5°$ |
|
||||
| 运行期证书 | 15 m / 72 朝向档,325.62 万个 (位置, 朝向) 采样格,**缺口 0** |
|
||||
| 最坏命中距离 | 990.051 m |
|
||||
| 最近邻巡回 | 23.9 km ≈ 4776.8 s 虚拟时间 |
|
||||
| 旧计划对照 | `q4_mincover_v1` 在 15 m/72 档下有 **566** 个缺口(粗采样过拟合) |
|
||||
|
||||
**位置 × 朝向联合信念**:负观测(`no_signal`)在问题四里**只约束朝向**——
|
||||
它只能排除"朝向正对本站点"的那些朝向档,位置信息几乎不更新。
|
||||
因此证据层维护网格 × 朝向档的联合分布,可见性判据必须与引擎一致
|
||||
(距离 $\le r_{\rm eff}$ 且夹角 $\le90°$),并按格内角裕量保守裁剪。
|
||||
当信念坍缩到有限格时启用**后备盲清**:就近到可疑格 `/clear`,
|
||||
把盲清次数从 125.7 次/局压到 **4.3 次/局**。
|
||||
|
||||
> **本轮修复的正确性缺陷**:旧版 `no_signal` 的朝向裁剪规则反向、且漏计格内角裕量,
|
||||
> 会删掉真源所在的朝向档。已修复,并由
|
||||
> `tests/test_joint_belief.py` 的随机观测序列保留性测试固化。
|
||||
|
||||
---
|
||||
|
||||
## 附:把图接进论文
|
||||
|
||||
`docs/paper/main.tex` 目前用表格承载结论,插图按下例插入即可:
|
||||
|
||||
```latex
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.95\textwidth]{figures/geo-q1-convex-intersection-zoom.png}
|
||||
\caption{问题一:角域交会得到的定位区域,以及直径圆与最小包围圆的关系。}
|
||||
\label{fig:geo-q1}
|
||||
\end{figure}
|
||||
```
|
||||
|
||||
图片按 160 mm 宽排版。图内不含标题与图注,说明写在 `\caption` 与正文。
|
||||
Reference in New Issue
Block a user