project
..
|
#include "Eigen/Dense"
#include <vector>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <ctime>
#include <cmath>
#include <algorithm>
#include <sys/time.h>
Go to the source code of this file.
Typedefs | |
typedef vector< double > | one_Tuple |
typedef vector< one_Tuple > | two_Tuple |
typedef vector< two_Tuple > | three_Tuple |
Functions | |
void | sortarry (two_Tuple &list, int temp) |
对一个二维的vector<vector<double>>的list进行按照每一个vector<double>的第2个元素进行升序 More... | |
bool | finditems (double value, two_Tuple &list) |
判断value元素是否属于2维vector中的第一个元素,如果value属于list中返回true,否则返回false. More... | |
bool | finditems (double value, one_Tuple &list) |
判断value元素是否属于1维vector的list,如果value属于list中返回true,否则返回false. More... | |
int | classification (const one_Tuple &list_one, three_Tuple &list) |
坐标点聚类算法,即判断一维的vector<double>类型是否属于交点坐标聚类集合list中的一类,如果属于其中的一类, 则将该1维的vector归入到该类中,否则单独归为list中新的一类. More... | |
bool | isequal (const two_Tuple &list, const two_Tuple &list1) |
判断两个二维vector即list和list1是否相等,如果两个相等,返回true.否则返回false. More... | |
void | productiondot (one_Tuple &m_data, two_Tuple &angle, three_Tuple &list_three, int &numberruncount) |
测向线交点坐标聚类算法,即第一步读取靶点和测向线的数据信息,将两两测向线进行相交的到交点坐标. 第2步即将交点坐标送入坐标聚类算法中,进行坐标点的聚类.其中m_data为靶点的坐标.angle为每个靶点对应的测向 线的角度信息.list_three为输出的坐标点聚类集合.numberruncount为测向线数量用于剔除独立的测向线聚类集合. More... | |
void | clearreplace (three_Tuple &means_result, three_Tuple &f_result, int &numberruncount) |
将坐标点聚类集合转化为测向线聚类集合.其中means_result为输入的坐标点聚类集合. f_result为输出的测向线聚类集合.numberruncount为测向线数量用于剔除独立的测向线聚类集合. More... | |
void | Demo4Mult_Targetlocalization (three_Tuple &f_result, two_Tuple &list_two, string &str) |
将测向线聚类集合送入目标定位算法中,进行目标点定位.其中f_result为输入的测向线聚类集合. list_two为所有目标点的坐标.str为目标点的坐标信息以文件形式输出的文件路径. More... | |
void | Demo1Single_Target (one_Tuple &angle, one_Tuple &data, MatrixXd &result) |
单目标定位算法根据输入的测向线角度和靶点坐标求解目标点的具体位置信息. data为所有靶点的坐标.angle为每个靶点对应测向线的角度信息.定位出来的目标点坐标将保存在result. More... | |
void | Demo2 (one_Tuple &m_data, two_Tuple &angle, three_Tuple &list_three, three_Tuple &list_three2) |
对靶点数据和测向线数据通过聚类算法得到测向线聚类坐标集合.其中m_data为所有靶点的坐标. angle为每个靶点对应测向线的角度信息.交点坐标聚类集合为list_three,测向线组聚类集合为list_threetwo. More... | |
void | Demo3count (two_Tuple &A, two_Tuple &B) |
判断测向线组中任意两类是否具有重复的测向线信息.将第一类中非重复的部分归入第2类中. A为一类的测向线聚类组.B为另一类的测向线聚类组. More... | |
void | Demo3intersect (two_Tuple &A, two_Tuple &B, ofstream &out_stream, int numberruncount) |
判断测向线组中任意两类是否具有重复的测向线信息.将重复的多余的部分进行删除. A为一类的测向线聚类组. B为另一类的测向线聚类组.numberruncount为测向线数量用于剔除独立的测向线聚类集合. More... | |
void | Demo3 (three_Tuple &f_result, three_Tuple &list_three, string &str, int &numberruncount) |
判断一类测向线聚类组与整个测向线聚类集合中每一类是否具有重复的测向线信息.将重复多余的测向线信息进行删除,同时更新测向线聚类集合. A为一类的测向线聚类组.B为所有测向线聚类集合.numberruncount为测向线数量用于剔除独立的测向线聚类集合. More... | |
void | Demo3remove (two_Tuple &A, three_Tuple &B, ofstream &out_stream, int &numberruncount) |
将测向线聚类集合进行测向线野值检测. 将重复多余的测向线信息进行删除,同时更新测向线聚类集合.将删除的测向线信息保存到文件中. f_result为一类的测向线聚类组.list_three为所有测向线聚类集合.str为删除的测向线信息以文件形式输出的路径.numberruncount为测向线 数量用于剔除独立的测向线聚类集合. More... | |
bool | Demo5inputdata (two_Tuple &angles, one_Tuple &m_coordinate) |
测试数据数据通过命令行进行在线输入,对输入的靶点数据坐标和测向线角度信息进行保存,剔除重复输入的信息. 输入的测向线角度信息保存在angles,输入的靶点坐标信息保存在m_coordinate.当输入出现数据格式出现错误时,返回false.正确返回true. More... | |
Variables | |
int | numberruncount |
typedef vector<double> one_Tuple |
使用one_Tuple代替vector<double>
typedef vector<two_Tuple> three_Tuple |
使用three_Tuple代替vector<vector<vector<double>>>
int classification | ( | const one_Tuple & | list_one, |
three_Tuple & | list | ||
) |
坐标点聚类算法,即判断一维的vector<double>类型是否属于交点坐标聚类集合list中的一类,如果属于其中的一类, 则将该1维的vector归入到该类中,否则单独归为list中新的一类.
list_one是vector<double>类型 | |
list为vector<vector<vector<double>>>类型 |
void clearreplace | ( | three_Tuple & | means_result, |
three_Tuple & | f_result, | ||
int & | numberruncount | ||
) |
将坐标点聚类集合转化为测向线聚类集合.其中means_result为输入的坐标点聚类集合. f_result为输出的测向线聚类集合.numberruncount为测向线数量用于剔除独立的测向线聚类集合.
means_result为vector<vector<double>>类型 | |
f_result为vector<vector<double>>类型 | |
numberruncount为int类型 |
单目标定位算法根据输入的测向线角度和靶点坐标求解目标点的具体位置信息. data为所有靶点的坐标.angle为每个靶点对应测向线的角度信息.定位出来的目标点坐标将保存在result.
angle为vector<double>类型 | |
data为vector<double>类型 | |
result为MatrixXd类型 |
void Demo2 | ( | one_Tuple & | m_data, |
two_Tuple & | angle, | ||
three_Tuple & | list_three, | ||
three_Tuple & | list_three2 | ||
) |
对靶点数据和测向线数据通过聚类算法得到测向线聚类坐标集合.其中m_data为所有靶点的坐标. angle为每个靶点对应测向线的角度信息.交点坐标聚类集合为list_three,测向线组聚类集合为list_threetwo.
angle为vector<double>类型 | |
data为vector<double>类型 | |
result为MatrixXd类型 |
void Demo3 | ( | three_Tuple & | f_result, |
three_Tuple & | list_three, | ||
string & | str, | ||
int & | numberruncount | ||
) |
判断一类测向线聚类组与整个测向线聚类集合中每一类是否具有重复的测向线信息.将重复多余的测向线信息进行删除,同时更新测向线聚类集合. A为一类的测向线聚类组.B为所有测向线聚类集合.numberruncount为测向线数量用于剔除独立的测向线聚类集合.
A为vector<vector<double>>类型 | |
B为vector<vector<vector<double>>>类型 | |
numberruncount为int类型 |
判断测向线组中任意两类是否具有重复的测向线信息.将第一类中非重复的部分归入第2类中. A为一类的测向线聚类组.B为另一类的测向线聚类组.
A为vector<vector<double>>类型 | |
B为vector<vector<double>>类型 |
判断测向线组中任意两类是否具有重复的测向线信息.将重复的多余的部分进行删除. A为一类的测向线聚类组. B为另一类的测向线聚类组.numberruncount为测向线数量用于剔除独立的测向线聚类集合.
A为vector<vector<double>>类型 | |
B为vector<vector<double>>类型 | |
numberruncount为int类型 |
void Demo3remove | ( | two_Tuple & | A, |
three_Tuple & | B, | ||
ofstream & | out_stream, | ||
int & | numberruncount | ||
) |
将测向线聚类集合进行测向线野值检测. 将重复多余的测向线信息进行删除,同时更新测向线聚类集合.将删除的测向线信息保存到文件中. f_result为一类的测向线聚类组.list_three为所有测向线聚类集合.str为删除的测向线信息以文件形式输出的路径.numberruncount为测向线 数量用于剔除独立的测向线聚类集合.
A为vector<vector<double>>类型 | |
B为vector<vector<vector<double>>>类型 | |
str为string类型 | |
numberruncount为int类型 |
void Demo4Mult_Targetlocalization | ( | three_Tuple & | f_result, |
two_Tuple & | list_two, | ||
string & | str | ||
) |
将测向线聚类集合送入目标定位算法中,进行目标点定位.其中f_result为输入的测向线聚类集合. list_two为所有目标点的坐标.str为目标点的坐标信息以文件形式输出的文件路径.
f_result为vector<vector<double>>类型 | |
list_two为vector<vector<double>>类型 | |
str为string类型 |
测试数据数据通过命令行进行在线输入,对输入的靶点数据坐标和测向线角度信息进行保存,剔除重复输入的信息. 输入的测向线角度信息保存在angles,输入的靶点坐标信息保存在m_coordinate.当输入出现数据格式出现错误时,返回false.正确返回true.
angles为vector<vector<double>>类型 | |
m_coordinate为<vector<double>类型 |
bool finditems | ( | double | value, |
two_Tuple & | list | ||
) |
判断value元素是否属于2维vector中的第一个元素,如果value属于list中返回true,否则返回false.
value为double类型 | |
list是vector<vector<double>>类型 |
bool finditems | ( | double | value, |
one_Tuple & | list | ||
) |
判断value元素是否属于1维vector的list,如果value属于list中返回true,否则返回false.
list是vector<double>类型 | |
value为double类型 |
判断两个二维vector即list和list1是否相等,如果两个相等,返回true.否则返回false.
list为vector<vector<double>>类型 | |
list1为vector<vector<double>>类型 |
void productiondot | ( | one_Tuple & | m_data, |
two_Tuple & | angle, | ||
three_Tuple & | list_three, | ||
int & | numberruncount | ||
) |
测向线交点坐标聚类算法,即第一步读取靶点和测向线的数据信息,将两两测向线进行相交的到交点坐标. 第2步即将交点坐标送入坐标聚类算法中,进行坐标点的聚类.其中m_data为靶点的坐标.angle为每个靶点对应的测向 线的角度信息.list_three为输出的坐标点聚类集合.numberruncount为测向线数量用于剔除独立的测向线聚类集合.
m_data为vector<double>类型 | |
angle为vector<vector<double>>类型 | |
list_three为vector<vector<double>>类型 | |
numberruncount为int类型 |
void sortarry | ( | two_Tuple & | list, |
int | temp | ||
) |
对一个二维的vector<vector<double>>的list进行按照每一个vector<double>的第2个元素进行升序
list是vector<vector<double>>类型 | |
temp为int类型 |
int numberruncount |
doxygen对c++代码注释参考:https://blog.csdn.net/czyt1988/article/details/8901191