向量知识

转载于:
http://www.cnblogs.com/mytudousi/archive/2011/10/24/2223052.html


看到向量和矩阵在三维开发中的重要性,我就发现当时在上学的时候学的线性代数是多么重要。高中的时候似乎也学了一点向量。要知道那么重要的话,就不混学分了。再说谁知道现在我会对三维感兴趣,去搞三维呢。

向量和矩阵是三维里面很重要很基础的数据知识。在数学家眼里,向量是一个数字列表,在程序员眼里,向量就是一个数组,而在几何意义上,向量就是一个有方向的值。在理解上,我们通过数字列表和数组可能不太好理解,但通过几何图形,就可能清晰很多。我觉得应该绝大部分人都学过线性代数,只是还能记得多少呗了。

标量

标量是我们日常用的最多的,它是对我们平常所用的数字技术的称谓。例如我们买的菜多少斤,房子多少平。但这些例子不好和向量比较。速度和速率是我们经常拿来比较向量和标量的例子。记得我们高中时候做得物理题吗?是不是那些出题的老师经常拿速度和速率忽悠我们,引我们上当?速度,我们可以说我们正以每小时60千米的速度行驶,而速率就是我们以每小时60千米的速度向东行驶。是的,速率就是在速度的基础上加了个方向。同样向量也是在标量的基础上加了个方向。

向量

我们先从简单的二维向量说起。二维向量就是在二维平面上的一个线段箭头。线段存储了向量的长度,箭头指明了向量的方向。那向量存在什么地方?很遗憾,向量是没有位置信息的,它只有大小和方向。这听起来是不是很不可思议?举个例子就明白了,还是汽车行驶的例子。汽车正以每小时60千米的速度向东行驶,你需要问每小时60千米向东在什么位置吗?你要问了,别人要么认为你是一个哲学家,在思考一个正常人不敢想象的哲学问题,要么你可能被认为是精神出了问题。就向,我们要实现共产主义,这似乎也是一个哲学问题。

这样大家应该明白向量是一个什么东西了。三维向量就是由三个值组成,可以表示物体在三维世界中的位移或方向等。但向量的维数是不定的,但到四维的时候,我就没有办法通过几何来表示了,似乎在脑子里也很难想象,现实的空间范围已经不够用了。就想小孩子算算术,无法用自己的十个手指表示了。再往上时,就得需要从数学上理解了,于是出现了很多的数学公式。

向量的长度

这个很多人应该都明白,直角三角形,勾股定理就算出来了,算是比较简单好理解的。即使在三维范围内,也是一样。向量大小是一个非负的标量。

二三维向量的长度公式

标量与向量的乘法

标量与向量的乘法非常直接,把标量和向量里面的值分别相乘即可,得到的结果是一个向量。

N维向量与标量相乘公式

在三维情况下,相乘的公式如下:

三维向量与标量相乘公式

标量和向量相乘的几何意义。标量和向量相乘相当于改变向量的长度。例如要把向量长度加倍,应该乘以2,如果向量长度要缩短一半,需要乘以0.5。当标量小于0时,向量的方向会指向反方向。例如向量的长度要缩短一半,方向反向,需要乘以-0.5。

标准化向量

有时候,我们只关心方向,而不关心向量的大小。例如在设置摄像机头方向时,只需要设置摄像头顶朝向时,只需要设置头顶的方向就可以了,不需要知道其大小。还有水面的反射,折射等,也只需要知道方向即可。标准化向量也叫单位向量,也有时被称为法线。单位向量可以从名字上看出来,就是长度为1的向量。要标准化某个向量,只需要用该向量除以其长度即可。零向量是不允许标准化的,这会导致除以0,在数学上无意义。在几何学上来说,零向量本身就没有方向,所以其也不存在单位向量这么一说。标准化公式如下:

向量标准化代数公式

在几何学上,二维单位向量就是以原点为圆心,以1为半径画得圆,从原点指向画得圆的边线的向量都是单位向量。在三维上,就是以原点为圆心,以1为半径生成的球,从原点到球面的向量为单位向量。再次强调,向量只有方向和大小,没有位置。

二维单位向量

向量的加法和减法

即使最复杂的向量加法和减法也可以拆成两个向量相加的组合。不过对于向量的加减法,我记得似乎在高中时就学过,我对它的几何意义记得很还很清楚。所以,我觉得从几何上带图像的东西来解释某种知识还是很有好处的。而且我也觉得,数学真的很神奇,把代数和几何能够那么融洽的关联到了一起。

首先,如果两个向量的维数不一致,是不能进行加减运算的。下图为向量加法公式:

向量相加代数公式

即使最复杂的向量加法和减法也可以拆成两个向量相加的组合。为什么这么说?其实a-b=a+(-b)=a+(-1b),首先把b和标量-1相乘,然后再和向量a相加。向量相减公式如下:

向量相减代数公式

以上都是一些干巴巴的数学公式,我在高中刚学这个东西的时候就很不明白,算这个东西到底哟偶什么用。随后我们就学了几何,在几何里面用到了向量,我才发现数学很神奇。

