MENU

Tags: c/cpp

C++实现的航路计算工具——BravoFinder

前言

很早我就想做一个离线的航路计算程序。

网上有不少模拟飞行航线计算工具,国内有虚航运营网的全球航路查询及飞行计划辅助系统、AIRCN的AIRCN全球航路查询系统,国外有AsaLink的RouteFinder。这些都是大家真切用过的。

全球航路查询及飞行计划辅助系统是老牌了,好用,我接触FS时就是一直用着它来的。然而它的导航数据版本有些老旧,现在还是Cycle 1311。

AIRCN全球航路查询系统是近几年上线的系统,有着全球航路查询及飞行计划辅助系统的影子,且同时支持NAIP和AIRAC数据,用户界面也是体验最好的。AIRCN全球航路查询系统最新的数据版本为Cycle 1606,不能说过时,但也算不上新。

RouteFinder有收费版本,也开放了免费版本。更新得非常勤快,昨天才收到Navigraph发来的数据更新通知邮件,现在它就已经更新到Cycle 1609了。不支持NAIP是一个缺憾之外,也许就是外国网站访问比较慢吧。笑。

这次开工时,看到了GitHub仓库的日期,最后一次提交在2014年。我确实是早有想法的,我想编写一个离线的、用户提供数据的航路查询系统。这一次终于是下定决心,把主要功能完成了。GitHub在这里:Bokjan/BravoFinder。功能还在陆续完善中,我本身提供了一个简陋的CLI方式供大家使用。在编写时考虑到这个小工具可以嵌入其他的项目,有意封装了API,在Intefaces.hpp里。

本项目使用知识共享4.0-署名-非商业性使用国际公共许可证开源。

本文主要对技术方面的细节进行介绍。

数据的导入

概论

考虑到PMDG是使用非常广泛的插件机厂商,程序利用的就是PMDG的数据。

Read More

软件定义无线电导论

前言

年初购入了一套可能是最便宜的软件无线电设备——RTL2832U电视棒。因为博客搬家的原因一直未撰文介绍,现在补上。

什么是软件定义无线电

软件定义无线电(Software-Defined Radio)是一套用个人电脑或嵌入式系统中的软件来代替元器件被集成在硬件中的无线电通讯系统。

SDR设备可能是大家能以最低廉的价格接触到的无线电设备。当然,种类也是变化多样的,从最便宜的RTL2832U电视棒到6GHz全段收发机HackRF,应有尽有。本文不是教大家搭建伪基站的,所以咱们从小巧的电视棒开始吧。

Read More

图论相关简单算法汇总

这里介绍了图论中常见算法的原理和实现。

一、邻接表存图

用邻接矩阵表示稀疏图会浪费大量内存空间。而在邻接表中是通过把类似于“从顶点0出发有到顶点1、2、3、4的边”这样的信息保存在链表中来表示图的。这样只需要$O(|V| + |E|)$的内存空间。

Read More

没事找事:WTFPL解释器的C++实现

写在前面:本文中所提到的源代码及由其编译得到的二进制可执行文件(Windows)可以在这里下载到。本代码已在GNU/Linux GCC、MinGW GCC及Microsoft Visual C++环境下编译通过且正常运行测试样例。压缩包中的二进制文件是使用Microsoft Visual Studio 2013生成的。

简介:这是一个使用C++实现的What The Fuck Programming Language解析器。本来打算写的是GrassMudHorse Programming Language的解析器,最终由于编码问题放弃了。如果读者您能够完美解决这个问题并保持额外开销在一个很低的水平,请与我取得联系,不胜感激。

Read More

无穷的序列与位域

题目名称:无穷的序列
内存限制:128 MB
时间限制:1 s
【题目描述】 有一个无穷序列如下:
110100100010000100000…
请你找出这个无穷序列中指定位置上的数字
【输入格式】 第一行一个正整数N,表示询问次数;
接下来的N行每行一个正整数$A_i$,$A_i$表示在序列中的位置。
【输出格式】 N行,每行为0或1,表示序列第$A_i$位上的数字。
对于100%的数据有$N\leq 1500000$,$A_i\leq 10^{9}$










Read More