zoukankan      html  css  js  c++  java
  • 取任意四边形最长边

    假设四边形如下

    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日

    御风

  • 相关阅读:
    null和undefined的区别
    "NetworkError: 404 Not Found fontawesome-webfont.woff?v=4.0.3
    php字符串
    php数组
    Oracle 和 MySQL的区别(不完整)
    拦截器和过滤器的区别
    SpringMVC和Struts2的区别
    Redis的介绍
    SpringBoot入门(2)
    SpringBoot入门(1)
  • 原文地址:https://www.cnblogs.com/yufengs/p/4241778.html
Copyright © 2011-2022 走看看