内容简介飞行模拟器是典型的人在回路实时仿真系统,是虚拟现实技术的应用实例。本书以飞行模拟器为背景,讲述建模理论和方法、仿真软件、仿真计算机和接口、环境仿真(包括视景系统、运动系统、操纵负荷系统、音响系统)等内容,全书共分十二章。本书的编写注重理论与实践的结合,具有较强的工程背景,具有多学科综合应用的特点。本书适合从事飞行实时仿真系统设计、研制、开发与应用的工程技术人员以及高等院校有关专业师生阅读。本书可以作为有关专业研究生的教材和参考书。片断:putc()是一个类似函数的宏,它向用户规定的流里写一个字符。putc()需要两个参数:第一个参数告诉putc()输出什么字符,第二个参数告诉putc()往何处写这个字符。使用函数putc()时用下列语法:intputc(intc,FILEstream);在参数表里的第一个参数是输出字符的整数值,第二个参数是一个指向写字符的地址的指针。stream只是一个与特殊文件或设备相连的指针。函数putc()返回一个整型值,如果putc()写字符成功的话,则返回该字符的值;如果putc()进行的工作失败,则返回EOF。下面的例子展示如何使用putc():intc;for(c=65;c<=90;c十+)putc(c,stdout);用两个自变量C和stdout对putc()进行调用。参数C是一个用做for()语句里的循环计数变量。在for()语句的每一次循环中,putc()输出(写)C的字符值,这里C是循环计数器,putc()往stdout指向的设备里写字符,stdout是一个指向标准输出设备的指针,这个标准输出设备通常是显示屏幕。有时单写一个字符还不够,需要一次写一个完整的串。在这种情况下,可以使用函数puts()。下面的例子显示了puts()如何往屏幕上输出一个字符串:charmy-string[]="Thisisatest!";puts(mystring);可以看到puts()函数需要一个指向字符串的参数。这时,puts()才会输出那个由my-string指向的字符串。在这个例子的第1行里,my-string说明为一个字符数组,它是一个串,并且赋了初值。puts()函数将字符串发送至stdout上,并且在串尾添加一个换行符。1.5.2.2printf()函数当只需要输出基于字符的信息时,字符和串输出函数做了一件好事。然而有时可能需要输出各种类型的数据,而不只是字符数据,要做到这一点可以用printf()函数。printf()只是printf()函数族中的一个,printf()族中所有的函数都输出有格式的数据,但是在参数和输出对象方面各有差异。有了printf(),就可以产生有格式的输出,该函数允许控制数据的外观或者说格式。printf()函数的语法为:intprintf(constcharformat[,argnment,...]);可以看到printf()的参数表由两部分组成,第一部分为格式串,它控制输出数据的格式,第二部分由printf()要输出的数据组成。格式串控制着printf()函数如何有格式地显示参数的内容,该串包含着文字和转换规定符,这些规定符决定输出数据的类型和格式。参数必须有足够的变量来匹配每一个转换规定符,如果变量不够,则会产生意想不到的结果。下面这个例子显示了一个带有格式串的printf()函数,该格式串含有规范的正文和转换符:printf("Theansweris:%d",sum);3.6建模与仿真的VVA3.6.1VVA概念建模与仿真的有效性关键在于建模与仿真的正确性和置信度。只有保证了建模与仿真的正确性和置信度,其仿真结果才有实际意义。建模与仿真采用校核、验证与确认(VerificationValidationandAccreditation,简称VVA)技术是有效的途径。校核(Verification)是确定模型和仿真准确地再现开发者的概念描述和技术要求的过程。验证(Validation)是确定模型和仿真从意想使用的角度准确地再现真实世界的程度的过程。确认(Accreditation)是权威机构对某种专门目的模型和仿真能否接受的确定。VVA是建模与仿真开发、应用和提高的重要部分。VVA技术中,“校核”和“验证”将改善、提高建模与仿真的正确性,而通过“确认”将确定建模与仿真的置信度水平。一个大的仿真系统的精度包括静态(稳态)和动态两方面。整个仿真系统的精度由各个分系统的精度综合构成。换言之,整个飞行仿真系统要求的精度将分配到对各个系统的精度要求中。因此,模型的校核、验证和确认应贯穿在建模与仿真系统的开发、应用和完善的全过程。建模与仿真的VVA涉及多项技术和测试方法。其关键技术在于VVA工作模式的规范化和VVA的自动化、可视化。VVA工作模式是多层次的,即模型校核和仿真结果的验证,后者包括仿真结果的数据采集、数据跟踪、仿真结果与验证数据的比较和显示。3.6.2VVA过程建模与仿真的VVA工作模式和过程如图3.11所示。VVA过程首先是对建模对象的分析,根据仿真的目的提出建模的要求,抽象出概念模型。概念模型包括有关的假设、算法、建模与仿真的结构以及预期应用的描述。概念模型也必须提出合适地为建模与仿真输入数据的可行性。概念模型验证的过程要表明概念模型对仿真对象的描述是否正确,仿真结构是否能满足预期应用的要求。在建模与仿真过程中要设计校核与验证计划。建模与仿真的“技术说明”包括对软、硬件的要求和标准,包括分布交互仿真的网络和协议标准等。依据这些进一步进行设计校核,验证结构设计与概念模型之间的联系,要保证初步设计的要求。在“软件开发/修改”中不断得到完整的仿真软件。在此过程中应该应用软件有关结构、文档、测试和质量保证方面的标准,增强建模与仿真文档和配置的管理。另外,通过一系列的仿真试验,校核和验证仿真软件是否精确地反映了建模与仿真计划,并将仿真结果与理论结果或其它试验结果进行比较,从而验证数学仿真模型和软件的有效性。然后,进行软件、硬件及其网络的连接调试,还包括人的参与。在系统运行过程中,验证整个仿真系统复现实体性能的逼真程度。分析仿真系统的正确性和精度,并且分析各部件精度对整个仿真系统精度的影响。在建模与仿真过程中,除了以上强调的要把校核和验证集成到建模与仿真开发生命全周期,另外还要强调文档也要贯穿整个开发过程,使之得到有效的校核和验证。文档中包括建模与仿真的指标、性能、数据要求等说明。没有这些文档,建模与仿真不易正确进行。因此,所有的VVA过程要全面正式地存入文档。