测绘程序设计之具体程序设计

测绘程序设计大赛之具体程序设计

界面设计

关于界面设计,首先要具备最起码的要求,比如数据显示,报告显示,菜单栏,工具栏等这些东西,这里就不阐述如何设计了,直接给出最简单的设计样例:
界面示例

之后的实例也都是使用大地线长度计算的样例,这个界面中图标(工具栏中打开文件,保存报告,数据分析)需要自己临时设计,这个后面会提到,然后如果时间实在来不及,可以不设计图标,只显示文字,然后我在左下角添加了一个简单的日志输出,也就是看到的”就绪“。这个如果大家喜欢的话也可以添加一下i,比如我保存报告结束后会在这里提示"保存成功"。

图标设计

在解决方案资源管理器中右键添加,选择新建项,选择现有模板,选择位图文件,更改文件名,点击添加
图标设计
然后就肆意挥洒笔墨吧,这里建议的画笔属性如下:
建议的画笔属性
画完点击保存,然后添加的时候需要从文件夹中找到就可以了。

让程序显示更清晰

如果运行的程序后感觉很模糊,清晰度很低,可以向上面的操作一样添加一个这样的文件:
添加应用程序清单文件
然后将该文件中的下面显示的两个注释取消掉:
在这里插入图片描述
是不是VS2022不需要这个设置,我刚才运行了一下发现没有这个提到的模糊,嘎嘎清晰。之前的2017是需要这个设置的,才会显示地更清晰,如果大家有的话就按照这样子的设置,没有就当看个乐子。

具体代码编写

写代码的话大家就找相关的教程吧,我推荐B站上的李英冰老师的教学视频,因为李老师也是这个比赛的指导之一。然后我这里提几个点吧,我觉得比较重要的,首先就是大家不要把所有的代码都写在Form1.cs中(谁是这么干的评论区面壁思过),多尝试添加类,以类的形式实现相关功能,我一般会添加两个类:

FileHelper.cs //用以文件处理的类
Process.cs	//用以计算的类,也就是写公式进行计算的类

然后就是要会添加注释,注释的东西不需要太多,在每一个类前面添加注释,在每一个重要函数前添加注释,在试题册有明显划分区域的地方根据试题册标题添加注释即可。其中函数注释需要注意,直接键入三个‘/’即可,它会自动生成这样的注释:
在这里插入图片描述
中间空的一行写函数的解释,后面是参数的注释,比如这个函数可以是这个样子的:

        /// <summary>
        /// 用来计算某一个数的多次方
        /// </summary>
        /// <param name="a">底数</param>
        /// <param name="n">指数</param>
        /// <returns></returns>
        double Pow(double a, int n) { return Math.Pow(a, n); }

然后加一条吧,就是如果公式中大量设计Math库函数,比如三角函数这类的,可以像这样简化操作:

        //为了使代码简化清晰定义函数
        double Sin(double a) { return Math.Sin(a); }
        double Cos(double a) { return Math.Cos(a); }
        double Tan(double a) { return Math.Tan(a); }
        double Atan(double a) { return Math.Atan(a); }
        double Sqrt(double a) { return Math.Sqrt(a); }
        double Pow(double a, int n) { return Math.Pow(a, n); }

这样在具体的公式里面本来的Math.Sin()就可以写成Sin()。因为一般公式都是相当复杂的公式,而且由于不允许使用拓展显示器只能半屏写代码半屏看试题册,同时最后需要粘贴代码到报告文档,因此这样可以一定程度上简化代码量,提高代码可读性,也减少犯错。

总结

这篇就写到这吧,这篇总结了写代码的一些具体事项,后面会写一点可能会遭遇的坑吧,但是需要总结一下,慢慢来吧。加油!

### Ardupilot 固件编译环境设置教程 #### 1. 安装必要的依赖项 为了成功编译 Ardupilot 固件,需要安装一些基础工具和库。以下是常见的 Linux 系统上的依赖项安装命令: 对于 Ubuntu 或 Debian 类系统: ```bash sudo apt-get update sudo apt-get install git python3-pip python3-setuptools gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential cmake ninja-build ``` 这些工具包括 Git(用于代码管理)、Python 及其扩展包、交叉编译器 `gcc-arm-none-eabi` 和构建工具 CMake[^1]。 #### 2. 配置 Git 环境并克隆项目 确保已正确配置 Git 的 SSH 密钥以便于访问 GitHub 上的资源。如果尚未完成此操作,请按照官方文档指南进行设置[^4]。 接着通过以下方式获取 Ardupilot 主仓库及其子模块: ```bash git clone --recurse-submodules https://github.com/ArduPilot/ardupilot.git cd ardupilot ``` 或者当遇到网络问题无法一次性拉取全部数据时可以尝试分步处理: ```bash git clone https://github.com/ArduPilot/ardupilot.git cd ardupilot git submodule update --init --recursive ``` 上述方法能够保证所有必需组件被同步下载下来[^3]。 #### 3. 更新子模块至最新状态 即使完成了初始克隆过程,仍需定期保持各部分处于最新版本之中。进入工作目录后运行如下脚本来实现这一目标: ```bash git pull origin master git submodule foreach 'git checkout $name || :' git submodule foreach 'git pull origin master || :' git submodule update --init --recursive ``` 这一步骤有助于解决可能存在的兼容性问题以及引入新特性支持。 #### 4. 检查可用硬件平台列表 在准备阶段完成后可查看当前环境中可供选择的目标设备清单: ```bash waf configure --list-boards ``` 该命令会打印出一系列由 Ardupilot 支持的具体飞行控制器型号名称[^2]。 #### 5. 开始实际编译流程 选定特定板卡作为输出对象之后即可启动正式建造环节。例如针对 Pixhawk 设备执行下面语句: ```bash waf clean waf configure -b sitl waf copter ``` 这里 `-b` 参数指定了所要生产的机型类别;而最后一条指令则指示生成对应类型的固件文件。 --- ### 总结 以上便是关于如何搭建 Ardupilot 固件开发所需软硬件条件的整体介绍。从基本软件栈部署直至最终产物产出均有所涉及。希望这份资料能帮助到正在探索无人机技术领域的朋友!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值