iOS 如何判断一个点在圆、方框、三角形区域内?
来源:互联网 发布:电脑网络参数怎么设置 编辑:程序博客网 时间:2024/05/17 08:04
1.方框
//苹果官方方法可以判断+ (BOOL)point:(CGPoint)point inSquareArea:(CGRect)rect { return CGRectContainsPoint(rect, point);}
2.圆
//圆心到点的距离>?半径+ (BOOL)point:(CGPoint)point inCircleRect:(CGRect)rect { CGFloat radius = rect.size.width/2.0; CGPoint center = CGPointMake(rect.origin.x + radius, rect.origin.y + radius); double dx = fabs(point.x - center.x); double dy = fabs(point.y - center.y); double dis = hypot(dx, dy); return dis <= radius;}
3.三角形
//点都否在三边线的右边?这个应该不是最优解+ (BOOL)point:(CGPoint)point inTriangleVertexPointsArea:(NSArray<NSValue *> *)vertexPoints { if (vertexPoints.count == 3) { CGPoint point0 = [vertexPoints[0] CGPointValue]; CGPoint point1 = [vertexPoints[1] CGPointValue]; CGPoint point2 = [vertexPoints[2] CGPointValue]; BOOL b0 = [self sign:point point1:point0 point2:point1] < 0.0f; BOOL b1 = [self sign:point point1:point1 point2:point2] < 0.0f; BOOL b2 = [self sign:point point1:point2 point2:point0] < 0.0f; return ((b0 == b1) && (b1 == b2)); } return NO;}+ (CGFloat)sign:(CGPoint)point0 point1:(CGPoint)point1 point2:(CGPoint)point2 { return (point0.x - point2.x) * (point1.y - point2.y) - (point1.x - point2.x) * (point0.y - point2.y);}
阅读全文
0 0
- iOS 如何判断一个点在圆、方框、三角形区域内?
- iOS 如何判断一个点在圆、方框、三角形区域内?
- 判断一个点是否在三角形区域内
- iOS判断一个点是否在一个区域内
- GDI+如何判断一个点是否在区域内
- 判断一个点在指定区域内 多边形,圆
- 如何判断一个点在三角形之外
- 如何判断一个点在三角形内部
- 判断一个点是否在多边形区域内
- 判断一个点是否在指定区域内
- 判断一个点是否在指定区域内
- 判断一个点是否在指定区域内
- 判断一个点是否在多边形区域内
- 判断一个点是否在多边形区域内
- 判断一个点是否在多边形区域内
- 判断一个点是否在多边形区域内
- 如何判断一个点是否在一个闭合区域内(无凹进的顶点)
- 在Android里如何判断一个指定的经纬度点是否落在一个多边形区域内
- 常用的dos命令
- poj-1979-Red and Black
- ssh相关
- CUDA Samples: Julia
- ASP.NET MVC 实现 AJAX 跨域请求
- iOS 如何判断一个点在圆、方框、三角形区域内?
- Android 常用的网络框架
- 欧几里得游戏(简单博弈)
- 结构体
- TUXEDO中间件介绍及应用
- SetupDiGetClassDevs-使用SetupDi系列函数进行设备信息的管理
- JAVA设计模式之代理模式
- session.createQuery()与createSQLQuery()区别
- 关于sharesdk微信登录遇到的坑