【发布时间】:2010-05-18 02:11:40
【问题描述】:
我正在开发一个 iPhone 应用程序,我正在尝试制作与线-圆碰撞检测有关的东西。我正在使用直线的斜率并检查圆的坐标是否满足方程 y = mx + b。但是,由于当前原点 (0,0) 位于左上角,因此很难获得斜率。有什么办法可以转换坐标使原点位于屏幕的中心?
【问题讨论】:
标签: iphone coordinates
我正在开发一个 iPhone 应用程序,我正在尝试制作与线-圆碰撞检测有关的东西。我正在使用直线的斜率并检查圆的坐标是否满足方程 y = mx + b。但是,由于当前原点 (0,0) 位于左上角,因此很难获得斜率。有什么办法可以转换坐标使原点位于屏幕的中心?
【问题讨论】:
标签: iphone coordinates
假设您的实际原点在屏幕坐标中的 200,200 处。为什么不在计算之前从相关点中减去 200,200 呢?然后,您进行计算,就好像原点是 0,0。坡度不会改变。 顺便说一句,iPhone 有足够的三角函数。我通过将点到中点的距离与圆的已知半径进行比较来完成圆中的点相交。您可以使用与要检查的线相同的斜率的圆切线来查找从中点绘制的线的交点并将长度与半径进行比较。无论如何,一切都在 CGFloats 中,我什至无法减慢 3G 速度。
【讨论】: