ios - 圆框相交

标签 ios frame geometry

我正在尝试找出如何判断我的 2 个圆形框架是否相互交叉。因为它们是圆形的,所以我不能使用 cgrectintersectsrect 并且我不确定如何去做。是否有 cgframeintersectsframe 或类似的东西?

我做了一轮 uiimageviews

circle1 = [[uiimageview alloc] initwithframe:cgrectmake (100,100,50,50);
circle1.layer.cornerradius = 25;
circle1.clipstobounds = yes;
[self.view addsubview:circle1];

除了 x 和 y 原点不同外,另一个圆基本上也是这样 我也已经进口quartzcore

最佳答案

只需计算圆心之间的距离并检查它是否小于半径:

float distanceBetweenCenters = sqrt(pow(circle1.center.x - circle2.center.x, 2) + 
                                   pow(circle1.center.y - circle2.center.y, 2));
BOOL isIntersecting = distanceBetweenCenters <= 2 * radius;

这将告诉您圆是否相交或相互接触。替换 <=<排除“触摸”。

关于ios - 圆框相交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23187386/

相关文章:

java - 计算圆周上一点的角度

iphone - iOS 上的圆形按钮

c# - 如何在 Xamarin 表单中使用 MVVM 仅为 Collection View 中的选定框架设置颜色?

ios - 有没有办法在该对象的动画期间获取 UIImageView 位置?

opencv - 简单的帧差异

sql - 与 Sql Geometry 字段不同的棘手 sql

ios - 是否有任何通知表明 iOS 会将设备置于 "sleep” 状态?

iOS : NSString Evaluate String Expression

ios - iOS 11 中的导航栏自定义 ImageView 问题

ios - 如何使用 iOS 7 自定义转换在顶部呈现半模态视图 Controller