Games101笔记-Lecture02

本文介绍了向量的基本概念,如向量的表示、归一化、加法和乘法,并探讨了向量在图形学中的重要应用,如点乘计算夹角和投影,叉乘判断方向。此外,还讲解了矩阵在变换中的作用,包括矩阵乘法和向量的叉乘矩阵表示。这些内容揭示了向量和矩阵在计算机图形学中的核心地位。

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

Vectors(向量)

写成a⃗\vec{a}a或者a\bold{a}a
或者用起点和终点的AB→=B−A\overrightarrow{AB}=B-AAB=BA
有长度和方向
没有绝对的起始位置

Vector Normalization(向量归一化)

向量的模(magnitude)写成∥a⃗∥\lVert\vec{a}\rVerta
单位向量(unit vector)即是一个单位长度的向量(a vector with magnitude of 1)
获取一个向量的单位向量:a^=a⃗/∥a⃗∥\hat{a}=\vec{a}/\|\vec{a}\|a^=a/a
用于表示方向

Vector Addition(向量相加)

在这里插入图片描述
几何上可以用平行四边形法则或三角形法则表示
代数上用基的相加表示

Cartesian Coordinates(笛卡尔坐标)

用两个互相垂直的基来表示向量
A=(xy)A= \begin{pmatrix}x \\y \end{pmatrix}A=(xy) AT=(xy)A^T= \begin{pmatrix}x &y \end{pmatrix}AT=(xy) ∥A∥=x2+y2\|A\|=\sqrt{x^2+y^2}A=x2+y2

Vector Multiplication(向量乘积)

dot product(点乘)

在这里插入图片描述
a⃗⋅b⃗=∥a⃗∥∥b⃗∥cos⁡θ\vec{a}\cdot\vec{b}=\|\vec{a}\|\|\vec{b}\|\cos{\theta}ab=abcosθθ\thetaθ为两向量夹角)
cos⁡θ=a⃗⋅b⃗∥a⃗∥∥b⃗∥\cos{\theta}=\dfrac{\vec{a}\cdot\vec{b}}{\|\vec{a}\|\|\vec{b}\|}cosθ=abab
点乘满足结合律、分配律、交换律

图形学中的点乘应用
  • 得到两个向量的夹角
  • 得到一个向量在另一个向量上的投影
  • 分解向量在这里插入图片描述
  • 区分前方和后方
    在这里插入图片描述
cross produce(叉乘)

在这里插入图片描述

  • 叉乘的结果是个垂直于两个向量的向量,方向由右手螺旋定则决定
cross product in graphics
  • 区分左/右
    a⃗×b⃗>0\vec{a}\times\vec{b}>0a×b>0a⃗\vec{a}ab⃗\vec{b}b右方,反之在左方
    在这里插入图片描述
  • 区分里/外
    p点在三角形里面,三个叉乘值均为正数或均为负数。在三角形外部则三个叉乘值不同号。
    AB→×AP→>0\overrightarrow{AB}\times\overrightarrow{AP}>0AB×AP>0   BC→×BP→>0\overrightarrow{BC}\times\overrightarrow{BP}>0BC×BP>0   CA→×CP→>0\overrightarrow{CA}\times\overrightarrow{CP}>0CA×CP>0
    在这里插入图片描述
  • 区分凹多边形
    对凸多边形而言,例如上方的三角形,AB⃗×BC⃗和BC⃗×CB⃗和CB⃗×AB⃗同号。\vec{AB}\times\vec{BC}和\vec{BC}\times\vec{CB}和\vec{CB}\times\vec{AB}同号。AB×BCBC×CBCB×AB
    若是凹多边形,则凹入的点的两条边向量叉乘值和其他叉乘值异号

Matrices(矩阵)

  • 在图形学中被广泛应用于表达各种转换(Transformations)
Matrix-Matrix Multiplaction
  • AmnBnp=CmpA_{mn}B_{np}=C_{mp}AmnBnp=Cmp  其中矩阵A的列数必须等于矩阵B的行数,相乘结果的矩阵C行数和列数各为A的行数和B的列数
  • 不支持交换律

Cross Product

向量的叉乘可以写成矩阵作用形式:
a⃗×b⃗=A∗b⃗=(0−zayaza0−xa−yaxa0)(xbybzb)\vec{a}\times\vec{b}=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=Ab=0zayaza0xayaxa0xbybzb

图片来源为课程PPT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值