线性代数的复习(笔记)


前言

今天开始看Games101的计算机图形学课程,首先来复习一下线性代数
课程地址:GAMES101-现代计算机图形学入门-闫令琪


一、向量Vectors

向量
在这里插入图片描述
向量是从A指向B的一个箭头,具有方向和长度。向量不关心自己的绝对位置。

模长Magnitude向量的长度

单位向量Unit Vector长度为1的向量,我们不关心他的长度只关心他的方向。

向量求和在这里插入图片描述
几何上的的加法是将向量首尾相连,代数上将两个向量的坐标相加

笛卡尔坐标系(Cartesian Coordinates)
在这里插入图片描述
在计算机图形学中,向量默认按照列的写法来书写,A(T)为转制

点乘(Dot product)
在这里插入图片描述
点乘可以方便的得到两个向量的夹角(余弦),特别是在两个方向都是单位向量时。还可以用于计算一个向量在另一个向量身上的投影。
在这里插入图片描述
点乘的交换律,结合律和分配律
在这里插入图片描述
在笛卡尔坐标系中点乘的算法
在这里插入图片描述
投影算法,投影长度为b向量在a向量上的投影的长度,方向为a向量的方向。
在这里插入图片描述
投影可以将一个向量分解为一个投影向量和一个垂直于投影向量的向量
在这里插入图片描述
可以通过点乘结果的正负来判断两个向量的方向性,当两个向量方向完全一致时,点乘结果为1(单位向量),反之为-1。

叉乘(Cross product)
在这里插入图片描述
叉乘会得到一个新的向量,这个向量与原本的两个向量垂直。通过右手定则来确定具体方向(右手四指从a到b,大拇指方向就是叉乘结果向量的方向,ab与ba的方向正好相反,当然,也有些情况下是用左手定则)。叉乘在建立直角坐标系时会很有用,也可以用于判断左和右(内与外)。
一些无聊的公式
知道右手法则就行
在这里插入图片描述
向量的叉乘公式(笛卡尔坐标系),可以用矩阵表示。
在这里插入图片描述
使用叉乘判断左和右,ab时,得到的结果向量的z轴为正,所以判断b在a的左侧,当ba时,得到的向量的z轴为负,所以判断a在b的右侧。
使用叉乘来判断内外,用AB叉乘AP,得到AP在AB的左侧,也就是P点在AB的左侧,BC叉乘BP得到P点在BC的左侧,CA叉乘CP得到P点在CA的左侧,也就是说P在三角形ABC的内部,因为P点一直在三条边的同一侧。
在这里插入图片描述
通过点乘能够建立三维直角坐标系,可以将任意向量分解到三个坐标系向量(单位向量)的投影上。也就是向量p等于在三个坐标系向量上计算对应的的投影长度分别乘上对应的那个坐标系向量本身,再相加三个向量。

二、矩阵Matrices

矩阵在这里插入图片描述矩阵就是二维数组(多维),在图形学中用于表示向量的变换。m x n的意思是,m行 n列。

矩阵乘矩阵在这里插入图片描述矩阵乘矩阵,首先得是能乘的矩阵,也就是第一个矩阵的列数必须等于第二个矩阵的行数。最后得到的是一个第一个矩阵的行数 第二个的列数的矩阵。(M x N)(N x P)=(M x P)
结果矩阵的元素(i , j)的值为第一个矩阵A的第i行和第二个矩阵B第j列点乘的结果。比如上图中第2行4列的元素26为(5 , 2)点乘(4 ,3)的结果54+23.
在这里插入图片描述
一般来说矩阵相乘AB和BA是不同的,也就是说矩阵没有交换律,但是矩阵满足结合律和分配律。

矩阵与向量
在这里插入图片描述
我们将向量看作是一个一列的矩阵(一个m x 1的矩阵),就可以将矩阵和向量看成一回事来进行矩阵相乘,矩阵相乘可以用于向量的变换。上图将一个二维向量进行按y轴镜像变换处理 (预览)。

矩阵的转置(Transpose)
在这里插入图片描述
将行和列互换。i行j列变成了j行i列,第j列变成了第j行。
如果两个矩阵相乘再做转置,相当于两个矩阵的转置相乘。

单位矩阵(Identity Matrix)
在这里插入图片描述
对角线上全是1的矩阵(图例3乘3矩阵)

逆矩阵(Inverses Matrix)
在这里插入图片描述
某个矩阵和他的逆矩阵相乘的结果为一个单位矩阵。

向量乘法的矩阵形式
在这里插入图片描述
向量的点乘可以转化为a向量的矩阵转置乘以b向量矩阵。
向量的叉乘也可以转化为矩阵相乘(有点搞不懂dual matrix是个啥)。


猜你喜欢

转载自blog.csdn.net/qq_37856544/article/details/112793442
今日推荐