WebGL第十五课:直角坐标系中向量应用-位置和位移| 8月更文挑战

1,250 阅读7分钟
本文标题:WebGL第十五课:直角坐标系中向量应用-位置和位移| 8月更文挑战

引子

在这里,不得不再次提一次向量:一堆数,放在一起而已。

为什么总是要强调这一点,或者说我这个说法到底是不是对的呢?

如果你用过c++,肯定知道里面的vectorvector的含义就是向量,而c++中的vector基本上就是一个动态的数组。这与我们的说法是一致的。

之所以强调这一点,是为了简化我们的思维,不要一提起向量,满脑子都是图形学里的那些概念,或者中学里学过的那些概念,那些只不过是向量这个数学工具特定领域的实际应用而已。

假设我们的目标是熟练掌握向量这个工具的话,那么:

如果我们一提起向量,就想到一堆数竖着放,这个画面感的话,我们就初步成功了;

然后,脑海里就要有向量加减法向量数乘这两个概念和相应的画面。我们就离目标更近了一步;

接下来是啥,当然是向量的线性组合,这其实是由向量加减法向量数乘组合起来的一种运算,依然要在脑海里有印象,请记得小明和小红把零食分给小刚的故事。

好了,到这里,我们课程中向量的概念就回顾完了。上面不清楚的小伙伴可以翻到前面的课程先了解一下。

二维直角坐标系中的向量

根据我们对于向量的含义,任何一个二维直角坐标系中的一个点的坐标,都是向量

有小伙伴要懵了:"我们老师说过,点不是向量,你得画上箭头才是向量!!!"

先把定义写出来:一堆数,放在一起。先不要关注竖着写,横着写,那是为了排版。

回答:

  • 点不是向量,对的;
  • 但是 点的坐标确实就是向量,因为就符合我们对于向量的定义,符合定义那就是向量。

我们写两个坐标看看:

  • (0, 1)
  • (1.5, 0.8)
  • (3.8, 10)

各位看看,上面三个坐标,写出来,是不是符合我们的定义呢。老符合了,对吧。

我们在二维直角坐标系里面,画出上面三个向量看一看:

15-1.png

我们发现了什么,每一个向量,都能在二维坐标系里画出来成为一个点。
每一个点,也能用坐标表达式,写成一个向量。

这是我们初步向量和二维直角坐标系联系起来。

研究距离-向量的模

我们在上图研究一下,ABC三个点,到原点的距离。用肉眼可见的感觉,A是最近的,B是其次,C最远,对吧。

既然引进了向量,那么我们研究这个问题就要用到向量。

ABC三个点,他们的坐标,都是向量。任一点的坐标给出来是(x, y)的话,那么
而根据坐标和勾股定理,我们可以得出这个点到原点的距离:

距离=x2+y2 距离 = \sqrt{x^2 + y^2}

我们向量吸取这个式子,称之为 向量的模

一句话说明一下:将向量看成坐标,画在直角坐标系里成为一个,这个点到原点距离,就是向量的模

也就是说,我们可以利用向量的模来解决直角坐标系中的距离问题。

A和B的距离

我们上面给出了向量的模,能够解决坐标系中任一点到原点的距离问题。

但是好像不能解决,任一点其他点(非原点)的距离问题。

这怎么办呢?

不急,我们先从勾股定理入手,这是我们实打实的求距离的老办法了。

  • A点坐标假设是(x, y)
  • B点坐标假设是(a, b)

根据勾股定理得出,AB距离为:

(ax)2+(by)2 \sqrt{(a-x)^2 + (b-y)^2}

观察上面的式子,发现和向量的模的式子形式上很像。

不妨这样来看,把x-ay-b组合起来,看做一个新的向量:

(a-x, b-y)

那么上面的式子,就变成了,求这个向量的模

我们带入AB的数据,把这个向量写出来如下:

(1.5, -0.2)

我们也将这个向量,画到坐标系中,如下图D:

15-2.png

我们发现,这个点,画出来之后,和AB真实八竿子打不着啊。

那么为什么这个到原点的距离,就是AB之间的距离呢。

看下图,一目了然:

15-3.png

做两条辅助线之后,我们的视野就清晰了。我们马上进行以下推导逻辑:

  • D点到原点的距离,就AB之间的距离
  • D点坐标向量的模,就是AB之间的距离

问题就来了,D点向量是如何由AB得来的呢?

再观察一下D点向量的式子:(a-x, b-y)

我们再画一张图:

15-4.png

很清晰了,原来,向量减法有这个用处!

 到此,我们可以用`向量`,来解决坐标系中,`任意两点`之间的`距离`问题了。
 

向量在坐标系中的另一种画法:矢量箭头

我们一般人的直觉就是,坐标系中的点,一定就是一个位置。

这是非常好的直觉。也请你不要改动这个直觉。

但是,上例中的D点,这个位置,很不舒服给人的感觉,因为D点的向量,代表着从A到B的一个算距离的过程。

也就是说,上例中的D点,这个位置本身没什么实际含义。但是向量画出来,确实就是在D点。

好吧,我们重新画一下这个例子:

15-5.png

观察,A到B的矢量箭头图形。这就是我们D点向量的矢量箭头画法。

矢量箭头画法的好处一目了然:

  • 有头有尾
  • 有方向
  • 还有长度

比较一下,画点的劣势:

  • 不能代表头尾,因为我们光看D点,看不出,出发点是A点。

      至此,向量是有方向的这个说法,就出来了。
      
    

对于坐标系中向量的总结

我们以后再观察坐标系点的时候,一定要有两种思维:

    1. 这个点代表一个位置 (例如A点)
    1. 这个点代表两点之间的位移(例如D点)

而根据一个点的坐标,可以写成向量:

    1. 某个向量可以代表一个位置(A点坐标向量)
    1. 某个向量可以代表两点之间的位移(D点坐标向量)

上面四点,就是核心要记住的东西。

我们在实际应用的时候,这两种思维经常交叉穿梭,只要头脑清醒就没问题。

一个小例子,加强理解

小明从 A点(1, 2) 出发开始跑步
他跑的位移,我们最后用画成点,是B点(3,4)
问:小明最后到达了C点C点的坐标是什么?

解析:我们分析问题之前,先看每个点,到底是表达了位置,还是位移

  1. A点很明显,代表了小明的初始位置。
  2. B点代表了小明的位移。
  3. C点代表了小明的最后的位置。

很清晰了,我们在图中画出来:

15-6.png

首先根据B点代表位移,而位移在前面我们用的向量减法,如下:

B = C - A
换一下式子两边的位置,根据加法的交换性:-->
C = A + B

然后根据向量加法的式子,得出C点坐标为(4, 6)。




正文结束,下面是答疑
小能能说:上面的例子,小明跑步这个。其实就是把OB这跟虚线,平移到A点那里,就得出C点了吧?
  • 答:对的。但是这个搞法,是为了辅助理解,是一种几何上的搞法。