假设四边形如下
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日
御风
时间: 2024-11-10 15:12:55