GAMES101笔记_Lec02_向量与线性代数 Review of Linear Algebraphics

A Swift and Brutal Introduction to Linnear Alfebra!

0 图形学依赖于… Graphics’ Dependencies

  • 基础数学
    • 线性代数 linear algebra
    • 微积分 calculus
    • 统计学 statistics
  • 基础物理
    • 光学 Optics
    • 力学 Mechanics
  • 其他
    • 信号处理 signal processing
    • 数值分析 numerical analysis
    • 一点点的美学 A bit of aesthtics

1 向量 Vectors

1.1 向量的归一化 Vector Normalization

a ^ = a ⃗ / ∣ a ∣ \hat{a} = \vec{a}/|a| a^=a /a

1.2 向量的加法 Vector Addition

  • 几何理解 Grometrically
    • 平行四边形法则合三角形法则 Parallelogram law & Triangle law
  • 代数 algebraically
    • 各坐标相加 Simply add coordinates
      A = 4 x + 3 y ,    A = ( x y ) ,    A T = ( x , y ) ,    ∣ A ∣ = x 2 + y 2 \boldsymbol{A}=4x+3y,\; \boldsymbol{A}=\begin{pmatrix}x\\y\end{pmatrix},\; \boldsymbol{A}^T=(x,y),\; |\boldsymbol{A}|=\sqrt{x^2+y^2} \quad A=4x+3y,A=(xy),AT=(x,y),A=x2+y2

1.3 向量的点乘 Dot(scalar) Product

1.3.1 定义与用法

a ⃗ ⋅ b ⃗ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ cos ⁡ θ ,    cos ⁡ θ = a ⃗ ⋅ b ⃗ ∣ a ⃗ ∣ ∣ b ⃗ ∣ cos ⁡ θ \vec{a}\cdot\vec{b}=|\vec{a}||\vec{b}|\cos\theta,\; \cos\theta=\frac{\vec{a}\cdot\vec{b}}{|\vec{a}||\vec{b}|\cos\theta} a b =a b cosθ,cosθ=a b cosθa b
对 于 单 位 向 量 : c o s θ = a ^ ⋅ b ^ 对于单位向量:\quad cos\theta=\hat{a}\cdot\hat{b} :cosθ=a^b^

1.3.2性质 Properties

a ⃗ ⋅ b ⃗ = b ⃗ ⋅ a ⃗ \vec{a}\cdot\vec{b}=\vec{b}\cdot\vec{a} a b =b a
a ⃗ ⋅ ( b ⃗ + c ⃗ ) = a ⃗ ⋅ b ⃗ + a ⃗ ⋅ c ⃗ \vec{a}\cdot(\vec{b}+\vec{c})=\vec{a}\cdot\vec{b}+\vec{a}\cdot\vec{c} a (b +c )=a b +a c
( k a ⃗ ) ⋅ b ⃗ = a ⃗ ⋅ ( k b ⃗ ) = k ( a ⃗ ⋅ b ⃗ ) (k\vec{a})\cdot\vec{b}=\vec{a}\cdot(k\vec{b})=k(\vec{a}\cdot\vec{b}) (ka )b =a (kb )=k(a b )

1.3.3笛卡尔坐标系下的点积 Dot Product in Cartesian Coordinates

  • In 2D
    a ⃗ ⋅ b ⃗ = ( x a y a ) ⋅ ( x b y b ) = x a x b + y a y b \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)(xbyb)=xaxb+yayb
  • In 3D
    a ⃗ ⋅ b ⃗ ⋅ c ⃗ = ( x a y a z a ) ⋅ ( x b y b z b ) = x a x b + y a y b + z a z b \vec{a}\cdot\vec{b}\cdot\vec{c}=\begin{pmatrix} x_a \\ y_a \\ z_a \end{pmatrix}\cdot\begin{pmatrix} x_b \\ y_b \\ z_b\end{pmatrix}=x_ax_b+y_ay_b+z_az_b a b c =xayazaxbybzb=xaxb+yayb+zazb

1.3.4 图形学中的点积 Dot Product for Graphics

  • 求两个向量之间的角度(例如光源在表面之间角度的余弦)Find angle between two vectors (e.g. cosine of angle between light source and surface)

  • 计算一个向量在另一个向量上的投影 Finding projection of one vector on another
    在这里插入图片描述

    b ⃗ ⊥ = k a ^ ,    k = ∣ b ⃗ ⊥ ∣ = ∣ b ⃗ ∣ cos ⁡ θ \vec{b}_\bot=k\hat{a},\;k=|\vec{b}_\bot|=|\vec{b}|\cos\theta b =ka^,k=b =b cosθ

  • 测量两个方向有多接近 Measure how close two directions are

  • 分解向量 Decompose a vector
    在这里插入图片描述

  • 判断朝向 Determine forward / backward
    在这里插入图片描述

