程序设计参数是飞行程序设计的基础,手头比较熟的编程工具就属Flash(绝大部分的编程工具都可以完成这项任务) ,于是考虑从这里入手,来做为设计时的数值参考。代码提供如下,了解编程的朋友可以多提些意见。
var PI = 3.14;
var sita = 15;//转弯坡度
var w = 56;//全向风
var tArr:Array = [217,296,364,422,470,539];//不同的速度范围值
for (var i:int = 0; i < tArr.length; i++) {
var TAS = tArr[i]; //真空速
//Flash中的 tan 函数需要用弧度
//下面公式采用的是ICAO算法,未使用课本上的简化数值。
var R = 6355*Math.tan(sita*PI/180)/( PI * TAS );
var r = TAS/( 20 * PI * R );
//风影响值的公式中,直接用角度值进行计算。
var E = (90/R)* (w/3600);
var C = (TAS + w )*6/3600;
//计算完成后,对数值四舍五入,得到最后的计算结果。
R = Math.round(R * 100) / 100; //转弯率
r = Math.round(r * 100) / 100; //转变半径
E = Math.round(E * 100) / 100; //转90度弯时,风的影响
C = Math.round(C * 100) / 100; //6秒钟的计时容差
trace( TAS,C,R,r,E);
}
/* 输出结果如下,与 朱院长 《目视和仪表飞行程序设计》一书第38页表格中数值一致。
217 0.46 2.5 1.38 0.56
296 0.59 1.83 2.57 0.76
364 0.7 1.49 3.89 0.94
422 0.8 1.28 5.23 1.09
470 0.88 1.15 6.49 1.21
539 0.99 1.01 8.54 1.39
注意:当使用PI = 3.1415926时,最后一行的 8.54 会变成 8.53 。
*/
/*Flash 中数值进位除了四舍五入还有另外两个函数:
Math.floor() 直接省略小数点以后的数字。
Math.ceil() 直接进位。
为保守起见,可以采用直接进位函数来计算保护区参数。
输出结果如下:
217 0.46 2.5 1.39 0.57
296 0.59 1.84 2.58 0.77
364 0.7 1.49 3.9 0.95
422 0.8 1.29 5.24 1.1
470 0.88 1.16 6.49 1.22
539 1 1.01 8.54 1.4
*/