六边形溯源追踪算法编程思想与代码
来源:互联网 发布:informix查看数据库 编辑:程序博客网 时间:2024/06/10 03:38
六边形算法简介
基于浓度梯度的六边形化学源追踪算法是Russell在2003年提出了。该追踪算法的主要思路如下:
While(循环停止条件){
If(
Then 在n点处逆时针旋转60°,前进固定步长m;
Else
在n点处顺时针旋转60°,前进固定步长m;
End if
}
其中,为在第n个点处所测化学物质的浓度,m是算法设定的步长。
如下图5.1所示,当,即B点浓度高于A点,且在n-1处是顺时针旋转时,那么在第n点(C点)处,将逆时针旋转60°,即在C点处的方向为垂直向上,偏向了浓度高的区域,符合期望;当,即A点浓度高于B点,且在n-1处是逆时针旋转时,那么在第n点(D点)处,将逆时针旋转60°,即从D点到E点,路径为:A-B-D-E,偏向了浓度高的区域,符合期望。
图5.1 六边形追踪算法
六边形算法流程图
将基于浓度梯度的六边形溯源追踪算法的实现主要包括两大部分:测量值传回电脑、下一点方向及相对位移的确定。算法流程图如下:图5.2 六边形溯源算法流程图
5.3 第n点处的方向及相对位移
在第n个点处测量好电导率并传回电脑的监控软件后,根据第n-2点与n-1点处的浓度大小和第n-1点处的旋转方向,确定第n+1个点的位置。
在编程时,需要知道n-1点和n点的坐标,计算出这两个点所构成线段的斜率,再根据方向策略确定n点和n+1点所构成线段的斜率,由固定步长计算得到在第n点处的相对位移。根据斜率可分为特殊情况和一般情况。
5.3.1 特殊情况
确定第n点方向及相对位移,特殊情况包括斜率为无穷大和斜率为0这两大类,又进一步分为下图中的四种情况:
对应的n+1点分别如下:
5.3.2 一般情况
当第n-1和n点构成的线段斜率存在且不为0时,为一般情况。根据第n-1点和第n点的相对位置,可分为下图中的四种情况:
变量设置如下表:
阅读全文
2 0
- 六边形溯源追踪算法编程思想与代码
- 常用编程思想与算法
- 常用编程思想与算法
- skye答录机编程思想与代码
- java编程思想与算法设计
- 六边形的代码画法
- 总结八大排序算法的基本思想与代码实现
- C语言学习-编程启蒙思想与算法初识
- CQRS与事件溯源概念
- EM算法与思想
- 算法思想与数据结构
- 算法与思想结合
- EM算法与思想
- 正交匹配追踪(OMP)与C++代码
- 光线追踪算法理论与实践
- 排序算法思想及代码
- 编程的思想、数据结构、算法
- 【编程思想】思想与语言基础孰重孰轻?
- Oracle创建用户与导入导出
- iTOP-4412嵌入式开发历程
- Android Spinner getView getDropDownView 的区别
- jquery之效果操作
- 《道德经》第十八章
- 六边形溯源追踪算法编程思想与代码
- QT获取控件焦点,判断对象类型,模拟发送按键消息
- 如何给信号加噪声,matlab
- SeleniumIDE的安装、使用入门
- 分针网—每日分享:nodejs取参四种方法req.body,req.params,req.param,req.body
- Memcache服务搭建
- 海思3518C 4G模块移植及运用
- Android NFC的初次使用——公交卡信息读取
- mysql查询今天、昨天、上周