[Games101] Lecture 02 Review of Linear Algebra

Review of Linear Algebra

点乘

图形学中默认使用列向量

  • 二维

a ⃗ ⋅ b ⃗ = ( x a y a ) ⋅ ( x b y b ) = x a x b + y a y b \vec{a} \cdot \vec{b}=\left(\begin{array}{l} x_{a} \\ y_{a} \end{array}\right) \cdot\left(\begin{array}{l} x_{b} \\ y_{b} \end{array}\right)=x_{a} x_{b}+y_{a} y_{b} a b =(xaya)(xbyb)=xaxb+yayb

  • 三维

a ⃗ ⋅ 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}=\left(\begin{array}{c} x_{a} \\ y_{a} \\ z_{a} \end{array}\right) \cdot\left(\begin{array}{l} x_{b} \\ y_{b} \\ z_{b} \end{array}\right)=x_{a} x_{b}+y_{a} y_{b}+z_{a} z_{b} a b = xayaza xbybzb =xaxb+yayb+zazb

  • 作用
    • 找到两个向量间的夹角
    • 找到一个向量在另一个向量上的投影
    • 分解向量
    • 方向性:根据点乘的值 ( [ − 1 , 1 ] [-1,1] [1,1]

image-20220720120249756

叉积

image-20220720122707966
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}=\left(\begin{array}{c} y_{a} z_{b}-y_{b} z_{a} \\ z_{a} x_{b}-x_{a} z_{b} \\ x_{a} y_{b}-y_{a} x_{b} \end{array}\right) a ×b = yazbybzazaxbxazbxaybyaxb

  • Later in this lecture

a ⃗ × b ⃗ = A ∗ b = ( 0 − z a y a z a 0 − x a − y a x a 0 ) ( x b y b z b ) \vec{a} \times \vec{b}=A^{*} b=\left(\begin{array}{ccc} 0 & -z_{a} & y_{a} \\ z_{a} & 0 & -x_{a} \\ -y_{a} & x_{a} & 0 \end{array}\right)\left(\begin{array}{l} x_{b} \\ y_{b} \\ z_{b} \end{array}\right) a ×b =Ab= 0zayaza0xayaxa0 xbybzb

  • 作用
    • 判断向量的左右关系:
      • 叉积为正在左侧,否则在右侧
    • 判断一个点是否在三角形内: P P P 点在三条边的同侧(正负号相同)
      • Corner Case:结果为0,自己定义在内侧还是外侧

image-20220720122839106

正交坐标系

Any set of 3 vectors (in 3D) that
∥ u ⃗ ∥ = ∥ v ⃗ ∥ = ∥ w ⃗ ∥ = 1 u ⃗ ⋅ v ⃗ = v ⃗ ⋅ w ⃗ = u ⃗ ⋅ w ⃗ = 0 w ⃗ = u ⃗ × v ⃗  (right-handed)  \begin{aligned} &\|\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} \quad \text { (right-handed) } \end{aligned} u =v =w =1u v =v w =u w =0w =u ×v  (right-handed) 

  • 可以将任意一个向量分析到这三个轴上:投影方法

p ⃗ = ( p ⃗ ⋅ u ⃗ ) u ⃗ + ( p ⃗ ⋅ v ⃗ ) v ⃗ + ( p ⃗ ⋅ w ⃗ ) w ⃗ \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

矩阵

  • 矩阵乘法:需要算第几行第几列,就去找第几行第几列,把两个向量点乘起来

    • Element ( i , j ) (i, j) (i,j) in the product is the dot product of row i i i from A A A and column j j j from B B B

    • 没有交换率

    • 有以下规律

      • ( A B ) C = A ( B C ) (AB)C=A(BC) (AB)C=A(BC)
      • A ( B + C ) = A B + A C A(B+C) = AB + AC A(B+C)=AB+AC
      • ( A + B ) C = A C + B C (A+B)C = AC + BC (A+B)C=AC+BC
    • 向量可以当作列矩阵

  • 矩阵转置

    • 交换行和列 ( i j → j i ) (ij \to ji) (ijji)

    ( 1 2 3 4 5 6 ) T = ( 1 3 5 2 4 6 ) \left(\begin{array}{ll} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{array}\right)^{T}=\left(\begin{array}{lll} 1 & 3 & 5 \\ 2 & 4 & 6 \end{array}\right) 135246 T=(123456)

    • 性质: ( A B ) T = B T A T (A B)^{T}=B^{T} A^{T} (AB)T=BTAT
  • 单位矩阵

    • 是一个对角阵,只有对角线上有非0元素

    • 来定义矩阵的逆
      I 3 × 3 = ( 1 0 0 0 1 0 0 0 1 ) I_{3 \times 3}=\left(\begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array}\right) I3×3= 100010001

  • 矩阵的逆

    • A A − 1 = A − 1 A = I A A^{-1}=A^{-1} A=I AA1=A1A=I
    • ( A B ) − 1 = B − 1 A − 1 (A B)^{-1}=B^{-1} A^{-1} (AB)1=B1A1

矩阵形式的向量点乘&叉乘操作

  • 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 ) \begin{aligned} & \vec{a} \cdot \vec{b}=\vec{a}^{T} \vec{b} \\ =&\left(\begin{array}{lll} x_{a} & y_{a} & z_{a} \end{array}\right)\left(\begin{array}{l} x_{b} \\ y_{b} \\ z_{b} \end{array}\right)=\left(x_{a} x_{b}+y_{a} y_{b}+z_{a} z_{b}\right) \end{aligned} =a b =a Tb (xayaza) xbybzb =(xaxb+yayb+zazb)

  • Cross product

a ⃗ × b ⃗ = A ∗ b = ( 0 − z a y a z a 0 − x a − y a x a 0 ) ( x b y b z b ) \vec{a} \times \vec{b}=A^{*} b=\left(\begin{array}{ccc} 0 & -z_{a} & y_{a} \\ z_{a} & 0 & -x_{a} \\ -y_{a} & x_{a} & 0 \end{array}\right)\left(\begin{array}{l} x_{b} \\ y_{b} \\ z_{b} \end{array}\right) a ×b =Ab= 0zayaza0xayaxa0 xbybzb

PS: A ∗ A^* A :dual matrix of vector a ⃗ \vec{a} a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值