对大气透过率模型进行优化,微调了能见度对透过率的影响参数
This commit is contained in:
parent
0f22c7967e
commit
268e241803
@ -14,7 +14,7 @@ namespace AirTransmission
|
||||
/// <summary>
|
||||
/// 标准大气透过率
|
||||
/// </summary>
|
||||
protected const double STANDARD_TRANSMITTANCE = 0.979; // 标准大气透过率
|
||||
protected const double STANDARD_TRANSMITTANCE = 0.975; // 标准大气透过率
|
||||
/// <summary>
|
||||
/// 标准能见度(公里)
|
||||
/// </summary>
|
||||
@ -193,9 +193,9 @@ namespace AirTransmission
|
||||
if (Visibility >= STANDARD_VISIBILITY)
|
||||
factor = 1;
|
||||
else if (Visibility > 5)
|
||||
factor = Math.Pow(STANDARD_VISIBILITY / Visibility, 0.2);
|
||||
factor = Math.Pow(STANDARD_VISIBILITY / Visibility, 0.25); //0.2
|
||||
else
|
||||
factor = Math.Pow(STANDARD_VISIBILITY / Visibility, 0.3);
|
||||
factor = Math.Pow(STANDARD_VISIBILITY / Visibility, 0.4); //
|
||||
|
||||
if (IsDusty)
|
||||
{
|
||||
|
||||
@ -62,7 +62,7 @@ class Program
|
||||
TestLaserTransmittance(WeatherType.晴天, "晴朗");
|
||||
TestLaserTransmittance(WeatherType.雨天, "小雨", relativeHumidity: 60, precipitation: 2.5, visibility: 5);
|
||||
TestLaserTransmittance(WeatherType.雨天, "大雨", relativeHumidity: 90, precipitation: 25, visibility: 2.5);
|
||||
TestLaserTransmittance(WeatherType.雾天, "雾", relativeHumidity: 70, visibility: 1);
|
||||
TestLaserTransmittance(WeatherType.雾天, "雾", relativeHumidity: 80, visibility: 5);
|
||||
TestLaserTransmittance(WeatherType.沙尘, "沙尘", visibility: 0.5);
|
||||
TestLaserTransmittance(WeatherType.雪天, "雪天", temperature: -5, relativeHumidity: 80, visibility: 1, precipitation: 2.5);
|
||||
}
|
||||
@ -70,7 +70,7 @@ class Program
|
||||
// 测试特定天气条件下的激光透过率
|
||||
static void TestLaserTransmittance(WeatherType type, string description,
|
||||
double temperature = 25, double relativeHumidity = 50,
|
||||
double visibility = 10, double? precipitation = null, double latitude = 30)
|
||||
double visibility = 23, double? precipitation = null, double latitude = 30)
|
||||
{
|
||||
double[] distances = [0.1, 0.5, 1, 5, 10]; // 测试不同距离(公里)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user