• Swift 计算三角形角度、两条边夹角


        /// 计算三点之间的角度
        ///
        /// - Parameters:
        ///   - p1: 点1
        ///   - p2: 点2(也是角度所在点)
        ///   - p3: 点3
        /// - Returns: 角度(180度制)
        func getAnglesWithThreePoints(p1:CGPoint,p2:CGPoint,p3:CGPoint) -> Double {
            //排除特殊情况,三个点一条线
            if (p1.x == p2.x && p2.x == p3.x) || ( p1.y == p2.x && p2.x == p3.x){
                return 0
            }
            
            let a = fabs(p1.x - p2.x)
            let b = fabs(p1.y - p2.y)
            let c = fabs(p3.x - p2.x)
            let d = fabs(p3.y - p2.y)
            
            if (a < 1.0 && b < 1.0) || (c < 1.0 && d < 1.0){
                return 0
            }
            let e = a*c+b*d
            let f = sqrt(a*a+b*b)
            let g = sqrt(c*c+d*d)
            let r = Double(acos(e/(f*g)))
            return r        //弧度值
            
    //        return (180*r/Double.pi)      //角度值
    
        }

    P2位置就是要计算的角度。 

    ps:这个坐标点是基于iOS上的,左上角为原点,所以直接获取点即可。

  • 相关阅读:
    路由聚合(路由发布时)
    RIP
    路由选择和静态路由
    传输介质和IP地址
    升级VRP
    文件系统
    命令行基础
    常见的网络设备
    mysql基本的修改表的命令
    mysql的外键知识
  • 原文地址:https://www.cnblogs.com/yajunLi/p/9204799.html
Copyright © 2020-2023  润新知