我试图理解如何在 Swift中创建Vector,因为当我执行CGVectorMake()时,告诉我将dx和dy(衍生物)作为CGFloat传递. 如何创建仅包含该信息的Vector(行)? 有人能解释一下吗?喜欢傻瓜?我在谷歌搜索但
如何创建仅包含该信息的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代表单独矢量.你需要两个点,或一个点和一个矢量.