【发布时间】:2023-03-04 04:43:02
【问题描述】:
我正在编写游戏,我需要检测两个 CGRect 之间的交叉点。要做到这一点,我没有问题。我喜欢这样:
CGRect rect1 = CGRectMake (x1, y1, a1, b1);
CGRect rect2 = CGRectMake (x2, y2, a2, b2);
if (CGRectIntersectsRect(rect1, rect2))
{
//do some stuff...
}
所以我没有问题。但是如果有可能从这两个 CGRect 中知道精确的交点,我会吗? 如果可能的话,怎么做?
谢谢!
【问题讨论】:
-
交点到底是什么意思?正如@H2CO3 在 cmets 中指出的那样,您将有 两个 交点。我将把它留给更正式的数学头脑来决定两个只有一个共同点的矩形是否可以说是相交的。
-
我想从两个 CGRect 中得到一个近似的交点。
-
您可能知道,数字计算机不倾向于做任何“近似”的事情,因此您需要更加具体。对我来说,这听起来像是你需要一个全新的问题,而不是在这个问题之上堆积一个新的规范。
-
我知道计算机中没有近似值,但计算机语言的精确度可能是用户体验的近似值。有了速度,您就看不到交点是否高两个像素。这就是我所说的近似值。
标签: ios objective-c intersection detect cgrect