【GAMES101现代计算机图形学入门笔记】Lec02 线性代数回顾

这篇博客回顾了线性代数中的基本概念,包括向量的模、单位向量、点乘及其应用,如求夹角、投影和分解向量。还介绍了叉乘的概念,用于构建坐标系,并讨论了其在判断方向和确定点的位置关系中的应用。此外,矩阵与向量的乘法也有所提及。
摘要由CSDN通过智能技术生成

Lec02 线性代数回顾

向量(vector)

向量的模: ∣ ∣ a ⃗ ∣ ∣ ||\vec{a}|| a

单位向量(a-hat): a ^ = a ⃗ ∣ ∣ a ⃗ ∣ ∣ \hat{a}=\frac{\vec{a}}{||\vec{a}||} a^=a a

点乘(dot product)

  • 笛卡尔坐标运算:
    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}= \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 =xayazaxbybzb=xaxb+yayb+zazb

  • 点乘的作用一,求夹角 cos ⁡ θ = a ⃗ ⋅ b ⃗ ∣ ∣ a ⃗ ∣ ∣ ∣ ∣ b ⃗ ∣ ∣ \cos\theta=\frac{\vec{a}\cdot\vec{b}}{||\vec{a}||||\vec{b}||} cosθ=a b a b

  • 点乘的作用二,找投影(b-perp): b ⃗ \vec{b} b a ⃗ \vec{a} a 上的投影
    b ⊥ ⃗ = k a ^ k = ∣ ∣ b ⃗ ∣ ∣ cos ⁡ θ = b ⃗ ⋅ a ^ \vec{b_{\perp}}=k\hat{a}\\ k=||\vec{b}||\cos\theta=\vec{b}\cdot\hat{a} b =ka^k=b cosθ=b a^

  • 点乘的应用:

    • 分解向量(为互相垂直的两个)
    • 计算两单位向量有多接近(点乘积:1到0)
    • 确定前后方向(点乘积大于或小于0)

点乘计算笛卡尔坐标(投影):
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

叉乘(cross product)

叉乘对构建坐标系很有帮助。

本课程采用右手系(OpenGL是左手系)。

右手坐标系满足: z ⃗ = x ⃗ × y ⃗ \vec{z}=\vec{x}\times\vec{y} z =x ×y (或 w ⃗ = u ⃗ × v ⃗ \vec{w}=\vec{u}\times\vec{v} w =u ×v

a ⃗ × b ⃗ = ( y a z b − y b z a z a x b − z b x a x a y b − x b y 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}= \begin{pmatrix} y_az_b-y_bz_a\\ z_ax_b-z_bx_a\\ x_ay_b-x_by_b \end{pmatrix}= \bold{A}\vec{b}= \begin{pmatrix} 0 & -z_a & y_a\\ z_a & 0 & -x_a\\ -y_a & x_a & 0 \end{pmatrix} \begin{pmatrix} x_b\\y_b\\z_b \end{pmatrix} a ×b =yazbybzazaxbzbxaxaybxbyb=Ab =0zayaza0xayaxa0xbybzb
叉乘的应用:

  • 判断左右(叉乘结果的正负): x ⃗ × y ⃗ = z ⃗ \vec{x}\times\vec{y}=\vec{z} x ×y =z y ⃗ × x ⃗ = − z ⃗ \vec{y}\times\vec{x}=\vec{-z} y ×x =z
  • 内外(P点一直在三条边的左边/右边): A P ⃗ × A B ⃗ \vec{AP}\times\vec{AB} AP ×AB B P ⃗ × B C ⃗ \vec{BP}\times\vec{BC} BP ×BC C P ⃗ × C A ⃗ \vec{CP}\times\vec{CA} CP ×CA 同号,即意味着P在三角形内部

矩阵(matrix)

Matrix-Vector Multipulication:
a ⃗ ⋅ b ⃗ = a ⃗ ⊤ b ⃗ = ( x a y a z a ) ( x b y b z b ) \vec{a}\cdot\vec{b}=\vec{a}^\top\vec{b}= \begin{pmatrix} x_a & y_a & z_a \end{pmatrix} \begin{pmatrix} x_b \\ y_b \\ z_b \end{pmatrix} a b =a b =(xayaza)xbybzb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值