ios - 我如何计算 Swift 2 中坐标的反射

标签 ios swift math

与常见的数学轴一样,原点 (0,0) 位于轴的中心,如果我没有记错的话,Swift 中的原点(使用 Sprite Kit)位于左下角。

所以,我需要在我接触过的 Sprite 上计算完全相反的 x,y,但我还没有找到方法,我不太擅长数学。

在法线轴中,就像给出坐标 A (-7,8) 一样简单,我要查找的数字是 (7,-8)。但如何才能用非零轴得到同样的结果呢?那里有所有积极的值(value)观。

为了更好地演示,我刚刚制作了这张图片:

enter image description here

外框边界将是我的手机屏幕,那将是我真正的原点 0,0 对吧?

现在,想象一下我刚刚点击了该框的坐标 (13,13)。盒子的高度和宽度为 12 像素 x 12 像素。 该点方框的原点是 (10,10)。

我想得到的点是(19,19)。我怎样才能做到这一点?谢谢。

最佳答案

都是基础数学。

首先。找到中心点:

centerPoint = (sprite.origin.x + sprite.width/2, sprite.origin.y + sprite.height/2)

其次。找到反射点:

假设您触摸touchPoint

然后:

reflectPoint = (2 * centerPoint.x - touchePoint.x, 2 * centerPoint.y - touchePoint.y)

关于ios - 我如何计算 Swift 2 中坐标的反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38003593/

相关文章:

java - 将java小程序的图形内容保存到图像文件无法正常工作

ios - 快速将没有 nib 文件的现有 UIViewControllers 添加到 UITabBarController

ios - CoreData和MagicalRecord-仅在应用用户点击时,我应该如何正确处理更新数据?

ios - 核心数据迁移问题: storePath cannot be initiated

swift - 循环遍历场景中的所有对象/ Sprite

python - 在任意给定方向上按缠绕顺序对 4 个 3D 坐标进行排序

iphone - 使用iphone 5的后置麦克风

ios - 如何将数组保存到实体的属性?

ios - 作为 Y 的子类的类型 X 的向下转换集

math - 2D 碰撞响应 - 旋转、移动的多边形撞击墙壁