我试图了解如何在Swift中创建Vector,因为当我执行CGVectorMake()时,告诉我将dx和dy(衍生物)作为CGFloat传递。 如何创建仅包含该信息的Vector(行)?
任何人都可以解释一下吗?喜欢傻瓜?我在谷歌搜索但我仍然找不到简单的解释。
让我们说我想创建一个从点(0,0)到点(5,5)的向量。
答案 0 :(得分:7)
有许多可能的向量表示,一个是作为 "距离"或"置换"从一点到另一点(比较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个单位移动5个单位
在y方向",你会得到A(0, 0)
相同的结果
和B(5, 5)
。
A"线段"从(0,0)到(5,5)或从(2,3)到(7,8) 不能用a代表 单独矢量。你需要两个点,或一个点和一个矢量。