1.4 向量的叉乘 Cross(vector) Product

1.4.1 定义与用法

  • 叉乘结果是一个向量,与两个初始向量垂直 Cross product is orthogonal to two initial vectors
  • 叉乘的结果由右手定则确定 Direction determined by right-hand rule
  • 用于构建坐标系 Useful in constructing coordinate systems
  • 叉乘结果的模在大小上与组成两个向量组成三角形面积相等
    ∣ a ⃗ × b ⃗ ∣ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ sin ⁡ θ |\vec{a}\times\vec{b}|=|\vec{a}||\vec{b}|\sin\theta a ×b =a b sinθ

1.4.2 性质 Properties

a ⃗ × a ⃗ = 0 ⃗ \vec{a}\times\vec{a}=\vec{0} a ×a =0
a ⃗ × b ⃗ = − b ⃗ × a ⃗ \vec{a}\times\vec{b}=-\vec{b}\times\vec{a} a ×b =b ×a
a ⃗ × ( b ⃗ + c ⃗ ) = a ⃗ × b ⃗ + a ⃗ × c ⃗ \vec{a}\times(\vec{b}+\vec{c})=\vec{a}\times\vec{b}+\vec{a}\times\vec{c} a ×(b +c )=a ×b +a ×c
a ⃗ × ( k b ⃗ ) = k ( a ⃗ × b ⃗ ) \vec{a}\times(k\vec{b})=k(\vec{a}\times\vec{b}) a ×(kb )=k(a ×b )

扫描二维码关注公众号,回复: 15906480 查看本文章

1.4.3 笛卡尔坐标系下的叉乘 Cross Product: Cartesian Formula

a ⃗ × b ⃗ = ( y a z b − y b z a z a x b − x a z b x a y b − y a x b ) \vec{a}\times\vec{b}=\begin{pmatrix} y_az_b-y_bz_a \\ z_ax_b-x_az_b \\x_ay_b-y_ax_b \end{pmatrix} a ×b =yazbybzazaxbxazbxaybyaxb

1.4.4 图形学中的叉乘 Cross Product in Graphics

  • 判定左和右

    • 如下图,在右手坐标系中,a向量叉乘b向量结果为正,则b在a的左侧
      在这里插入图片描述
  • 判断内和外

    • 如下图,按顺序叉乘三次结果正负相同则在内部,否则在外部
      在这里插入图片描述

1.5 正交坐标系 Orthonormal Bases / Coordinate Frames

如 果 有 三 个 向 量 满 足 ∣ u ⃗ ∣ = ∣ v ⃗ ∣ = ∣ w ⃗ ∣ = 1 ,    u ⃗ ⋅ v ⃗ + v ⃗ ⋅ w ⃗ + u ⃗ ⋅ w ⃗ = 0 ,    w ⃗ = u ⃗ × v ⃗ 如果有三个向量满足\quad|\vec{u}|=|\vec{v}|=|\vec{w}|=1,\;\vec{u}\cdot\vec{v}+\vec{v}\cdot\vec{w}+\vec{u}\cdot\vec{w}=0,\;\vec{w}=\vec{u}\times\vec{v} u =v =w =1,u v +v w +u w =0,w =u ×v
则 p ⃗ = ( p ⃗ ⋅ u ⃗ ) u ⃗ + ( p ⃗ ⋅ v ⃗ ) v ⃗ + ( p ⃗ ⋅ w ⃗ ) w ⃗ 则\quad \vec{p}=(\vec{p}\cdot\vec{u})\vec{u}+(\vec{p}\cdot\vec{v})\vec{v}+(\vec{p}\cdot\vec{w})\vec{w} p =(p u )u +(p v )v +(p w )w

2 矩阵 Matrix

在图形学中,普遍用于表示变换
In Graphics, pervasively used to represent transformations

2.1 什么是矩阵 What is a matrix

  • 一个数字阵列 Array of numbers (m × n = m rows, n columns)
  • 与标量的加法和乘法运算为每个元素单独运算 Addition and multiplication by a scalar are trivial:
    element by element

