计算机图形学基础--向量

向量

      • 向量的性质
      • 内积
      • 外积
      • 向量空间

向量的性质

  • 对于一个n维向量而言,用n元数组来表示向量。即: (1) V = < V 1 , V 2 , ⋯   , V n > V=<V_1,V_2,\cdots,V_n>\tag{1} V=<V1,V2,,Vn>(1) V i V_i Vi被称作向量的分量。

  • 同样地,我们也可以为一列n行的矩阵:
    (2) V = [ V 1 V 2 ⋮ V n ] V= \begin{bmatrix} V_1\\ V_2\\ \vdots\\ V_n \end{bmatrix} \tag{2} V=V1V2Vn(2)
    转置矩阵: (3) V T = [ V 1 V 2 ⋯ V n ] V^T=\begin{bmatrix} V_1&V_2& \cdots&V_n \end{bmatrix}\tag{3} VT=[V1V2Vn](3)

  • 向量可以与一个标量 a a a相乘: (4) a V = V a = < a V 1 , a V 2 , ⋯   , a V n > aV=Va=<aV_1,aV_2,\cdots,aV_n>\tag{4} aV=Va=<aV1,aV2,,aVn>(4)

  • a = − 1 a=-1 a=1时,用 − V -V V表示向量 V V V的反向量。

  • 两个向量也可以做加法: (5) P + Q = < P 1 + Q 1 , P 2 + Q 2 , ⋯   , P n + Q n > P+Q=<P_1+Q_1,P_2+Q_2,\cdots,P_n+Q_n>\tag{5} P+Q=<P1+Q1,P2+Q2,,Pn+Qn>(5)

  • 向量运算有如下性质:

    • (6) P + Q = Q + P P+Q=Q+P\tag{6} P+Q=Q+P(6)
    • (7) ( P + Q ) + R = P + ( Q + R ) (P+Q)+R=P+(Q+R)\tag{7} (P+Q)+R=P+(Q+R)(7)
    • (8) ( a b ) P = a ( b P ) (ab)P=a(bP)\tag{8} (ab)P=a(bP)(8)
    • (9) a ( P + Q ) = a P + a Q a(P+Q)=aP+aQ\tag{9} a(P+Q)=aP+aQ(9)
    • (10) ( a + b ) P = a P + b P (a+b)P=aP+bP\tag{10} (a+b)P=aP+bP(10)
  • 向量的绝对值表示向量的模,表示向量欧式空间的长度,也被称为向量的范数,绝对值为1的向量被称为单位向量。 (11) ∣ ∣ V ∣ ∣ = ∑ i = 1 n V i 2 ||V||=\sqrt {\sum^{n}_{i=1}{V^2_i}}\tag{11} V=i=1nVi2 (11)

  • 当向量是三维向量时: (12) ∣ ∣ V ∣ ∣ = V x 2 + V y 2 + V z 2 ||V||=\sqrt{V^2_x+V^2_y+V^2_z}\tag{12} V=Vx2+Vy2+Vz2 (12)

  • 加上这个概念之后,向量有如下性质:

    • (13) ∣ ∣ P ∣ ∣ > 0 ||P||>0\tag{13} P>0(13)
    • (14) ∣ ∣ P ∣ ∣ = 0 , 当 且 仅 当 P 为 零 向 量 ||P||=0,当且仅当P为零向量\tag{14} P=0P(14)
    • (15) ∣ ∣ a P ∣ ∣ = ∣ a ∣ ∣ ∣ P ∣ ∣ ||aP||=|a|||P||\tag{15} aP=aP(15)
    • (16) ∣ ∣ P + Q ∣ ∣ ≤ ∣ ∣ P ∣ ∣ + ∣ ∣ Q ∣ ∣ ||P+Q||\leq ||P||+||Q||\tag{16} P+QP+Q(16)

内积

