1. 向量和线性代数

文章介绍了向量的基本概念,包括列向量表示、点乘和叉乘的运算规则及几何意义,特别强调了点乘用于找向量间夹角和投影,而叉乘用于建立三维坐标系和判断方向。此外,矩阵在图形学中的作用主要是实现变换,文中提到了矩阵乘积的性质。
摘要由CSDN通过智能技术生成

1. 向量

默认向量是 列向量,即 A ⊤ = ( x , y ) A^\top = \left(x, y\right) A=(x,y)

1.1 点乘和叉乘

有两个向量 a ⃗ \vec{a} a b ⃗ \vec{b} b

1.1.1 点乘

a ⃗ ⋅ b ⃗ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ cos ⁡ θ cos ⁡ θ = a ⃗ ⋅ b ⃗ ∣ a ⃗ ∣ ∣ b ⃗ ∣ \begin{aligned} \vec{a} \cdot \vec{b} &= \vert\vec{a}\vert \vert\vec{b}\vert \cos\theta \\ \cos\theta &= \frac{\vec{a} \cdot \vec{b}}{\vert\vec{a}\vert \vert\vec{b}\vert} \end{aligned} a b cosθ=a ∣∣b cosθ=a ∣∣b a b
:满足 交换律分配律
a ⃗ ⋅ b ⃗ = b ⃗ ⋅ a ⃗ a ⃗ ⋅ ( b ⃗ + c ⃗ ) = a ⃗ ⋅ b ⃗ + a ⃗ ⋅ c ⃗ ( k a ⃗ ) ⋅ b ⃗ = a ⃗ ( k b ⃗ ) = k ( a ⃗ ⋅ b ⃗ ) \begin{aligned} \vec{a} \cdot \vec{b} &= \vec{b} \cdot \vec{a} \\ \vec{a} \cdot \left( \vec{b} + \vec{c} \right) &= \vec{a} \cdot \vec{b} + \vec{a} \cdot \vec{c} \\ \left(k\vec{a}\right) \cdot \vec{b}&=\vec{a}\left(k\vec{b}\right)=k\left(\vec{a}\cdot\vec{b}\right) \end{aligned} a b a (b +c )(ka )b =b a =a b +a c =a (kb )=k(a b )
计算

  1. 二维
    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
  2. 三维
    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}{l} 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
    用途
  3. 寻找两个向量之间的 夹角
  4. 寻找一个向量在另一个向量上的 投影
    • b ⃗ ⊥ = k a ^ \vec{b}_{\perp}=k\hat{a} b =ka^
    • k = ∥ b ⃗ ⊥ ∥ = ∥ b ⃗ ∥ cos ⁡ θ k=\left\|\vec{b}_{\perp}\right\|=\|\vec{b}\| \cos \theta k= b =b cosθ
    • 投影的好处是可以分解向量
  5. 计算两个方向有多么接近
    • 处理 高光 时会用到
  6. 判断两个向量的 前后 关系

1.1.2 叉乘

a ⃗ × b ⃗ = − b ⃗ × a ⃗ ∣ a ⃗ × b ⃗ ∣ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ sin ⁡ θ \begin{aligned} \vec{a} \times \vec{b} &= -\vec{b} \times \vec{a} \\ \vert\vec{a} \times \vec{b}\vert &=\vert\vec{a}\vert\vert\vec{b}\vert\sin\theta \end{aligned} a ×b a ×b =b ×a =a ∣∣b sinθ
:确定方向使用 右手定则,叉积不满足交换律,交换顺序需要加一个负号

用途

  1. 建立三维空间的坐标系
  2. 右手坐标系中 x ⃗ × y ⃗ = z ⃗ \vec{x}\times\vec{y}=\vec{z} x ×y =z y ⃗ × z ⃗ = x ⃗ \vec{y}\times\vec{z}=\vec{x} y ×z =x z ⃗ × x ⃗ = y ⃗ \vec{z}\times\vec{x}=\vec{y} z ×x =y ,左手坐标系则相反

计算

  1. 三维:可以将 a ⃗ \vec{a} a 先写成矩阵,再与 b ⃗ \vec{b} b 相乘
    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 ) 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 ) \begin{aligned} \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) \\ \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) \end{aligned} a ×b a ×b = yazbybzazaxbxazbxaybyaxb =Ab= 0zayaza0xayaxa0 xbybzb

用途

  1. 判定向量 左右 关系
    • a ⃗ × b ⃗ \vec{a} \times \vec{b} a ×b ,则 a ⃗ \vec{a} a b ⃗ \vec{b} b 侧,为 ,则在
  2. 判定一个点与三角形的 内外 关系
    • 按逆时针排列三角形的三个点,得到 A A A B B B C C C,要判断的点是 P P P
    • 分别判断 P P P 与三条边的关系,如果 P P P 都在 三条边的左侧或 都在 三条边的右侧,则在 内部,如果出现 不一致,则在 外部
    • 具体地,在确定逆时针排列三个点的情况下,分别判断 A B ⃗ × A P ⃗ \vec{AB}\times\vec{AP} AB ×AP B C ⃗ × B P ⃗ \vec{BC}\times\vec{BP} BC ×BP C A ⃗ × C P ⃗ \vec{CA}\times\vec{CP} CA ×CP ,均为 ,即 P P P 都在三条边的左侧,则在 内部

2. 矩阵

在图形学中的用途就是实现各种 变换

2.1 矩阵乘积

不满足交换律,但满足 结合律分配律

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值