Iphone 如何检测三角形区域中的触摸

Iphone 如何检测三角形区域中的触摸,iphone,cocoa-touch,Iphone,Cocoa Touch,对于我的应用程序,我需要将iphone屏幕按对角线方向分为4个部分,并检测哪个部分被触摸。 我很困惑,因为我的区域是三角形而不是正方形,我找不到一个解决方案来检测哪个三角形被碰过 我用方法touchesBegind获得接触点,我被卡住了…:(如何定义三角形形状并测试它是否被触摸?使用View?图层 如果有人能帮我,那就太酷了。给定矩形的宽度、高度和矩形中某个点的x、y,你可以这样做 int s = y * width / height; int code = (x > s) + 2*(x

对于我的应用程序,我需要将iphone屏幕按对角线方向分为4个部分,并检测哪个部分被触摸。 我很困惑,因为我的区域是三角形而不是正方形,我找不到一个解决方案来检测哪个三角形被碰过

我用方法touchesBegind获得接触点,我被卡住了…:(如何定义三角形形状并测试它是否被触摸?使用View?图层


如果有人能帮我,那就太酷了。

给定矩形的宽度、高度和矩形中某个点的x、y,你可以这样做

int s = y * width / height;
int code = (x > s) + 2*(x > width - s);

代码将是一个从0到3的数字,表示选择了哪个零件。

本网站提供了一些算法,用于检查点是否位于三角形内

根据应用程序的运行速度,您可能需要预计算并存储一个矩阵,该矩阵将包含所有可能的x和y坐标。该矩阵如下所示:

[X][Y][三角形内的点_]


其中,X和Y是屏幕中的坐标,“三角形”是指向该点上三角形的指针。

基本上无法想象,通过6502的方法可能实现的任何边际加速,至少在类似iPhone touch事件的情况下,查找表的内存成本是合理的。