首页 > 代码库 > 取任意四边形最长边
取任意四边形最长边
假设四边形如下
2-----1
| |
| |
3-----0
假设点集合按照0-3排序,有:Point[0]、Point[1]、Point[2]、Point[3]四个元素。
首先要用到的是两点坐标求距离公式:
//传入两点坐标,计算两点之间的距离
float GetDistance(const Point A, const Point B){
//公式:√[(x1-x2)^2+(y1-y2)^2] return sqrt(pow((A.x - B.x),2) + pow((A.y - B.y),2));}
然后遍历四点,计算每个相邻点之间的距离
//--------------------------//先取得四点坐标point = ??; //四边形四个角点坐标//--------------------------float len = 0; //最长距离float l; //临时距离//--------------------------//遍历四点,计算相邻两点距离for(int i = 0; i < 4; i++){ //取得下一个点位置 int j = (i + 1) % 4; //计算出两点坐标距离 l = GetDistance(point[i],point[j]); //判断是否最长距离 if(l > len) { //更新最长距离 len = l; }}//--------------------------std::cout << "最长距离:" << len << std::endl;
2015年1月22日
御风
取任意四边形最长边
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。