博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift 计算三角形角度、两条边夹角
阅读量:6923 次
发布时间:2019-06-27

本文共 827 字,大约阅读时间需要 2 分钟。

/// 计算三点之间的角度    ///    /// - 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上的,左上角为原点,所以直接获取点即可。

 

转载地址:http://evkjl.baihongyu.com/

你可能感兴趣的文章
淘宝网采用什么技术架构来实现网站高负载分析
查看>>
ssh 无密码登陆、执行命令
查看>>
一小型项目中并行计算缓慢的问题排查(二)
查看>>
Wordpress 网站搭建及性能监控方法详解!
查看>>
Android里面所说的Looper
查看>>
Hadoop(待完善)
查看>>
Linux 系统延时任务和定时任务
查看>>
Java远程服务器访问- Telnet VS Jsch
查看>>
Python学习笔记(一)
查看>>
postgis的shp2pgsql使用
查看>>
代码行数统计 / 快速定义枚举类型
查看>>
适配器模式
查看>>
模板方法模式
查看>>
Win 10 Mobile中内置Linux与Android兼容层
查看>>
你真的完全了解Java动态代理吗?看这篇就够了
查看>>
【成都首脑智能】智能家居中无线路由器安全的重要性
查看>>
Linux初级优化
查看>>
怎样快速将PDF转换成Excel文件
查看>>
多功能切菜机的精华所在
查看>>
企业运营系统理念践行者——张恩嘉
查看>>