下面就介绍一下,我觉得数学神奇四个阶段。

第一个阶段我上小学的时候,那时候计数已经学到了N位数,虽然读起来很费劲,我觉得数学不就是加减乘除吗?数字又能无限大,似乎用这些知识所有的问题都能解决。后来学了分数和方程,三分之一竟然除不尽。哪有这样的数,这样的数存在有意义吗?然后就是方程带给我的震撼,可以设置那么多位置的数,按照已知的规则组成方程,算算就出来了,要是用以前的算术怎么都算不出来。

第二次是上初中学抛物线,那时候觉得一个那样的方程能生成那么漂亮的线,而且还是抛物的,呵呵。线上的点都能满足这个公式。就是因为我的抛物线学的好,初中时成绩一下上来了。不过现在都忘得差不多了。

第三次就是高中时,把代数和几何结合起来了。我上高中时(01-03),代数和几何时两门课,两个老师交。代数讲的好像是数组啥的,我觉得这玩意公式,有什么用?后来学到几何了,一下子和代数讲得知识关联起来了。很神奇。

最后一次,就是高中是接触了一点,大学时才学得微积分。终于似乎有些理解无限逼近,却总也到不了是什么情况。也很神奇。我觉得微积分不仅交给你了他本身的知识,可能也回影响你的思维方式和世界观。以前我老给自己较劲,老是想宇宙的边缘到底在哪里?现在知道就是你老想到,永远也到不到的地方。那到底是哪里?这关我鸟事…

好了,瞎扯完了,继续了…

在几何上,a+b是什么情况呢?首先先平移b向量,把向量b的头平移到a向量的尾巴上。然后从a向量的头向b向量的尾巴画一个向量,头是a的头,尾是平移后向量b的尾。新画得这个向量就是a+b的结果。这个新的向量用代数表示就是上面的公式结果。恩,真的很神奇…

向量相加几何表示

一个点到另一个点得向量

点表示一个位置,如果把位置从一个点移动到另一个点怎么移动?我们还是以比较简答的二维为例来解释。A点得坐标是ax,ay,B点的坐标是bx,by。从A点到B点其实就是B-A。如果我们把A点得值看成是原点到A点得向量呢?就是向量A,值就是[ax,ay],向量B,值就是[bx,by]。从位置A到位置B所移动的向量就是向量B-向量A。这个从几何图形上很容易看出。况且我们在高中应该都学过这些知识。得到值是从A点到B点的向量,要知道向量是有方向的。如果有人说两点之间的向量,那么这个说法本身就是错的。

向量点乘

向量点乘又称向量内积。一说内积我想大家可能会熟悉一些。我记得上学时好像有这么个概念。但具体是干嘛的,就不知道了。下图为向量点乘的代数公式:

向量点乘公式

可见,我们得到的结果是一个标量,但得到的这个标量值代表什么意思呢?

有了代数公式,就要有几何解释。我觉得代数整理那么多公式就是为几何服务的。如果没有几何意义,估计代数上也就不会由这个公式了。点乘结果描述了两个向量的相似程度,得到的结果越大,两个向量就越相近。点乘的结果和向量的夹角有关系。

点乘结果和向量夹角之间的关系

在实际应用中,我们可以通过点乘来求两个向量之间的夹角。下图为公式推导:

两向量夹角公式推导过程

下图为点乘结果符号与角度的关系统计表:

两向量点乘结果符号与角度之间的关系

向量点乘结果的符号和向量的大小没有关系,只和两向量的角度有关系。当两个向量垂直时,两向量点乘结果为0。零向量和任何向量点乘都为0,在几何上我们可以认为零向量和任何向量都垂直。

写到这儿,我已经十分确定,点乘,也就是内积,是在高中是学的。^_^

向量投影

记得我们在高中的时候学物理,用一个绳子拉着小车前进。力作用于绳子是与水平面成30度夹角,力为N牛顿,问小车的加速度是多少。这时我们在计算的时候,就需要分解这个力在水平方向上的分量和垂直方向上的分量。如果说水平方向向前为向量A的话,拉力为向量B,分解到水平方向上的向量为C,那么我们就可以说C是向量B在向量A上的投影。这下就明白多了吧。下图为一个示意图:

向量投影示意图

向量差乘

这个东西…似乎在我记忆里面,高中时也学过。那时候不叫叉乘,好像叫叉积。叉乘只针对三维向量,什么原因,从他们的作用就可以看出来了。在三维中,两个向量就可以确定一个面。有人会问,不是三个点就能确定一个面吗?两个向量可有四个点。那就让我们再说一遍,向量是没有位置的,只有方向和大小,如果你把一个向量的起点和终点关联到一起,不就成三个点了,这三个点形成的面,就是这两个向量形成的面。叉乘是干嘛的呢?叉乘就是求这个面的垂直向量的。

叉乘代数公式

叉乘几何意义示意图

叉乘在实际中,最重要的作用就是创建垂直于平面、三角形、多边形的向量。


转载于:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值