内积定义如下: (17) P ⋅ Q = ∑ i = 1 n P i Q i P\cdot Q=\sum^n_{i=1}{P_iQ_i}\tag{17} PQ=i=1nPiQi(17)
对于三维向量: (18) P ⋅ Q = P x Q x + P y Q y + P z Q z P\cdot Q=P_xQ_x+P_yQ_y+P_zQ_z\tag{18} PQ=PxQx+PyQy+PzQz(18)
也可以表示成矩阵乘积: (19) P T ⋅ Q = [ P 1 P 2 ⋯ P n ] [ P 1 P 2 ⋮ P n ] P^T\cdot Q=\begin{bmatrix} P_1&P_2&\cdots&P_n\end{bmatrix}\begin{bmatrix} P_1\\P_2\\\vdots\\P_n\end{bmatrix}\tag{19} PTQ=[P1P2Pn]P1P2Pn(19)
假设向量 P P P Q Q Q夹角为 α \alpha α (20) P ⋅ Q = ∣ ∣ P ∣ ∣ ∣ ∣ Q ∣ ∣ c o s α P\cdot Q=||P||||Q||cos\alpha\tag{20} PQ=PQcosα(20)

若内积结果为0,则两向量垂直。
若内积结果为正,则两向量位于平面同侧
若内积结果为负,则两向量位于平面异侧

向量内积具有如下性质:
(21) P ⋅ Q = Q ⋅ P P\cdot Q=Q\cdot P\tag{21} PQ=QP(21)
(22) ( a P ) ⋅ Q = a ( P ⋅ Q ) (aP)\cdot Q=a(P\cdot Q)\tag{22} (aP)Q=a(PQ)(22)
(23) P ⋅ ( Q + R ) = P ⋅ Q + P ⋅ R P\cdot (Q+R)=P\cdot Q+P\cdot R\tag{23} P(Q+R)=PQ+PR(23)
(24) p ⋅ P = ∣ ∣ P ∣ ∣ 2 p\cdot P=||P||^2\tag{24} pP=P2(24)
(25) ∣ P ⋅ Q ∣ ≤ ∣ ∣ P ∣ ∣ ∣ ∣ Q ∣ ∣ |P\cdot Q|\leq ||P||||Q||\tag{25} PQPQ(25)
我们定义向量P在Q上的投影为 (26) p r o j Q P = ∣ ∣ P ∣ ∣ c o s α = P ⋅ Q ∣ ∣ Q ∣ ∣ 2 Q proj_QP=||P||cos\alpha=\frac{P\cdot Q}{||Q||^2}Q\tag{26} projQP=Pcosα=Q2PQQ(26)
也可以写作矩阵形式: (27) p r o j Q P = 1 ∣ ∣ Q ∣ ∣ 2 [ Q x 2 Q x Q y Q x Q z Q x Q y Q y 2 Q y Q z Q x Q z Q y Q z Q z 2 ] [ P x P y P z ] proj_QP=\frac{1}{||Q||^2} \begin{bmatrix} Q^2_x&Q_xQ_y&Q_xQ_z\\ Q_xQ_y&Q^2_y&Q_yQ_z\\Q_xQ_z&Q_yQ_z&Q^2_z\end{bmatrix}\begin{bmatrix}P_x\\P_y\\P_z\end{bmatrix}\tag{27} projQP=Q21Qx2QxQyQxQzQxQyQy2QyQzQxQzQyQzQz2PxPyPz(27)

外积

