向量和矩阵你真的清楚吗

一、向量是什么东东

向量:在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。与向量对应的量叫做数量(物理学中称标量),数量(或标量)只有大小,没有方向。

        题外话:数学上,向量表示有两种选择:行向量和列向量。这两种方式没有本质区别,选取那种都可以。OpenGL ES中使用的是列向量。列向量和矩阵相乘实现变换时,只能在列向量前面乘以矩阵,而行向量反之,否则乘法没有意义。

代数表示

        一般印刷用黑体的小写英文字母(a、b、c等)来表示,手写用在a、b、c等字母上加一箭头(→)表示,也可以用大写字母AB、CD上加一箭头(→)等表示。

坐标表示

平面直角坐标系中,分别取与x轴、y轴方向相同的两个单位向量i,j作为一组基底。a为平面直角坐标系内的任意向量,以坐标原点O为起点P为终点作向量a。由平面向量基本定理可知,有且只有一对实数(x,y),使得a=xi+yj,因此把实数对(x,y)叫做向量a的坐标,记作a=(x,y)。这就是向量a的坐标表示。其中(x,y)就是点P的坐标。向量a称为点P的位置向量。 


向量的坐标表示

空间直角坐标系中,分别取与x轴、y轴,z轴方向相同的3个单位向量i,j,k作为一组基底。若为该坐标系内的任意向量,以坐标原点O为起点作向量a。由空间基本定理知,有且只有一组实数(x,y,z),使得a=ix+jy+kz,因此把实数对(x,y,z)叫做向量a的坐标,记作a=(x,y,z)。这就是向量a的坐标表示。其中(x,y,z),就是点P的坐标。向量a称为点P的位置向量。

当然,对于多维的空间向量,可以通过类推得到,此略。


向量的矩阵表示

向量的运算

加法

向量的加法满足平行四边形法则和三角形法则,




向量加法的运算律

交换律:a+b=b+a;

结合律:(a+b)+c=a+(b+c)。

减法

如果a、b是互为相反的向量,那么a=-b,b=-a,a+b=0. 0的反向量为0。OA-OB=BA.即“共同起点,指向被减”。a=(x1,y1),b=(x2,y2) ,则a-b=(x1-x2,y1-y2)。如图:c=a-b 以b的结束为起点,a的结束为终点。


加减变换律:a+(-b)=a-b。注意:(向量减法的方向指向被减数,(被减数 - 减数 = 差))

数乘

实数λ和向量a的叉乘乘积是一个向量,记作λa,且|λa|=|λ|*|a|。 

当λ>0时,λa的方向与a的方向相同;当λ<0时,λa的方向与a的方向相反;当λ=0时,λa=0,方向任意。当a=0时,对于任意实数λ,都有λa=0。 

注:按定义知,如果λa=0,那么λ=0或a=0。

实数λ叫做向量a的系数,乘数向量λa的几何意义就是将表示向量a的有向线段伸长或压缩。

当 |λ| >1时,表示向量a的有向线段在原方向(λ>0)或反方向(λ<0)上伸长为原来的|λ|倍

当|λ|<1时,表示向量a的有向线段在原方向(λ>0)或反方向(λ<0)上缩短为原来的 |λ|倍。

实数p和向量a的点乘乘积是一个数。

数与向量的乘法满足下面的运算律

结合律:(λa)·b=λ(a·b)=(a·λb)。

向量对于数的分配律(第一分配律):(λ+μ)a=λa+μa.

数对于向量的分配律(第二分配律):λ(a+b)=λa+λb.

数乘向量的消去律:① 如果实数λ≠0且λa=λb,那么a=b。② 如果a≠0且λa=μa,那么λ=μ。

需要注意的是:向量的加减乘(向量没有除法)运算满足实数加减乘运算法则。

数量积

