通过一点找最近线段
2013-08-13 09:20
169 查看
pair<SkPoint,SkPoint> GetPioneerSegment(SkPoint pt,vector<pair<SkPoint,SkPoint>> vectorOfSemgents) { pair<SkPoint , SkPoint > reValue; reValue.first = SkPoint::Make(0,0); reValue.second = SkPoint::Make(0,0); if (vectorOfSemgents.size() == 0) return reValue; vector<double> vectorOfLength; for (int i = 0 ; i < vectorOfSemgents.size() ; i++ ) { Wm5::Vector2d v_first = Wm5::Vector2d(vectorOfSemgents[i].first.fX, vectorOfSemgents[i].first.fY); Wm5::Vector2d v_second = Wm5::Vector2d(vectorOfSemgents[i].second.fX, vectorOfSemgents[i].second.fY); Wm5::Segment2d segment(v_first,v_second); Wm5::DistPoint2Segment2d distPt2Segment(Wm5::Vector2d(pt.fX,pt.fY),segment); vectorOfLength.push_back(distPt2Segment.Get()); } int nIndex = -1; if (vectorOfLength.size() == 0) return reValue; double minLength = *min_element(vectorOfLength.begin(),vectorOfLength.end()); for ( int i = 0 ; i < vectorOfLength.size() ; i++) { if (vectorOfLength[i] == minLength ) nIndex = i; } reValue = vectorOfSemgents[nIndex]; return reValue; }
相关文章推荐
- 好吧我承认最近一直入门python! 关于python3 和 python2 List 的一点区别 以及python 通过enumerate 内建函数遍历List
- 关于通过聚集索引以及堆来对比数据表组织结构-SQLServer最优实践 的一点看法
- 算法:平面上一些点,如何找某一点周围一圈最近的点?
- 自学走了不少弯路,最近的一点心得体会
- 百度地图,根据地图上任意一点的经纬度获取周边最近的POI位置信息
- 最近要写 发短信的代码,哈哈一点心得,大家共享
- VC++通过ini文件实现记录最近打开文件菜单
- 高项通过的一点感想和经验
- 关于最近布线的一点记录
- 最近一点小事
- 一停二看三通过,工作要放慢一点
- C#通过KD树进行距离最近点的查找
- 使用C++通过ADO访问access数据库的一点问题
- 最近的一点想法
- 最近Git迁移的一点心得
- 最近的一点感慨
- 通过Url跳转到自己的应用,如果让自己的应用可显示在最近列表
- 最近病毒猖獗-杀毒一点体会
- 最近很忙,没时间写点东西,copy一点东西,别人的。
- 最近练习悬腕摇的一点体会