外积定义如下: (28) P × Q = < P y Q z − P z Q y , P z Q x − P x Q z , P x Q y − P y Q x > P\times Q=<P_yQ_z-P_zQ_y,P_zQ_x-P_xQ_z,P_xQ_y-P_yQ_x>\tag{28} P×Q=<PyQzPzQy,PzQxPxQz,PxQyPyQx>(28)
等同于: (29) P × Q = ∣ i j k P x P y P z Q x Q y Q z ∣ P\times Q=\left|\begin{matrix}i&j&k\\P_x&P_y&P_z\\Q_x&Q_y&Q_z\end{matrix}\right|\tag{29} P×Q=iPxQxjPyQykPzQz(29)
其中: i = < 1 , 0 , 0 > , j = < 0 , 1 , 0 > , k = < 0 , 0 , 1 > i=<1,0,0>,j=<0,1,0>,k=<0,0,1> i=<1,0,0>,j=<0,1,0>,k=<0,0,1>
除此之外,外积还有如下性质:
(30) ( P × Q ) ⋅ P = 0 (P\times Q)\cdot P=0\tag{30} (P×Q)P=0(30)
(31) ∣ ∣ P × Q ∣ ∣ = ∣ ∣ P ∣ ∣ ∣ ∣ Q ∣ ∣ s i n α ||P\times Q||=||P||||Q||sin\alpha\tag{31} P×Q=PQsinα(31)
(32) Q × P = − ( P × Q ) Q\times P=-(P\times Q)\tag{32} Q×P=(P×Q)(32)
(33) ( a P ) × Q = a ( P × Q ) (aP)\times Q=a(P\times Q)\tag{33} (aP)×Q=a(P×Q)(33)
(34) P × ( Q + R ) = P × Q + P × R P\times (Q+R)=P\times Q+P\times R\tag{34} P×(Q+R)=P×Q+P×R(34)
(35) ( P × Q ) ⋅ R = ( R × P ) ⋅ Q = ( Q × R ) ⋅ P (P\times Q)\cdot R=(R\times P)\cdot Q=(Q\times R)\cdot P\tag{35} (P×Q)R=(R×P)Q=(Q×R)P(35)
(36) P × ( Q × P ) = P × Q × P = P 2 Q − ( P ⋅ Q ) P P\times (Q\times P)=P\times Q\times P=P^2Q-(P\cdot Q)P\tag{36} P×(Q×P)=P×Q×P=P2Q(PQ)P(36)

向量空间

性质

  1. 加法封闭
  2. 乘法封闭
  3. 存在0向量
  4. 存在反向量
  5. 向量加法满足结合律
  6. 标量乘法满足结合律
  7. 满足分配率

对于含有n个向量的集合 { e 1 , e 2 , ⋯   , e n } \{ e_1,e_2,\cdots ,e_n \} { e1,e2,,en},若当:
(37) a 1 e 1 + a 2 e 2 + ⋯ + a n e n = 0 a_1e_1+a_2e_2+\cdots+a_ne_n=0\tag{37} a1e1+a2e2++anen=0(37)
时, a 1 , a 2 , ⋯   , a n 可 以 不 全 为 0 a_1,a_2,\cdots,a_n可以不全为0 a1,a2,,an0,则这n个向量线性相关,反之线性无关。
对于向量空间V而言。它的基是n个线性无关的向量组的集合, β = { e 1 , e 2 , ⋯   , e n } \beta=\{ e_1,e_2,\cdots,e_n \} β={ e1,e2,,en}
对于V中任意向量 P P P而言,可表示为: (38) P = a 1 e 1 + a 2 e 2 + ⋯ + a n e n P=a_1e_1+a_2e_2+\cdots+a_ne_n\tag{38} P=a1e1+a2e2++anen(38)

算法Gram-Schmidt(施密特正交算法)
将一组基 β = { e 1 , e 2 , ⋯   , e n } \beta=\{ e_1,e_2,\cdots,e_n \} β={ e1,e2,,en}转化为 β ′ = { e 1 ′ , e 2 ′ , ⋯   , e n ′ } \beta'=\{ e_1',e_2',\cdots,e_n' \} β={ e1,e2,,en},特别的,在 β ′ \beta' β中,向量相互垂直。
(1)令 e 1 ′ = e 1 e_1'=e_1 e1=e1
(2) i = 2 i=2 i=2
(3)从向量 e i e_i ei中减去 e i e_i ei在向量 e 1 ′ , e 2 ′ , ⋯   , e i − 1 ′ e_1',e_2',\cdots,e_{i-1}' e1,e2,,ei1上的投影,结果保存在 e i ′ e_i' ei中,即: (39) e i ′ = e i − ∑ k = 1 i − 1 e i ⋅ e k ′ e k ′ 2 e k ′ e_i'=e_i-\sum^{i-1}_{k=1}\frac{e_i\cdot e_k'}{e_k'^2}e_k'\tag{39} ei=eik=1i1ek2eiekek(39)
(4)如果 i < n i<n i<n i i i加1,转到第三步

你可能感兴趣的:(计算机图形学基础,计算机图形学,数学基础)