题外话:数量积即指两个向量进行点乘运算,它的结果是一个数。求出的结果可表示两个向量之间的夹角,在游戏开发或者应用开发中可以使用。比如开发一个坦克游戏,坦克需要打击敌人,已知坦克朝向向量是(x1,y1,z1),敌人的位置是(x2,y2,z2),此时可以计算出敌人与坦克朝向之间的夹角。如果坦克想打击敌人,只需绕着相应轴旋转该角度即可。(如果坦克能绕任意轴旋转,那么它应该绕哪个轴呢,别急,下面有介绍,提前剧透,将两个向量叉乘即可得到该轴,因为叉乘结果是个向量)

定义:已知两个非零向量a,b,作OA=a,OB=b,则∠AOB称作向量a和向量b的夹角,记作θ并规定0≤θ≤π

定义:两个向量的数量积内积点积)是一个数量(没有方向),记作a·b。

若a、b不共线,则

a·b = |a|·|b|·cosθ

 ;若a、b共线,则

a·b=+-|a|·|b|

向量的数量积的坐标表示:a·b=x·x'+y·y'。

向量的数量积的运算律

a·b=b·a(交换律

(λa)·b=λ(a·b)(关于数乘法的结合律)

(a+b)·c=a·c+b·c(分配律

向量的数量积的性质

a·a=|a|的平方

a⊥b〈=〉a·b=0。

|a·b|≤|a|·|b|。(该公式证明如下:|a·b|=|a|·|b|·|cosα| 因为0≤|cosα|≤1,所以|a·b|≤|a|·|b|)

向量的数量积与实数运算的主要不同点

1.向量的数量积不满足结合律,即:(a·b)·c≠a·(b·c);例如:(a·b)²≠a²·b²。

2.向量的数量积不满足消去律,即:由a·b=a·c(a≠0),推不出b=c。

3.|a·b|与|a|·|b|不等价

4.由 |a|=|b| ,不能推出a=b,也不能推出a=-b,但反过来则成立。

向量积

      题外话:向量积指的是两个向量进行叉乘运算,它的结果是一个向量,该向量垂直于通过叉乘计算的两个向量。还记得坦克攻击敌人那个问题吗,具体实施步骤可以先通过点乘求得需要旋转角度的角度,然后通过叉乘求得需要绕哪个向量旋转,然后求出旋转矩阵,将此旋转矩阵乘以坦克的朝向向量即可求出坦克打击敌人需要的朝向向量。注意旋转矩阵一般是4x4的,坦克朝向向量在(x1,y1,z1)的基础上增加一个w分量,即(x1,y1,z1,w),这样计算的时候好计算,即转化为齐次坐标。开发中经常提到向量的齐次坐标规范化,操作其实很简单,w值变为1,即将向量各个分量都除以w即可,规范化的齐次坐标向量为(x1/w,y1/w,z1/w,1)。


定义:两个向量a和b的向量积

(外积、叉积)是一个向量,记作a×b(这里“×”并不是乘号,只是一种表示方法,与“·”不同,也可记做“∧”)。若a、b不共线,则a×b的模是:∣a×b∣=|a|·|b|·sin〈a,b〉;a×b的方向是:垂直于a和b,且a、b和a×b按这个次序构成右手系。若a、b垂直,则∣a×b∣=|a|*|b|(此处与数量积不同,请注意),若a×b=0,则a、b平行。向量积即两个不共线非零向量所在平面的一组法向量。

运算法则:运用三阶行列式

设a,b,c分别为沿x,y,z轴的单位向量

A=(x1,y1,z1),B=(x2,y2,z2),则


向量的向量积性质:

|a×b|是以a和b为边的平行四边形面积。

a×a=0。

a平行b〈=〉a×b=0

向量的向量积运算律

a×b=-b×a

(λa)×b=λ(a×b)=a×(λb)

a×(b+c)=a×b+a×c.

(a+b)×c=a×c+b×c.

上两个分配律分别称为左分配律和右分配律。在演算中应注意不能交换“×”号两侧向量的次序。

注:向量没有除法,“向量AB/向量CD”是没有意义的。

提示:常用的一些向量知识介绍完毕,还有一些可自行学习。

二、矩阵是什么东东

定义

由 m × n 个数aij排成的m行n列的数表称为m行n列的矩阵,简称m × n矩阵。记作:


        这m×n 个数称为矩阵A的元素,简称为元,数aij位于矩阵A的第i行第j列,称为矩阵A的(i,j)元,以数 aij为(i,j)元的矩阵可记为(aij)或(aij)m × n,m×n矩阵A也记作Amn。

        元素是实数的矩阵称为实矩阵,元素是复数的矩阵称为复矩阵。而行数与列数都等于n的矩阵称为n阶矩阵或n阶方阵。

基本运算

矩阵运算在科学计算中非常重要,而矩阵的基本运算包括矩阵的加法,减法,数乘,转置,共轭和共轭转置。

加法


矩阵的加法满足下列运算律(A,B,C都是同型矩阵):

A+B=B+A

(A+B)+C=A+(B+C)

应该注意的是只有同型矩阵之间才可以进行加法。

减法



数乘


矩阵的数乘满足以下运算律:

λ(μA)=μ(λa)           λ(μA)=(λμ)A         (λ+μ)A=λA+μA      λ(A+B)=λA+λB

矩阵的加减法和矩阵的数乘合称矩阵的线性运算。

转置

共轭


共轭转置



乘法

        两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义。如A是m×n矩阵和B是n×p矩阵,它们的乘积C是一个m×p矩阵。

C=(cij),它的一个元素:

并将此乘积记为:C=AB。例如:


矩阵的乘法满足以下运算律:

结合律:(AB)C=A(BC)      左分配律:(A+B)C=AC+BC       右分配律:C(A+B)=CA+CB

矩阵乘法不满足交换律

各种变换

OpenGL ES中的基本变换都是通过变换矩阵完成的。

平移变换

上述矩阵中的Tx,Ty,Tz分别表示平移变换中沿着x,y,z轴方向的位移。

旋转变换

       在三维空间中旋转需要定义一个角和一个旋转轴。物体会沿着给定的旋转轴旋转特定角度。当二维向量在三维空间中旋转时,一般把旋转轴设为z轴。

    给定一个角度,可以把一个向量变换为一个经过旋转的新向量。这通常是使用一系列正弦和余弦函数的各种巧妙的组合得到的。旋转矩阵在三维空间中每个单位轴都有不同定义,旋转角度用θ表示:

沿x轴旋转矩阵:

沿y轴旋转矩阵:

沿z轴旋转矩阵:

沿任意轴旋转矩阵:

缩放变换

下面构造一个变换矩阵来提供缩放功能。从单位矩阵(矩阵正斜对角线为1,其余为0的矩阵),每个对角线元素会分别与向量的对应元素相乘,而不会干扰其他维度上的向量值。对于需要将任意向量(x,y,x)分别缩放(S1,S2,S3)倍时,可以用这样的特性来构造缩放矩阵。如下:

组合变换

       使用矩阵进行变换的真正厉害之处在于,根据矩阵之间的乘法,可以把多个变换组合到一个矩阵中。假设有一个顶点(x, y, z),希望将其缩放2倍,然后位移(1, 2, 3)个单位。需要一个位移和缩放矩阵来完成这些变换。其最终的组合变换矩阵如下:

        当矩阵相乘时先写位移再写缩放变换。矩阵乘法是不遵守交换律的,这意味着它们的顺序很重要。当矩阵相乘时,在最右边的矩阵是第一个与向量相乘的,所以应该从右向左读这个乘法。建议在设计组合矩阵时,先进行缩放操作,然后是旋转,最后才是位移,否则它们会互相影响。比如,如果先位移再缩放,位移的向量也会同样被缩放。用最终的变换矩阵左乘我们的向量会得到以下结果:(下面的结果可以看出目标向量确实放大了两倍并进行了平移)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341

推荐阅读更多精彩内容