CounterDroneBackend/t.txt
tian 0ed714a730 refactor: 抛物线运动学前向计算 — 移除回退/反算,统一用 ParabolicPosition
Kinematics:
- CalculateLaunchAngle/ParabolicTimeOfFlight/ParabolicShellTime: 移除静默钳位和 45° 回退,输入无效直接抛异常
- 新增 ComputeParabolicRange(v₀,θ,Δy) → (射程,飞行时间) — 正问题
- 新增 ParabolicApex(v₀,θ) → (顶点高度,顶点时间)
- ParabolicShellTime 改为委托,不重复实现

MunitionEntity:
- launchAngle 必须由方案提供,不再反算
- _flightDuration 用 ComputeParabolicRange 正算
- 删除死代码 CommandFlyTo / 「到达投放点」路径

DefensePlanner:
- 地基用 InterceptCalculator 的 shellTime,不再用 ParabolicShellTime 反算

SimulationEngine:
- 删除空基「到达投放点」死代码

Tests: 240 通过 (KinematicsTests 38, DefensePlannerTests 36, SimulationEngineTests 12, MunitionEntityTests 3)
2026-06-17 10:45:56 +08:00

131 lines
5.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

正在确定要还原的项目…
所有项目均是最新的,无法还原。
CounterDrone.Core -> C:\Users\Tellme\apps\CounterDroneBackend\src\CounterDrone.Core\bin\Debug\netstandard2.1\CounterDrone.Core.dll
CounterDrone.Core.Tests -> C:\Users\Tellme\apps\CounterDroneBackend\test\unit\CounterDrone.Core.Tests\bin\Debug\net10.0\CounterDrone.Core.Tests.dll
C:\Users\Tellme\apps\CounterDroneBackend\test\unit\CounterDrone.Core.Tests\bin\Debug\net10.0\CounterDrone.Core.Tests.dll (.NETCoreApp,Version=v10.0)的测试运行
总共 1 个测试文件与指定模式相匹配。
[xUnit.net 00:00:00.94] CounterDrone.Core.Tests.FullPipelineTests.Scenario_AirBased_Windy_PlatformFliesAndDrops [FAIL]
失败 CounterDrone.Core.Tests.FullPipelineTests.Scenario_AirBased_Windy_PlatformFliesAndDrops [812 ms]
错误消息:
Hp=1.000 pos=(20000,500) launched=8
# 仿真评估报告
| 项目 | 值 |
|------|-----|
| 任务名称 | [Demo] 空基拦截-东风5ms |
| 任务编号 | SIM-20260617-005 |
| 仿真耗时 | 360.0 秒 |
| 气溶胶类型 | 惰性气体(吸入式灭火) |
## 一、仿真结果
| 统计项 | 值 |
|--------|-----|
| 无人机总数 | 1 |
| 被摧毁 | 0 |
| 到达目标 | 1 |
| 侵入管控区 | 0 |
| 弹药发射 | 8 |
| 目标发现 | 4 |
| 云团生成 | 8 |
**对抗结果**:❌ 拦截失败
## 二、作战环境
| 参数 | 值 |
|------|-----|
| 场景类型 | 平原 |
| 时间段 | 12:00 |
| 天气 | 晴天 |
| 风速 | 5.0 m/s |
| 风向 | 东 (E) |
| 温度 | 25.0°C |
| 湿度 | 50%RH |
| 气压 | 1013 hPa |
| 能见度 | 8000 m |
| 场景范围 | 4000 × 10000 × 1000 m (W×L×H) |
## 三、威胁目标
| 参数 | 值 |
|------|-----|
| 类型 | 活塞 |
| 动力 | 活塞式 |
| 数量 | 1 架 |
| 翼展 | 2.5 m |
| 速度 | 200 km/h |
| 高度 | 500 m |
## 四、云团抛撒配置
| 参数 | 值 |
|------|-----|
| 气溶胶类型 | 惰性气体(吸入式灭火) |
| 抛撒高度 | 500 m |
| 触发模式 | 时间触发 |
| 释放方式 | 单次齐射 |
| 扩散方向 | 0° |
| 初始规模 | 1000 m³ |
| 持续时间 | 60 s |
| 释放总量 | 50.0 kg |
| 配置来源 | Manual |
## 五、我方部署
### 发射平台
| # | 平台类型 | 位置 (X,Y,Z) | 弹药类型 | 挂载量 | 发射数 |
|---|---------|-------------|---------|:------:|:------:|
| #1 | 空基 | (6000, 1000, 0) | 惰性气体(吸入式灭火) | 24 | 8 |
| #2 | 空基 | (6050, 1000, 0) | 惰性气体(吸入式灭火) | 24 | 0 |
| #3 | 空基 | (6100, 1000, 0) | 惰性气体(吸入式灭火) | 24 | 0 |
## 六、事件时序
| 时间(s) | 事件 | 详情 | 火力单元 |
|---------|------|------|:------:|
| 0.40 | 👁️ 目标发现 | 探测设备 det_1 发现 drone drone_1 @(22,500,0) | - |
| 85.44 | 🚀 弹药发射 | 第 1 发 · 空基发射 mun_1 @(6000,1000,0)→(6673,500,0) | #1 |
| 86.44 | 🚀 弹药发射 | 第 2 发 · 空基发射 mun_3 @(6000,1000,0)→(6673,500,0) | #1 |
| 87.44 | 🚀 弹药发射 | 第 3 发 · 空基发射 mun_5 @(6000,1000,0)→(6673,500,0) | #1 |
| 88.44 | 🚀 弹药发射 | 第 4 发 · 空基发射 mun_7 @(6000,1000,0)→(6673,500,0) | #1 |
| 89.44 | 🚀 弹药发射 | 第 5 发 · 空基发射 mun_9 @(6000,1000,0)→(6673,500,0) | #1 |
| 90.44 | 🚀 弹药发射 | 第 6 发 · 空基发射 mun_11 @(6000,1000,0)→(6673,500,0) | #1 |
| 91.44 | 🚀 弹药发射 | 第 7 发 · 空基发射 mun_13 @(6000,1000,0)→(6673,500,0) | #1 |
| 92.44 | 🚀 弹药发射 | 第 8 发 · 空基发射 mun_15 @(6000,1000,0)→(6673,500,0) | #1 |
| 93.85 | ☁️ 云团生成 | 云团 #1 · 云团生成 @(-1594000,500,0) | - |
| 94.85 | ☁️ 云团生成 | 云团 #2 · 云团生成 @(-1594000,500,0) | - |
| 95.85 | ☁️ 云团生成 | 云团 #3 · 云团生成 @(-1594000,500,0) | - |
| 96.85 | ☁️ 云团生成 | 云团 #4 · 云团生成 @(-1594000,500,0) | - |
| 97.85 | ☁️ 云团生成 | 云团 #5 · 云团生成 @(-1594000,500,0) | - |
| 98.85 | ☁️ 云团生成 | 云团 #6 · 云团生成 @(-1594000,500,0) | - |
| 99.85 | ☁️ 云团生成 | 云团 #7 · 云团生成 @(-1594000,500,0) | - |
| 100.85 | ☁️ 云团生成 | 云团 #8 · 云团生成 @(-1594000,500,0) | - |
| 109.60 | 👁️ 目标发现 | 探测设备 det_1 发现 drone drone_1 @(6089,500,0) | - |
| 110.80 | 👁️ 目标发现 | 探测设备 det_2 发现 drone drone_1 @(6156,500,0) | - |
| 111.60 | 👁️ 目标发现 | 探测设备 det_3 发现 drone drone_1 @(6200,500,0) | - |
| 360.00 | 🏁 抵达目标 | 到达攻击目标 | - |
| 360.00 | ⏹️ 仿真结束 | | - |
## 七、时间线
| 阶段 | 时间 | 耗时 |
|------|------|------|
| 首发发射 | 85.4s | - |
| 末发发射 | 92.4s | 7.0s(弹群展开) |
| 发射 → 云团生成 | 85.4s → 93.9s | 8.4s(弹药飞行) |
| 总耗时 | 0 → 360.0s | 360.0s |
**统计汇总**
- 弹药发射 8 发,云团生成 8 朵,击毁 0 架
- 发射窗口 7.0s,弹药飞行 8.4s
堆栈跟踪:
at CounterDrone.Core.Tests.FullPipelineTests.Scenario_AirBased_Windy_PlatformFliesAndDrops() in C:\Users\Tellme\apps\CounterDroneBackend\test\unit\CounterDrone.Core.Tests\FullPipelineTests.cs:line 157
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
失败! - 失败: 1通过: 0已跳过: 0总计: 1持续时间: 822 ms - CounterDrone.Core.Tests.dll (net10.0)