CGPoints如何成为载体?

Evi*_*gis 0 math vector objective-c cgpoint

假设您有以下方法:

CGPoint vectorSubtraction(CGPoint a, CGPoint b) {
    return CGPointMake(a.x - b.x, a.y - b.y);
}
Run Code Online (Sandbox Code Playgroud)

你使用以下几点:

Point A: (1,4)
Point B: (10,3)
Run Code Online (Sandbox Code Playgroud)

如果您使用该vectorSubtraction方法,您会得到:

A POINT at (9,-1).

现在,我会理解是否(9,-1)是从第一个点到第二个点的向量(并且它是),但我不明白为什么向量本身是一个POINT.根据定义,矢量具有方向和幅度.一个点怎么能有方向和幅度?

pax*_*blo 5

对于那些对这个问题的背景感兴趣的人来说,几乎可以肯定的是Ray Wenderlich的Sprite Kit Tutorial for Beginners.搜索标题的链接"Shooting Projectiles".

就可以将点视为向量的情况而言,如果向量的另一端是隐式的而不是显式的,则可以.

在这种特殊情况下,该点被视为从原点(0,0)到给定点的向量.

所以实际的矢量计算是(你似乎有点反转的点):

(0,0)->(10,3) - (0,0)->(1,4) = (0,0)->(9,-1)
Run Code Online (Sandbox Code Playgroud)