我试图了解如何在Swift中创建Vector,因为当我执行CGVectorMake()时,它告诉我将dx和dy(导数)作为CGFloat传递。
如何仅使用该信息创建矢量(线)?
谁能解释我?喜欢傻瓜吗?我在Google中搜索过,但仍然找不到简单的解释。
假设我要创建一个从点(0,0)到点(5,5)的Vector。
最佳答案
向量有很多可能的表示形式,一种是
从一个点到另一点的“距离”或“位移”(比较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)
。从(0,0)到(5,5)或从(2,3)到(7,8)的“线段”
不能用
向量。您将需要两个点,或者一个点和一个向量。
关于ios - Swift CGVector如何使用dx和dy(衍生)创建?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38030251/