本文标题:WebGL第十六课:直角坐标系中的位移详解| 8月更文挑战
引子
上次课提到了位移
,但是并没有给出一个标准的定义,这是不好的。这可能让人产生不正确的思维,好像
位移代表了某人或者某个物体在平面上的移动路径
。
这是不对的,位移
不能代表移动路径
,自然的,向量
也不能代表移动路径
。
位移的定义
平面上有两个点A和B,我们将这两个点之间的位移向量也画了出来,如下图:
这个向量画在这, 很容易就产生一个错误的想法:
一个蚂蚁沿着这个线,从A爬到B点, 这就叫位移。【X
】
什么是对的呢:
一个蚂蚁,从A出发,无论中间他怎么爬,反正最后到了B点,这才是位移。【✔️
】
也就是说,两点间的位移代表的是初始化
和最终态
之间的位置变动,不包含中间过程
。
用一个实际的例子:你从家里出发去公司,你路上绕来绕去,一会公交,一会地铁,最终到了公司,那么你整个的位移,就是【家
】和【公司
】这两个位置
之间的事情,和你路上没啥联系。
点通过位移
变成另一个点
根据上面位移的概念,很容易得出:
一个点A,可以通过相应的位移,得出另一个点B。
而位移可以通过向量来表示,那么也就是说,一个点A可以通过加上某个向量,得出另一个点B。
这有啥用呢?
在最前面的几次课,我们使用 WebGL 画了一个圆。好几百个点,对吧。
如果我们想移动这个圆的圆心,我们就可以将这好几百个点,同时加上某个向量,进而达到我们的目标。
用向量加法来表达位移
其实用向量来表达位移是很简单的:
上面这个式子,就是说,一个点 (1, 2)
经过 (2, 3)
的位移,得到了 点(3, 5)
。
也就是说,向量加法
,本身就能代表点的位移
。
写成一般表达式:
一个综合例子(向量减法
和向量的模
)
假如你在打dota,你自己是兔子,你在A(2, 2)
点的时候,中了血魔大招,你虽然及时停下了脚步,但是你的队友是屠夫,他一钩子就拉住了你,并且将你勾到他身边,也就是B(-2, 1)
点。假设血魔大招,每一个单位掉1000滴血,问,你最后掉了多少血?(无视所有防御,护甲,魔抗等,简化计算)
解答,只要算出,从你到屠夫之间的位移,然后把长度算出来就好了。
也就是你的位移是
根据这个向量的模的公式,计算得出长度:
根据上面给的伤寒值:你最后掉血 4.12 * 1000 = 4210
不好意思,你回泉水休息一下吧。
正文结束,下面是答疑
小瓜瓜看了本次课,啥也没说,直接走起搞一局去了
-
答:小瓜瓜并没有在玩游戏,他只是去实践一下向量和位移的概念了。