CN108614918A - 人工智能程序员书写数字飞行器三维演示程序的方法 - Google Patents
人工智能程序员书写数字飞行器三维演示程序的方法 Download PDFInfo
- Publication number
- CN108614918A CN108614918A CN201810284496.8A CN201810284496A CN108614918A CN 108614918 A CN108614918 A CN 108614918A CN 201810284496 A CN201810284496 A CN 201810284496A CN 108614918 A CN108614918 A CN 108614918A
- Authority
- CN
- China
- Prior art keywords
- code
- program
- dimensional
- aircraft
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种人工智能程序员书写数字飞行器三维演示程序的方法,其步骤如下:1.飞行器数字装配,建立飞行器结构模型和各部件的三维模型,保存到模型库;将数字飞行器各部件的装配信息存入配置文件。2.书写三维场景初始化代码,根据数字飞行器装配信息,书写外部三维模型的读取代码;根据天体物理属性,书写天体三维模型代码。3.书写信息传输代码,形成主要由信息接口函数和信息解包函数构成的信息传输框架。4.书写三维场景更新代码,用于更新三维模型状态和二维文本信息。5.书写用户交互代码,根据常用的键盘与鼠标事件书写相应的场景操作代码。6.自动编译部署,所有代码书写完成后自动进行程序的编译与部署。
Description
技术领域
本发明涉及计算机仿真模拟技术领域,更具体的说是涉及飞行器及其部件仿真过程的三维演示。
背景技术
目前,三维演示的应用涉及到科研、影视、游戏等各个方面,仿真可视化已成为科研人员开发仿真系统、进行仿真实验的重要辅助手段。尤其是在飞行器的研究过程中,进行实物或半实物仿真的代价太高,需要在计算机平台上进行数字仿真,而数字仿真过程缺少实物,不能直观的了解飞行器的姿态、相对位置等信息,所以需要进行仿真过程的可视化演示。
通过对仿真过程的三维演示,技术人员与非技术人员都可以直观的看到飞行器飞行、机动等过程中的状态,有助于理解数字仿真过程,对比仿真的三维画面与预期的三维画面,可以对仿真过程的正确性进行验证,如果仿真过程有误,也可以直观的观测到。所以,飞行器的数字仿真需要三维演示程序提供支持。
但是,不同的仿真任务需要的三维演示场景有很大区别,需要显示的三维模型的数量、位置、缩放比例都不一样,所以,目前的已有技术并不能解决这个问题。
因此,研究出适应不同仿真任务的数字飞行器三维演示程序自动生成技术是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种人工智能程序员书写数字飞行器三维演示程序的方法。
为了实现上述目的,本发明采用如下技术方案:
一种数字飞行器三维演示程序的自动生成技术,其步骤如下:
步骤一:飞行器数字装配,建立飞行器结构模型和各部件的三维模型,保存到模型库;将数字飞行器各部件的装配信息存入配置文件;
步骤二:书写三维场景初始化代码,根据数字飞行器装配信息,书写外部三维的读取代码;根据天体物理属性,书写天体三维模型代码;
步骤三:书写信息传输代码,书写信息接口函数接收外部程序传入的飞行器数据;书写解包函数,将接收到的数据包进行解包;
步骤四:书写场景更新代码,根据三维模型数量与类型更新三维模型在绝对坐标系的状态;根据文本信息定义更新二维文本显示;
步骤五:书写用户交互代码,根据常用的键盘与鼠标事件书写相应的场景操作代码;
步骤六:自动编译部署,所有代码书写完成后自动进行程序的编译与部署。
优选的,所述述仿真步骤一中保存的三维模型最终转化为ive格式。
优选的,所述仿真步骤一中的配置文件为xml格式,每一个要显示的三维实体在配置文件中包含6个配置属性,分别是设备类型、模型名称、模型编号,模型类型、父节点、是否显示、节点名称、与父节点相对位置、与父节点相对姿态、缩放比例和设备描述。
优选的,所述步骤一中的配置文件是自动生成的,依据数字飞行器的装配界面得到安装位置和姿态,依据数字飞行器的流设计决定需要哪些飞行器和部件、各部件属于哪个飞行器。
优选的,所述步骤二中,在三维演示程序中,将地球卫星图贴在球体表面,构成地球的三维模型,驱动地球模型绕其自转轴匀速转动,转动角速度由相应的天文学常数决定。
优选的,所述步骤三中,三维演示程序使用接口函数接收来自仿真程序的数据包,包括飞行器数量、包长度、数据类型、姿轨数据等。
优选的,所述步骤四中飞行器的位置和姿态由接口函数收到的位置姿态数据决定。
优选的,所述步骤四中,飞行器上各部件的位置和姿态由其父节点位置姿态叠加上其安装位置与姿态来决定。在飞行器质心处建立本体坐标系,叠加上配置文件中的部件安装位置与姿态,得到部件的位置与姿态,将部件模型经合理的平移、旋转后显示出来。
优选的,所述步骤四中,更新多个飞行器的位置姿态时,等待所有的飞行器都收到同一仿真时刻的数据时再更新,保证各飞行器显示的状态都在同一时刻。
优选的,在所述步骤五中,使用三维演示程序显示飞行器的位置姿态时,定时捕获按键事件,当按下特定按键时,触发相应的显示事件。这部分用于演示程序与用户的交互,包括切换视角、视图的放大与缩小、视图的旋转变换。
综上所述,经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种数字飞行器三维演示程序的自动生成方法,针对不同的仿真模型与演示需求合理的组织了代码与配置文件,实现了三维演示程序的数据传输,可以使用仿真程序的数据来驱动三维演示画面的更新。本发明的优势在于,针对不同的仿真任务,能自动得到相应的三维演示程序,减轻了人的开发工作,避免了大量的编程错误,提高了三维演示程序的开发速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明数字飞行器三维演示程序自动生成技术的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了人工智能程序员书写数字飞行器三维演示程序的方法,包括以下步骤:
步骤一:飞行器数字装配,建立飞行器结构模型和各部件的三维模型,保存到模型库;将数字飞行器各部件的装配信息存入配置文件;
步骤二:书写三维场景初始化代码,根据数字飞行器装配信息,书写外部三维的读取代码;根据天体物理属性,书写天体三维模型代码;
步骤三:书写信息传输代码,书写信息接口函数接收外部程序传入的飞行器数据;书写解包函数,将接收到的数据包进行解包;
步骤四:书写场景更新代码,根据三维模型数量与类型更新三维模型在绝对坐标系的状态;根据文本信息定义更新二维文本显示;
步骤五:书写用户交互代码,根据常用的键盘与鼠标事件书写相应的场景操作代码;
步骤六:自动编译部署,所有代码书写完成后自动进行程序的编译与部署。
为了进一步实现本发明的技术方案,步骤一将数字飞行器的装配信息保存到一个配置文件中,配置文件包含各设备的编号,该设备三维模型文件的名称,该设备所依赖的父节点,以及该设备相对其父节点的位置与姿态,还包含了该设备的显示比例,并且装配信息包括但不限于部件型号名称、部件对应的三维模型信息、部件安装位置与安装姿态信息。
为了进一步实现本发明的技术方案,在步骤三中,将三维演示程序的源代码存入代码库,在需要的时候自动进行编译生成。
为了进一步实现本发明的技术方案,在步骤三中,使用接口函数接收来自仿真程序的数据,并对接收到的信息自动解包,然后根据接收到的仿真数据,三维演示程序驱动三维场景进行相应的变化。
为了进一步实现本发明的技术方案,在步骤四中,各三维模型根据仿真时间和接收到的数据同步刷新,使所有实体显示同一时刻的状态。
为了进一步实现本发明的技术方案,在步骤二中,将地球地形图贴在一个球体上,在三维演示程序中动态显示该地球模型,地球绕自转轴匀速转动。
为了进一步实现本发明的技术方案,在步骤四中,使用HUD摄像头显示技术,将姿态轨道或其他数据显示在屏幕上的固定位置。
为了进一步实现本发明的技术方案,在步骤五中,使用特定的按键控制三维视图,包括但不限于切换飞行器视角或者地球视角,视图放大和缩小,视图的旋转变换。
下面将通过具体实施例进行进一步描述。
本发明实施例公开了一种数字航天器三维演示程序自动生成的方法,主要包含以下几个步骤:飞行器的数字装配、书写三维场景初始化代码、书写信息传输代码、书写三维场景更新代码、书写用户交互代码和自动编译部署。
1.飞行器的数字装配
(1)使用三维建模软件生成飞行器或部件的三维模型,转化为ive格式,存入模型库。
(2)通过数字装配界面选择需要的部件,并设置好部件的安装位置与安装姿态。将仿真需要的部件信息存入配置文件,其中包括飞行器和部件的三维模型信息、部件安装位置与姿态、各模型的显示比例等。
本例中采用xml文件的配置文件,其中的装配信息格式如下表所示:
节点 | 名称 | 备注 |
ModelName | 模型名称 | 该模型的文件名称,如Box9A.IVE |
Index | 模型编号 | 模型的编号,为一个整数 |
Type | 模型类型 | 该模型的类型,如IdealGyro或Body |
FatherNode | 父节点 | 该模型的父节点,-1代表本身就是独立实体 |
Display | 是否显示 | 节点为0或1表示该部件显示或不显示 |
NodeName | 节点名称 | 节点的名称 |
Position | 相对位置 | 该模型相对于父节点的初始位置 |
Attitude | 相对姿态 | 该模型相对父节点的初始姿态 |
Scale | 缩放比例 | 模型缩放比例 |
Description | 模型描述 | 模型描述信息 |
2.书写三维场景初始化代码
(1)书写三维模型加载代码
外部三维模型的信息从配置文件中读取,书写的代码要遍历配置文件中所有模型。
人工智能程序员统计配置文件中的模型总数和独立实体总数,在头文件中添加模型总数和实体总数的宏定义,比如:#define MAX_DEVICE_NUMBER 35。
人工智能程序员书写循环结构的代码来遍历读取模型,其中应包含判断逻辑,以处理不同级别的模型。若该模型为独立实体,则将该实体安装在坐标系原点位置,并建立相应的轨道。若该实体不是独立实体,则将该实体安装在其父节点的本体坐标系上。
(2)书写天体模型代码
天体模型可以包含地球、太阳和月球等天体,本例中以地球为例进行说明。地球模型使用代码直接在演示程序中创建,人工智能程序员根据地球半径在坐标原点建立一个三维球体,使用全球地形图进行贴图,得到一个静止的地球模型。人工智能程序员书写地球运动代码,根据地球自转速度使其围绕Z轴随时间自转。
3.书写信息传输代码
(1)书写接口函数,用以接收外部传入的飞行器状态数据,接口函数的输入参数应包括:外部程序传输数据的总线标识、数据包内容等。
(2)书写解包函数,在三维演示程序中对接收到的数据包进行解包,提取出仿真数据。数据包使用结构体来表示,其中包含了数据包编号、数据包长度和数据内容。而数据内容又包括:仿真时刻、飞行器编号、轨道与姿态信息。
4.书写场景更新代码
(1)书写三维模型状态更新代码
三维模型状态更新代码与三维实体的类型与数量有关,人工智能程序员根据实体数量书写循环结构代码,在其中遍历更新各模型的状态。根据信息传输得到的结果,给模型状态传入正确的数值。再使用坐标变换代码更新三维模型的显示状态。
(2)书写二维文本显示代码
二维文本显示代码用以显示一直在屏幕最前端的一些信息,本例中以飞行器姿轨信息进行说明。
书写代码创建HUD摄像机节点,设置该节点的投影矩阵和渲染顺序,使得该摄像机不会随视角的漫游而变化。书写代码创建Text对象以存储要显示的文本信息,如轨道位置速度、航天器姿态角与姿态加速度。书写代码将Text对象加入到HUD摄像机视图中。
5.书写用户交互代码
(1)书写键盘交互代码
键盘交互代码主要包括键盘事件监测代码和键盘事件响应代码。
键盘事件监测代码使用选择分支语句实现,对常用的一些键盘操作进行监测,比如:方向键、子母键、数字键和回车键等。在代码中使用相应键位的代码来识别该按键。
键盘事件响应代码也是用选择分支语句实现,将输入的按键信息一一对应到具体的程序交互动作,比如:旋转、放缩、切换位置以及全屏等。
(2)书写鼠标交互代码
鼠标交互代码主要包括鼠标事件监测代码和鼠标事件响应代码。
鼠标事件监测代码使用选择分支语句实现,监测事件包括:单击左键、单击右键和滚轮动作等。
鼠标事件响应代码使用选择分支语句实现,将鼠标操作一一对应到程序交互动作,比如:放大、缩小、旋转和平移等。
6.自动编译部署
在所有代码书写完成后,人工智能程序员对三维演示程序进行编译,将代码编译生成可执行程序exe文件。然后将相应的配置文件与可执行程序都部署到三维演示程序文件中。
本说明书中实施例采用递进的方式描述,对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.人工智能程序员书写数字飞行器三维演示程序的方法,其特征在于,所述方法包括以下步骤:
步骤一:飞行器数字装配,建立飞行器结构模型和各部件的三维模型,保存到模型库;将数字飞行器各部件的装配信息存入配置文件;
步骤二:书写三维场景初始化代码,根据数字飞行器装配信息,书写外部三维的读取代码;根据天体物理属性,书写天体三维模型代码;
步骤三:书写信息传输代码,书写信息接口函数接收外部程序传入的飞行器数据;书写解包函数,将接收到的数据包进行解包;
步骤四:书写场景更新代码,根据三维模型数量与类型更新三维模型在绝对坐标系的状态;根据文本信息定义更新二维文本显示;
步骤五:书写用户交互代码,根据常用的键盘与鼠标事件书写相应的场景操作代码;
步骤六:自动编译部署,所有代码书写完成后自动进行程序的编译与部署。
2.根据权利要求1所述的人工智能程序员书写数字飞行器三维演示程序的方法,其特征在于,所述步骤一将数字飞行器的装配信息保存到一个配置文件中,所述配置文件包含各设备的编号,该设备三维模型文件的名称,该设备所依赖的父节点,以及该设备相对其父节点的位置与姿态,还包含了该设备的显示比例,并且所述装配信息包括但不限于部件型号名称、部件对应的三维模型信息、部件安装位置与安装姿态信息。
3.根据权利要求1所述的人工智能程序员书写数字飞行器三维演示程序的方法,其特征在于,在所述步骤三中,将三维演示程序的源代码存入代码库,在需要的时候自动进行编译生成。
4.根据权利要求1所述的人工智能程序员书写的数字飞行器三维演示程序,其特征在于,在所述步骤三中,使用接口函数接收来自仿真程序的数据,并对接收到的信息自动解包,然后根据接收到的仿真数据,三维演示程序驱动三维场景进行相应的变化。
5.根据权利要求1所述的人工智能程序员书写的数字飞行器三维演示程序,其特征在于,在所述步骤四中,各三维模型根据仿真时间和接收到的数据同步刷新,使所有实体显示同一时刻的状态。
6.根据权利要求1所述的人工智能程序员书写的数字飞行器三维演示程序,其特征在于,在所述的步骤二中,将地球地形图贴在一个球体上,在三维演示程序中动态显示该地球模型,地球绕自转轴匀速转动。
7.根据权利要求1所述的人工智能程序员书写的数字飞行器三维演示程序,其特征在于,在所述的步骤四中,使用HUD摄像头显示技术,将姿态轨道或其他数据显示在屏幕上的固定位置。
8.根据权利要求1所述的人工智能程序员书写的数字飞行器三维演示程序,其特征在于,在所述的步骤五中,使用特定的按键控制三维视图,包括但不限于切换飞行器视角或者地球视角,视图放大和缩小,视图的旋转变换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810284496.8A CN108614918B (zh) | 2018-04-02 | 2018-04-02 | 一种数字飞行器三维演示程序的自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810284496.8A CN108614918B (zh) | 2018-04-02 | 2018-04-02 | 一种数字飞行器三维演示程序的自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108614918A true CN108614918A (zh) | 2018-10-02 |
CN108614918B CN108614918B (zh) | 2022-02-22 |
Family
ID=63659417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810284496.8A Active CN108614918B (zh) | 2018-04-02 | 2018-04-02 | 一种数字飞行器三维演示程序的自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108614918B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050267731A1 (en) * | 2004-05-27 | 2005-12-01 | Robert Allen Hatcherson | Container-based architecture for simulation of entities in a time domain |
US7039571B1 (en) * | 1999-12-21 | 2006-05-02 | Lockheed Martin Corporation | Method for programming operator system interface with a simulator |
CN101398866A (zh) * | 2008-10-29 | 2009-04-01 | 哈尔滨工程大学 | 飞行器视景仿真系统 |
FR2930697A1 (fr) * | 2008-04-29 | 2009-10-30 | Airbus France Sas | Procede et dispositif de configuration dynamique d'un reseau de communication pour la simulation temps reel de l'integration de composants electroniques dans un vehicule |
US20100318336A1 (en) * | 2009-06-13 | 2010-12-16 | Falangas Eric T | Method of modeling dynamic characteristics of a flight vehicle |
CN106647335A (zh) * | 2017-01-13 | 2017-05-10 | 王洋 | 一种数字化卫星姿轨控算法地面仿真验证系统 |
CN107798170A (zh) * | 2017-09-25 | 2018-03-13 | 上海卫星工程研究所 | 基于三维环境的卫星在轨信息仿真方法 |
-
2018
- 2018-04-02 CN CN201810284496.8A patent/CN108614918B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039571B1 (en) * | 1999-12-21 | 2006-05-02 | Lockheed Martin Corporation | Method for programming operator system interface with a simulator |
US20050267731A1 (en) * | 2004-05-27 | 2005-12-01 | Robert Allen Hatcherson | Container-based architecture for simulation of entities in a time domain |
FR2930697A1 (fr) * | 2008-04-29 | 2009-10-30 | Airbus France Sas | Procede et dispositif de configuration dynamique d'un reseau de communication pour la simulation temps reel de l'integration de composants electroniques dans un vehicule |
CN101398866A (zh) * | 2008-10-29 | 2009-04-01 | 哈尔滨工程大学 | 飞行器视景仿真系统 |
US20100318336A1 (en) * | 2009-06-13 | 2010-12-16 | Falangas Eric T | Method of modeling dynamic characteristics of a flight vehicle |
CN106647335A (zh) * | 2017-01-13 | 2017-05-10 | 王洋 | 一种数字化卫星姿轨控算法地面仿真验证系统 |
CN107798170A (zh) * | 2017-09-25 | 2018-03-13 | 上海卫星工程研究所 | 基于三维环境的卫星在轨信息仿真方法 |
Non-Patent Citations (3)
Title |
---|
刘晓丰等: "卫星推进系统仿真平台架构设计与实现", 《硅谷》 * |
孙乐丰等: "基于OSG的卫星运行数据可视化仿真实现", 《硅谷》 * |
李洪珏等: "卫星故障诊断系统智能研制技术研究", 《上海航天》 * |
Also Published As
Publication number | Publication date |
---|---|
CN108614918B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106530896A (zh) | 一种用于无人机飞行演示的虚拟系统 | |
Jackson et al. | Android apps for absolute beginners | |
Defanti et al. | Visualization in scientific computing | |
US20040061726A1 (en) | Global visualization process (GVP) and system for implementing a GVP | |
Liggett et al. | An integrated environment for urban simulation | |
CN115457224B (zh) | 一种三维地理空间数字孪生架构方法及系统 | |
CN103440319A (zh) | 历史信息动态显示方法和系统 | |
Reddy et al. | Under the hood of GeoVRML 1.0 | |
Bodum | Future directions for hypermedia in urban planning | |
CN108595181A (zh) | 人工智能程序员书写飞行器集群同步三维演示源代码方法 | |
CN108614918A (zh) | 人工智能程序员书写数字飞行器三维演示程序的方法 | |
Wasfy et al. | Object-oriented virtual environment for visualization of flexible multibody systems | |
Reddy et al. | Modeling the digital earth in vrml | |
Ratzel | Concept study for the use of a render engine for computer games in a flight simulation | |
Buchroithner | Interactive real-time VR cartography | |
Swanson | Evolving avionics systems from federated to distributed architectures | |
Sreevalsan-Nair | Virtual Globe | |
Fricker et al. | Intuitive design through information maps | |
Brand | Graphics for a 3D Driving Simulator | |
Maver | Modelling the cityscape with geometry engines | |
Bodum | Future directions for hypermedia in urban | |
Murray et al. | Automatically generating a distributed 3D battlespace using USMTF and XML-MTF air tasking order, extensible markup language (XML) and virtual reality modeling language (VRML) | |
Gallo | Development of a real-time solution for an interactive VR representation of large star catalogues | |
Switzer et al. | A Synthetic Environment Flight Simulator: The AFIT Virtual Cockpit | |
CN115359178A (zh) | 一种基于web的虚拟现实教学资源制作的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |