Lecture 2
点乘在数学上的作用
- Find angle between two vectors
- Find projection of one vector on another
点乘在CG上的作用
- Measure how close two directions are
- Decompose a vector(分解一个向量到投影方向以及法线方向)
- Determine forward / backward(判断两个向量指向同一方向还是相反方向)
叉乘
a?×a?=0?\vec{a}\times\vec{a}=\vec{0}a×a=0
坐标系计算叉乘
a?×b?=(xayaza)×(xbybzb)=(yazb?ybzazaxb?xazbxayb?yaxb)\vec{a}\times\vec{b}=\begin{pmatrix}x_a\\ y_a\\ z_a\end{pmatrix}\times\begin{pmatrix}x_b\\ y_b\\ z_b\end{pmatrix}=\begin{pmatrix}y_az_b-y_bz_a\\ z_ax_b-x_az_b\\ x_ay_b-y_ax_b\end{pmatrix} a×b=???xa?ya?za?????×???xb?yb?zb?????=???ya?zb??yb?za?za?xb??xa?zb?xa?yb??ya?xb?????
叉乘在数学上的作用
- 已知两个向量构成一个平面,可以找到这个平面的法线,构造3维右手坐标系(右手坐标系满足 x?×y?=z?\vec{x}\times\vec{y}=\vec{z}x×y?=z)
叉乘在CG上的作用
- Determine left / right(判断xoy平面上的两个向量a?,b?\vec{a}, \vec{b}a,b谁在左边谁在右边,方法是计算叉乘,根据叉乘结果与z?\vec{z}z同向或反向进行判断)
- Determine inside / outside(见课件例子,这个像是老板的一个面试题,求一个不规则图形的面积)