Games101计算机图形学学习笔记:线性代数-向量

本文介绍了线性代数中的基本概念——向量,包括向量的方向、长度及其计算,如加法、减法、点乘和叉乘。点乘在图形学中用于计算夹角、投影,而叉乘用于建立三维直角坐标系和判断方向。向量的这些运算在图形学中有广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、标量与向量

1、标量

只有大小,没有方向的数值即称为标量。比如:长度,面积,温度等。

2、向量

又称为矢量,既有大小又有方向的量。一个向量表示一个点指向另一个点的方向和长度。向量通常可以用一个字母并在字母上加→来表示,如: a ⃗ \vec{a} a 向量。
向量没有位置属性

1.向量的方向

上图描述一个有 点A 指向 点B 的向量 a ⃗ \boldsymbol{\vec{a}} a 。 在同一个坐标系内,任何 a ⃗ \boldsymbol{\vec{a}} a 方向和长度相等的向量都和向量 a ⃗ \boldsymbol{\vec{a}} a 相等。比如由 点A’ 指向 点B’ 的向量 A ′ ⃗ \boldsymbol{\vec{A'}} A 。用向量的终点减起点即可得到这个向量的值: a ⃗ \boldsymbol{\vec{a}} a = B - A

2.向量的长度

向量的长度也叫向量的模,可以用两组两条|包裹的向量名来表示,如: ∣ ∣ a ⃗ ∣ ∣ \boldsymbol{||\vec{a}||} ∣∣a ∣∣
还有一种比较特殊的向量叫单位向量,单位向量的意思是模长为1的向量。单位向量用向量名上面加一个尖尖的角来表示,如: a ^ \boldsymbol{\hat{a}} a^。 用向量除以他自己的模长即可得到他的单位向量,也叫归一化向量: a ^ = a ⃗ / ∣ ∣ a ⃗ ∣ ∣ \boldsymbol{\hat{a} = \vec{a} / ||\vec{a}||} a^=a /∣∣a ∣∣

在图形学中,我们关注一个方向通常都用单位向量,并不用关心它的长度

求模公式
∣ ∣ A ⃗ ∣ ∣ = x 2 + y 2 ||\vec{A}|| = \sqrt{x^2+y^2} ∣∣A ∣∣=x2+y2
这里我们还可以理解为一个向量为列矩阵乘以他的转置矩阵。
A ⃗ = ( x y ) \vec{A} = \begin{pmatrix} x \\ y \end{pmatrix} A =(xy)
A T = ( x y ) A^T = \begin{pmatrix}x&y\end{pmatrix} AT=(xy)

3.向量的计算

1.向量加法

向量加法
向量加法可以用两种方式来解释,分别是平行四边形法则和三角形法则。
左边的图是平行四边形法则:
两个向量合成时,以表示这两个向量的线段为邻边作平行四边形,这个平行四边形的对角线就表示合向量的大小和方向,这就叫做平行四边形定则
这里可以这样理解:因为向量在同一平面内可以随意移动而不会改变其值,我们可以把向量 a ⃗ \boldsymbol{\vec{a}} a 和向量 b ⃗ \boldsymbol{\vec{b}} b 的起点放在一起,然后再平移另一组向量 a ⃗ \boldsymbol{\vec{a}} a 和向量 b ⃗ \boldsymbol{\vec{b}} b 使得他们围城一个平行四边形。那么这个平行四边形的对角线就是向量 a ⃗ \boldsymbol{\vec{a}} a 和向量 b ⃗ \boldsymbol{\vec{b}} b 相加之和。

右边的图是三角形法则:
把向量 a ⃗ \boldsymbol{\vec{a}} a 和向量 b ⃗ \boldsymbol{\vec{b}} b 首尾相接,从向量 a ⃗ \boldsymbol{\vec{a}} a 的起点指向向量 b ⃗ \boldsymbol{\vec{b}} b 的终点的向量就是 a ⃗ \boldsymbol{\vec{a}} a + b ⃗ \boldsymbol{\vec{b}} b 的结果
这个不仅适用于两个向量,也可以用于多个向量。

2.向量的减法

向量减法
将两个向量平移至公共起点,减向量的终点指向被减向量的终点的向量即为结果。

3.向量的乘法
1.点乘

点乘

1.在图形学中我们经常使用点乘来计算两个向量的夹角,比如制作光照模型时计算光照和法线的夹角。

几何解释
a ⃗ ⋅ b ⃗ = ∣ ∣ a ⃗ ∣ ∣   ∣ ∣ b ⃗ ∣ ∣   c o s θ \boldsymbol{\vec{a} \cdot \vec{b} = ||\vec{a}|| \ ||\vec{b}|| \ cosθ} a b =∣∣a ∣∣ ∣∣b ∣∣ cosθ
两个向量点乘的结果是一个标量。
c o s θ = a ⃗ ⋅ b ⃗ ∣ ∣ a ⃗ ∣ ∣   ∣ ∣ b ⃗ ∣ ∣ \boldsymbol{cosθ = \frac{\vec{a} \cdot \vec{b}}{||\vec{a}|| \ ||\vec{b}||}} cosθ=∣∣a ∣∣ ∣∣b ∣∣a b
当两个向量都为单位向量时,公式可简化为
c o s θ = a ^ ⋅ b ^ \boldsymbol{cosθ = \hat{a} \cdot \hat{b}} cosθ=a^b^
代数解释
a ⃗ ⋅ b ⃗ = ( x a y a ) ⋅ ( x b y b ) = x a x b + y a y b \boldsymbol{\vec{a} \cdot \vec{b} = \begin{pmatrix}x_a \\ y_a \end{pmatrix} \cdot \begin{pmatrix}x_b \\ y_b \end{pmatrix} = x_ax_b + y_ay_b} a b =(xaya

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值