增加了频谱特性参数,在基类中进行初始化。各导弹类还未实现。
This commit is contained in:
parent
0019f795f8
commit
eb30b4702d
@ -151,6 +151,9 @@ namespace ThreatSource.Missile
|
||||
{
|
||||
// 更新导弹运动状态
|
||||
UpdateMotionState(deltaTime);
|
||||
|
||||
// 更新频谱特性
|
||||
UpdateSpectralSignature();
|
||||
|
||||
// 检查是否应该自毁
|
||||
if (ShouldSelfDestruct())
|
||||
|
||||
@ -62,6 +62,38 @@ namespace ThreatSource.Simulation
|
||||
/// </remarks>
|
||||
public virtual Orientation Orientation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 雷达散射截面积(RCS),单位:平方米
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 雷达散射截面积(RCS),单位:平方米
|
||||
/// </remarks>
|
||||
public double RadarCrossSection { get; protected set; }
|
||||
|
||||
/// <summary>
|
||||
/// 红外辐射强度,单位:瓦特/球面度
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 红外辐射强度,单位:瓦特/球面度
|
||||
/// </remarks>
|
||||
public double InfraredRadiationIntensity { get; protected set; }
|
||||
|
||||
/// <summary>
|
||||
/// 紫外辐射强度,单位:瓦特/球面度
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 紫外辐射强度,单位:瓦特/球面度
|
||||
/// </remarks>
|
||||
public double UltravioletRadiationIntensity { get; protected set; }
|
||||
|
||||
/// <summary>
|
||||
/// 毫米波辐射强度,单位:瓦特/球面度
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 毫米波辐射强度,单位:瓦特/球面度
|
||||
/// </remarks>
|
||||
public double MillimeterWaveRadiationIntensity { get; protected set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取仿真元素是否处于活动状态
|
||||
/// </summary>
|
||||
@ -118,6 +150,20 @@ namespace ThreatSource.Simulation
|
||||
/// </remarks>
|
||||
public abstract void Update(double deltaTime);
|
||||
|
||||
/// <summary>
|
||||
/// 更新频谱特性
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 基类中提供默认实现,子类可以重写
|
||||
/// </remarks>
|
||||
protected virtual void UpdateSpectralSignature()
|
||||
{
|
||||
RadarCrossSection = 1.0; // 默认RCS值
|
||||
InfraredRadiationIntensity = 10.0; // 默认红外辐射强度,单位:瓦特/球面度
|
||||
UltravioletRadiationIntensity = 10.0; // 默认紫外辐射强度,单位:瓦特/球面度
|
||||
MillimeterWaveRadiationIntensity = 10.0; // 默认毫米波辐射强度,单位:瓦特/球面度
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取仿真元素的状态信息
|
||||
/// </summary>
|
||||
|
||||
@ -23,25 +23,6 @@ namespace ThreatSource.Target
|
||||
/// </remarks>
|
||||
public string Type => "Tank";
|
||||
|
||||
/// <summary>
|
||||
/// 获取坦克的雷达散射截面积
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 单位:平方米
|
||||
/// 固定值10.0,表示标准坦克的雷达反射特性
|
||||
/// </remarks>
|
||||
public double RadarCrossSection => 10.0;
|
||||
|
||||
/// <summary>
|
||||
/// 获取坦克的红外辐射强度
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 单位:瓦特/球面度
|
||||
/// 固定值500.0,表示坦克发动机和装甲的热辐射特性
|
||||
/// 典型值:200-500 W/sr
|
||||
/// </remarks>
|
||||
public double InfraredRadiationIntensity => 500.0;
|
||||
|
||||
/// <summary>
|
||||
/// 获取坦克的毫米波辐射温度
|
||||
/// </summary>
|
||||
@ -50,7 +31,7 @@ namespace ThreatSource.Target
|
||||
/// 固定值400.0,表示坦克的毫米波辐射特征
|
||||
/// 典型值:350-450K
|
||||
/// </remarks>
|
||||
public double MillimeterWaveRadiationTemperature => 400.0;
|
||||
public double MillimeterWaveRadiationTemperature { get; set; } = 400.0;
|
||||
|
||||
/// <summary>
|
||||
/// 获取坦克的激光反射率
|
||||
@ -59,7 +40,7 @@ namespace ThreatSource.Target
|
||||
/// 无量纲,取值范围:0-1
|
||||
/// 固定值0.3,表示坦克表面对激光的反射特性
|
||||
/// </remarks>
|
||||
public double LaserReflectivity => 0.3;
|
||||
public double LaserReflectivity { get; set; } = 0.3;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置坦克的当前生命值
|
||||
@ -114,6 +95,8 @@ namespace ThreatSource.Target
|
||||
public Tank(string id, Vector3D position, double speed, ISimulationManager simulationManager)
|
||||
: base(id, position, new Orientation(), speed, simulationManager)
|
||||
{
|
||||
// 初始化频谱特性
|
||||
UpdateSpectralSignature();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -129,6 +112,25 @@ namespace ThreatSource.Target
|
||||
{
|
||||
// 更新坦克的位置
|
||||
Position += Velocity * deltaTime;
|
||||
|
||||
// 更新频谱特性
|
||||
UpdateSpectralSignature();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新频谱特性的默认实现
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 提供坦克的频谱特性
|
||||
/// </remarks>
|
||||
protected override void UpdateSpectralSignature()
|
||||
{
|
||||
RadarCrossSection = 10.0; // 坦克RCS值
|
||||
InfraredRadiationIntensity = 500.0; // 坦克红外辐射强度
|
||||
UltravioletRadiationIntensity = 15.0; // 坦克紫外辐射强度
|
||||
MillimeterWaveRadiationIntensity = 10.0; // 坦克毫米波辐射强度
|
||||
MillimeterWaveRadiationTemperature = 400.0; // 坦克毫米波辐射温度
|
||||
LaserReflectivity = 0.3; // 坦克激光反射率
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user