向量和矩阵你真的很清楚吗?

向量:在数学中,向量(又称欧几里得向量、几何向量、向量)是指有大小和方向的量。它可以被想象成一个带箭头的线段。箭头指示矢量的方向;线段长度:表示向量的大小。向量对应的量叫做量(物理学上叫标量),量(或标量)只有大小,没有方向。

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

一般印刷用小写英文字母(A,B,C等)表示。)在粗体中,手写用在字母A、B、C上加一个箭头(→)来表示,也可以用在大写字母AB、CD上加一个箭头(→)来表示。

在平面直角坐标系中,以X轴和Y轴方向相同的两个单位矢量I和J为一组基。a是平面直角坐标系中的任意向量,坐标原点O为起点,P为终点。根据平面向量基本定理,只有一对实数(x,y),使得a=xi+yj。所以实数对(x,y)称为向量A的坐标,记为a=(x,y)。这是向量a的坐标表示式,其中(x,y)是点p的坐标,向量a称为点p的位置向量?

在空间直角坐标系中,以与X轴、Y轴、Z轴方向相同的三个单位向量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的方向相同;当λ

注意:根据定义,如果λa=0,那么λ=0或a=0。

实数λ称为向量A的系数,乘子向量λa的几何意义是延伸或压缩表示向量A的有向线段..

当|λ| > 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,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,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列按m × n个数aij排列的表叫做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),你想缩放它两次,然后移动(1,2,3)个单位。需要一个位移和缩放矩阵来完成这些变换。最终的组合变换矩阵如下:

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