删掉 RcsAngularBin.cs
This commit is contained in:
parent
3e61c7d044
commit
585163db54
@ -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";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user