删掉 RcsAngularBin.cs

This commit is contained in:
Tian jianyong 2025-05-16 18:46:11 +08:00
parent 3e61c7d044
commit 585163db54

View File

@ -1,102 +0,0 @@
using System;
namespace ThreatSource.Equipment
{
/// <summary>
/// 定义特定角度区间的雷达散射截面(RCS)数据。
/// </summary>
public class RcsAngularBin
{
/// <summary>
/// 角度区间描述名称 (如 "前方", "左侧上方")。
/// </summary>
public string AspectName { get; set; } = "Default";
/// <summary>
/// 水平起始角度 (度)。
/// </summary>
public double HorAngleStartDeg { get; set; }
/// <summary>
/// 水平终止角度 (度)。
/// </summary>
public double HorAngleEndDeg { get; set; }
/// <summary>
/// 俯仰起始角度 (度)。
/// </summary>
public double VerAngleStartDeg { get; set; }
/// <summary>
/// 俯仰终止角度 (度)。
/// </summary>
public double VerAngleEndDeg { get; set; }
/// <summary>
/// 雷达散射截面值 (dBsm)。
/// </summary>
public double RcsValueDbSm { get; set; }
/// <summary>
/// RCS值 (平方米 m^2)。
/// </summary>
public double RcsValueM2 => Math.Pow(10, RcsValueDbSm / 10.0);
/// <summary>
/// 检查给定角度是否在此RCS数据仓内。
/// </summary>
/// <param name="azimuthDeg">方位角 (度)</param>
/// <param name="elevationDeg">俯仰角 (度)</param>
/// <returns>若角度在仓内则为true否则为false。</returns>
public bool IsAngleInBin(double azimuthDeg, double elevationDeg)
{
bool inHorizontal;
if (HorAngleStartDeg <= HorAngleEndDeg)
{
// 标准区间: [起始, 终止)
inHorizontal = (azimuthDeg >= HorAngleStartDeg && azimuthDeg < HorAngleEndDeg);
}
else
{
// 环绕区间 (例如350度到10度表示350-360 或 0-10)
inHorizontal = (azimuthDeg >= HorAngleStartDeg && azimuthDeg < 360.0) ||
(azimuthDeg >= 0.0 && azimuthDeg < HorAngleEndDeg);
}
if (HorAngleStartDeg == HorAngleEndDeg)
{
// 若起始角度等于终止角度,通常表示一个零宽度区间或整个圆周。
// 当前逻辑下,零宽度区间 (如 [10, 10) ) 不会匹配任何值。
// 若要匹配精确角度,需调整为 azimuthDeg == HorAngleStartDeg。
// 若要表示整个圆周 (如 0到0 代表0-360),应定义为 HorAngleStartDeg=0, HorAngleEndDeg=360。
}
bool inVertical;
if (VerAngleStartDeg <= VerAngleEndDeg)
{
// 标准俯仰角区间: [起始, 终止)
inVertical = (elevationDeg >= VerAngleStartDeg && elevationDeg < VerAngleEndDeg);
}
else
{
// 俯仰角通常不环绕 (-90 到 +90)。此情况非标准。
inVertical = false;
}
if (VerAngleStartDeg == VerAngleEndDeg)
{
// 与水平角类似,零宽度俯仰角区间当前不匹配。
}
return inHorizontal && inVertical;
}
/// <summary>
/// 构造函数。
/// </summary>
public RcsAngularBin()
{
AspectName = "Default";
}
}
}