2.2 矩阵与矩阵的乘积 Matrix-Matrix Multiplication

  • A的列数必须等于B的行数才能进行乘法运算 The number of columns in A must equal to the number of rows in B
    ( M × N ) ( N × P ) = ( M × P ) (M\times N)(N\times P)=(M\times P) (M×N)(N×P)=(M×P)
  • 乘积中元素(i,j)是A中第i行和B中第j列的点积结果
    ( 1 3 5 2 0 4 ) ( 3 6 9 4 2 7 8 3 ) = ( 9 27 33 13 19 44 61 26 8 28 32 ? ) \begin{pmatrix} 1&3\\5&2\\0&4 \end{pmatrix} \begin{pmatrix} 3&6&9&4\\2&7&8&3\\ \end{pmatrix}=\begin{pmatrix} 9&27&33&13\\19&44&61&26\\8&28&32&? \end{pmatrix} 150324(32679843)=91982744283361321326?
    ? = ( 0 , 4 ) ⋅ ( 4 , 3 ) = 0 + 12 = 12 ?=(0,4)\cdot(4,3)=0+12=12 ?=(0,4)(4,3)=0+12=12

2.3 矩阵的性质 Properties

  • 没有交换律 Non-commutative(AB and BA are different in general)
  • 有结合律和分配律 Associative and distributive
    ( A B ) C = A ( B C ) ,    A ( B + C ) = A B + A C (AB)C=A(BC),\;A(B+C)=AB+AC (AB)C=A(BC),A(B+C)=AB+AC

2.4 矩阵与向量的乘积 Matrix-Vector Multiplication

  • 将向量视为列矩阵 Treat vector as a column matrix (m×1)
  • 是变换的核心 Key for transforming points
    关 于 y 轴 对 称 的 变 换 : ( − 1 0 0 1 ) ( x y ) = ( − x y ) 关于y轴对称的变换:\quad\begin{pmatrix} -1&0\\0&1\\ \end{pmatrix}\begin{pmatrix} x \\ y \\ \end{pmatrix}=\begin{pmatrix} -x \\ y \\ \end{pmatrix} y:(1001)(xy)=(xy)

2.5 矩阵的转置 Transpose of a Matrix

  • 将矩阵的行和列互换 Switch rows and columns (ij -> ji)
    ( 1 2 3 4 5 6 ) T = ( 1 3 5 2 4 6 ) \begin{pmatrix} 1&2\\3&4\\5&6 \end{pmatrix}^T=\begin{pmatrix} 1&3&5\\2&4&6\\ \end{pmatrix} 135246T=(123456)
  • 转置的性质 Property
    ( A B ) T = B T A T (AB)^T=B^TA^T (AB)T=BTAT

2.6 单位矩阵和逆矩阵 Identity Matrix and Inverses

  • 单位矩阵 Identity Matrix
    • 单位矩阵的对角线都为1
      I 3 × 3 = ( 1 0 0 0 1 0 0 0 1 ) I_{3×3}=\begin{pmatrix} 1&0&0\\0&1&0\\0&0&1 \end{pmatrix} I3×3=100010001
  • 逆矩阵 Inverses
    • 两个矩阵乘积为单位矩阵,则两个矩阵互逆
      A A − 1 = A − 1 A = I AA^{-1}=A^{-1}A=I AA1=A1A=I
    • 逆矩阵的性质
      ( A B ) − 1 = B − 1 A − 1 (AB)^{-1}=B^{-1}A^{-1} (AB)1=B1A1

3 矩阵形式的向量乘积 Vector multiplication in Matrix form

3.1 点乘 Dot product

a ⃗ ⋅ b ⃗ = a ⃗ T b ⃗ = ( x a y a z a ) ( x b y b z b ) = ( x a x b y a y b z a z b ) \vec{a}\cdot\vec{b}=\vec{a}^T\vec{b}=\begin{pmatrix} x_a&y_a&z_a\end{pmatrix}\begin{pmatrix} x_b\\y_b\\z_b \end{pmatrix}=\begin{pmatrix} x_ax_b&y_ay_b&z_az_b\end{pmatrix} a b =a Tb =(xayaza)xbybzb=(xaxbyaybzazb)

3.2 叉乘 Cross product

a ⃗ × b ⃗ = A ∗ b ⃗ = ( 0 − z a y a z a 0 − x a − y a x a 0 ) ⏟ a 向 量 的 伴 随 矩 阵 ( d u a l   m a t r i x ) ( x b y b z b ) \vec{a}\times\vec{b}=A^*\vec{b}=\underbrace{\begin{pmatrix} 0&-z_a&y_a\\z_a&0&-x_a\\-y_a&x_a&0 \end{pmatrix}}_{\rm{a向量的伴随矩阵(dual\,matrix)}}\begin{pmatrix} x_b\\y_b\\z_b \end{pmatrix} a ×b =Ab =a(dualmatrix) 0zayaza0xayaxa0xbybzb

猜你喜欢

转载自blog.csdn.net/Ziiur/article/details/122782125
今日推荐