Vectors(向量)
向量的长度 : ∥ a ⃗ ∥ \lVert\vec{a}\rVert ∥a∥
单位向量= 向量/向量的长度 (代表方向): a ^ = a ⃗ / ∥ a ∥ \hat{a}=\vec a/\lVert a\rVert a^=a/∥a∥ (代表方向)
列向量 : A = ( x y ) A=\dbinom{x}{y} A=(yx)
转置变成行向量 : A T = ( x , y ) A^T = (x,y) AT=(x,y)
向量点乘:
得到的结果为数值
- a ⃗ ⋅ b ⃗ = ∥ a ⃗ ∥ ∥ b ⃗ ∥ c o s θ \vec{a}\cdot\vec b =\lVert\vec{a}\rVert\lVert\vec{b}\rVert cos\theta a⋅b=∥a∥∥b∥cosθ
- c o s θ = a ⃗ ⋅ b ⃗ ∥ a ⃗ ∥ ∥ b ⃗ ∥ cos\theta = \dfrac{\vec{a}\cdot\vec b}{\lVert\vec{a}\rVert\lVert\vec{b}\rVert } cosθ=∥a∥∥b∥a⋅b
- 如果都为单位向量: c o s θ = a ^ ⋅ b ^ cos\theta = \hat{a}\cdot\hat b cosθ=a^⋅b^
( a ^ \hat a a^代表单位向量)
点乘的运算法则:
- 交换律
- 分配律
- 结合律
2维点乘:
3维点乘:
向量b投影到向量a上:
向量点乘作用 :
判断两个向量是接近,远离还是垂直,根据向量间的角度,即两向量之间点乘的值
若为正数 : 接近
若为负数 : 远离
若为0 : 垂直
向量叉乘:
得到的结果为向量
使用右手定则, 四指方向为a , 螺旋方向为b ,拇指方向为叉乘结果
a×b : (螺旋大拇指向上)
b×a : (螺旋大拇指向下)
运算法则:
叉乘作用:
-
判断一个向量a在另一个向量b的哪边
-
判断向量b在向量a左边,叉乘结果为正数 :
-
向量a在向量b右边,叉乘结果为负数 :
-
-
判断一个点是否在图形内(一般用于判断像素是否在区域内,然后考虑着色)
-
(右手螺旋定则) AB×AP = 正数 (所以AP在AB左边)
-
BC×BP = 正数 (所以BP在BC左边)
-
CA×CP = 正数 (所以CP在CA左边)
故判断出P在三角形ABC里面,(同理,都在右边也成立)
反之,有一个叉乘结果不同于其他叉乘结果,则P在三角形外面.
-
Matrix(矩阵):
矩阵a(M,N) × 矩阵b(N,P) = 矩阵c(M,P)
a(3,2) , b(2,4) , c(3,4)
c[第2行,第4列]=a[第2行]各元素 依次乘以 b[第4列]各元素后相加
比如 : 54 + 23 = 26
性质 : 不存在交换律(不交换顺序)
矩阵转置:
单位矩阵 与 矩阵互逆:
向量点积转换为矩阵:
向量叉积转换为矩阵: