30 lines
2.0 KiB
Markdown
30 lines
2.0 KiB
Markdown
# B题问题一 交会定位
|
||
|
||
给定同一干扰源的检测点坐标及带±1°误差的示向度,计算前向角域交集、定位区域直径、直径圆覆盖判断与最小包围圆。
|
||
|
||
- [完整中文解答与算法证明](docs/问题一解答.md)
|
||
- [修订后的四问思路与P0–P7计划](B题建模分析与实施计划.md)
|
||
- [核心代码](geometry/localization.py)
|
||
- [离线交互模拟](output/q1/question1.html)
|
||
- [官方演练观测与原始记录](output/q1/practice/)
|
||
- [优化与舍入敏感性报告](output/q1/optimization_report.json)
|
||
|
||
Python3.10及以上,核心算法和演示生成无需安装第三方库。
|
||
|
||
```powershell
|
||
python -m geometry examples/q1/triangle.json
|
||
python main.py examples/q1/normal.json -o output/q1/result.json
|
||
python -m geometry examples/q1/normal.json --rounding-margin-deg 0.005
|
||
python -m unittest discover -s tests -v
|
||
python scripts/build_q1_demo.py
|
||
python scripts/benchmark_q1.py
|
||
```
|
||
|
||
用浏览器打开 `output/q1/question1.html`。可选择合成反例或官方演练,逐个加入测点,切换全景与定位区域放大。
|
||
|
||
输出新增直径圆覆盖反例顶点、最大超出距离和20米清除余量;默认仍为题设±1°,舍入裕量须显式启用。最小包围圆使用可复现的随机增量算法,原枚举法保留作独立对照。`geometry.first_bearing_candidate_disk` 提供问题二首次测向安全区域的解析证书;问题二选点优化器及问题三、四的全清闭环仍待实现。
|
||
|
||
可视化事件检查使用Node.js:`node scripts/verify_visualization.cjs`。可选PNG重绘使用Pillow及Windows微软雅黑字体:`python scripts/render_q1_figures.py`;这些只用于图形校核,不是核心求解依赖。
|
||
|
||
本项目只使用官方**演练**采集了问题一所需观测,未使用正式测试。采集器不会启动测试,必须先在界面确认“问题3演练”、接口已就绪,再提供 `--practice-confirmed` 和本局案例编码。参见完整解答中的采集说明。
|