飞行仿真中飞行器控制器的设计方法可以参考Matlab中的示例。具体步骤如下:
- 建立飞机动力学模型
- 配平和线性化
- 调参
参考链接
- Trimming and Linearization of the HL-20 Airframe,by mathworks.
- Angular Rate Control in the HL-20 Autopilot,by mathworks.
飞行仿真中飞行器控制器的设计方法可以参考Matlab中的示例。具体步骤如下:
MongoDB是一种面向文档的数据库管理系统,用C++等语言撰写而成,以解决应用程序开发社区中的大量现实问题。MongoDB由MongoDB Inc.于2007年10月开发,2009年2月首度推出,现以服务器端公共许可分发。
最近需要做一个红外图像处理软件,在VS2017上使用OpenGL GLUT开发,采用Rapidcsv读取传递的CSV数据。具体代码如下:
1 | int main(int argc, char *argv[]) |
最近调试一个使用VC6开发环境,使用OpenGL编写的遗留程序。记录一下VC6开发环境下GLUT库的配置。
目前最新的Nodejs LTS已不再支持Windows7。如需在Windows7上安装Nodejs,需安装12.19.1或之前的版本。
最近遇到一个奇特的需求,要求构建一个评估系统,分为前后端。它的前端是桌面应用程序,后端也是桌面应用程序。前后端之间的通信是通过前端导出一个数据包文件,然后交给后端导入完成的。由于熟悉Nodejs前后端开发,我选择Electron加Vuejs的解决方案。具体的技术选型如下:
Electron(原名为Atom Shell)是GitHub开发的一个开源框架。它允许使用Node.js(作为后端)和Chromium(作为前端)完成桌面GUI应用程序的开发。Electron现已被多个开源Web应用程序用于前端与后端的开发,著名项目包括GitHub的Atom和微软的Visual Studio Code。
一个基础的Electron包含三个文件:package.json(元数据)、main.js(代码)和index.html(图形用户界面)。框架由Electron可执行文件(Windows中为electron.exe、macOS中为electron.app、Linux中为electron)提供。开发者可以自行添加标志、自定义图标、重命名或编辑Electron可执行文件。
Vue.js是一款流行的JavaScript前端框架,旨在更好地组织与简化Web开发。Vue所关注的核心是MVC模式中的视图层,同时,它也能方便地获取数据更新,并通过组件内部特定的方法实现视图与模型的交互。
Vuejs适合开发单页应用程序。
IndexedDB 是一种底层 API,用于在客户端存储大量的结构化数据(也包括文件/二进制大型对象(blobs))。该 API 使用索引实现对数据的高性能搜索。虽然 Web Storage 在存储较少量的数据很有用,但对于存储更大量的结构化数据来说力不从心。而 IndexedDB 提供了这种场景的解决方案。
IndexedDB 是一个事务型数据库系统,类似于基于 SQL 的 RDBMS。 然而,不像 RDBMS 使用固定列表,IndexedDB 是一个基于 JavaScript 的面向对象数据库。IndexedDB 允许您存储和检索用键索引的对象;可以存储结构化克隆算法支持的任何对象。您只需要指定数据库模式,打开与数据库的连接,然后检索和更新一系列事务。
indexedDB的API不够友好,建议使用localForage,支持类Storage API语法的客户端数据存储polyfill,支持回退到Storage和Web SQL
使用如下命令构建Vuejs项目脚手架:
1 | npm install -g @vue/cli |
在上一节创建Vuejs项目的基础上,使用如下命令为Vuejs项目添加Electron支持,从而生成桌面应用程序:
1 | vue add electron-builder |
使用如下命令为项目添加Sqlite3数据库支持:
1 | npm install sequelize --save --registry https://registry.npm.taobao.org |
使用如下命令构建32位Electron安装程序:
1 | npm run electron:build -- --ia32 |
或者
1 | yarn electron:build --ia32 |
请参考 Electron:运行npm run build构建环境失败解决方案。
当遇到如下错误时, 解决方法很简单,打包项目路径不能包含中文路径。
1 | .electron-builder\Cache\nsis\nsis-3.0.3.2\Bin\makensis.exe exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE |
请参考Blank screen on builds, but works fine on serve。
electron支持macOS、Windows、Linux。在Windows平台,electron仅支持 Windows 7 或更高版本, 旧版操作系统已不再支持(并且无法运行).
看了吴菁老师的几个Simulink教学视频,很不错,记录一下。
Cesium在很早之前就支持GLTF模型动画,例如:
1 | var czml = [ |
这种方法存在一定局限性,只能支持全局动画,不能控制动画的起止。但最近版本中,Cesium进行了一定改进,可以支持在一定程度上控制GLTF动画了。示例代码如下:
1 | var czml = [ |
这段示例代码的原理还有待分析,我将launchvehicle.glb导入blender 2.90中,但并没有看到上述代码中的三段动画。按照链接Model Articulations “Number” variable的说法,这三段动画是通过GLTF扩展实现。