删掉 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