圆形框架相交

时间:2014-04-20 20:44:53

标签: 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不同的原点 我也alreday进口quartzcore

1 个答案:

答案 0 :(得分:1)

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

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

这将告诉您圆圈是相互交叉还是相互接触。将<=替换为<以排除&#39;触摸&#39;。