当前位置 : 主页 > 手机开发 > ios >

ios – 如何使用dx和dy(派生)创建Swift CGVector?

来源:互联网 收集:自由互联 发布时间:2021-06-11
我试图理解如何在 Swift中创建Vector,因为当我执行CGVectorMake()时,告诉我将dx和dy(衍生物)作为CGFloat传递. 如何创建仅包含该信息的Vector(行)? 有人能解释一下吗?喜欢傻瓜?我在谷歌搜索但
我试图理解如何在 Swift中创建Vector,因为当我执行CGVectorMake()时,告诉我将dx和dy(衍生物)作为CGFloat传递.
如何创建仅包含该信息的Vector(行)?

有人能解释一下吗?喜欢傻瓜?我在谷歌搜索但我仍然找不到简单的解释.

假设我想创建一个从点(0,0)到点(5,5)的向量.

有许多可能的向量表示,一个是作为
从一个点到另一个点的“距离”或“位移”(比较 Euclidean vector: Representations).

从这个意义上说,从(0,0)到(5,5)的向量与
从(2,3)到(7,8)的向量,以及从点A到点B的向量
可以计算为

let pA = CGPoint(x: 2, y: 3) // Point A(2, 3)
let pB = CGPoint(x: 7, y: 8) // Point B(7, 8)
let vecAB = CGVector(dx: pB.x - pA.x, dy: pB.y - pA.y) // Vector from A to B
print(vecAB) // CGVector(dx: 5.0, dy: 5.0)

所以dx,dy代表“delta X”和“delta Y”,即距离
x和y方向上的点.在上面的例子中,你可以
将vecAB读作“在x方向上移动5个单位和5个单位
在y方向“,你会得到相同的结果A(0,0)
和B(5,5).

从(0,0)到(5,5)或从(2,3)到(7,8)的“线段” 不能用a代表单独矢量.你需要两个点,或一个点和一个矢量.

网友评论