3D游戏与计算机图形学中的数学方法-----------1、向量

本文详细介绍了向量的基本性质,包括向量的表示方法、运算规则及其几何意义,并深入探讨了向量空间的概念,以及如何利用Gram-Schmidt正交化算法构建正交基。

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

1、向量性质
n维向量可以表示为
V⃗=⟨V1,V2,⋯ ,Vn⟩ \vec{V} = \langle V_1,V_2,\cdots,V_n \rangle V=V1,V2,,Vn
数值ViV_iVi被称为向量V⃗\vec{V}V的分量。向量V⃗\vec{V}V也可表示成仅有一列n行的矩阵:
V⃗=[V1V2⋮Vn]\vec{V} = \begin {bmatrix} V_1 \\V_2 \\ \vdots \\ V_n \\ \end {bmatrix}V=V1V2Vn
向量通常表示为这两种形式之一,但有时需要表示为一行n列的行向量形式,行向量表示成相应列向量的转置:
V⃗T=⟨V1,V2,⋯ ,Vn⟩ \vec{V}^T = \langle V_1,V_2,\cdots,V_n \rangle VT=V1,V2,,Vn
向量可以乘以一个标量变成一个新的向量,标量a与向量V⃗\vec{V}V的乘积定义如下:
aV⃗=V⃗a=⟨aV1,aV2,⋯ ,aVn⟩a\vec{V} = \vec{V}a = \langle aV_1,aV_2,\cdots,aV_n \rangle aV=Va=aV1,aV2,,aVn
a=−1a=-1a=1时,用简化符号−V⃗-\vec{V}V表示向量V⃗\vec{V}V的反向量。
向量加减法:P⃗+Q⃗=⟨P1+Q1,P2+Q2,⋯ ,Pn+Qn⟩\vec{P} + \vec{Q} = \langle P_1 + Q_1,P_2 + Q_2,\cdots,P_n + Q_n \rangle P+Q=P1+Q1,P2+Q2,,Pn+Qn
给定任意两个标量a和b,三个向量 P⃗、Q⃗、R⃗\vec{P}、\vec{Q}、\vec{R}PQR,以下性质成立。
(a) P⃗+Q⃗=Q⃗+P⃗\vec{P} + \vec{Q} = \vec{Q} + \vec{P}P+Q=Q+P
(b) (P⃗+Q⃗)+R⃗=P⃗+(Q⃗+R⃗)(\vec{P} + \vec{Q}) + \vec{R} = \vec{P} + (\vec{Q} + \vec{R})(P+Q)+R=P+(Q+R)
© (ab)P⃗=a(bP⃗)(ab)\vec{P} = a(b\vec{P})(ab)P=a(bP)
(d) a(P⃗+Q⃗)=aP⃗+aQ⃗a(\vec{P} + \vec{Q}) = a\vec{P} + a\vec{Q}a(P+Q)=aP+aQ
(e) (a+b)P⃗=aP⃗+bP⃗(a + b)\vec{P} = a\vec{P} + b\vec{P}(a+b)P=aP+bP
n维向量V⃗\vec{V}V的绝对值是一个标量,用∣∣V⃗∣∣|| \vec{V} ||V表示,计算公式如下:
∣∣V⃗∣∣=∑i=1nVi2|| \vec{V} || = \sqrt {\sum_{i=1}^{n}V_i^2}V=i=1nVi2
给定任意标量a和任意两个向量P⃗\vec{P}PQ⃗\vec{Q}Q,以下性质成立。
(a) ∣∣P⃗∣∣≥0|| \vec{P} || \geq 0P0
(b) 当且仅当 P⃗=⟨0,0,⋯ ,0⟩,∣∣P⃗∣∣=0\vec{P} = \langle 0,0,\cdots,0 \rangle,||\vec{P}|| = 0P=0,0,,0P=0
(d) ∣∣P⃗+Q⃗∣∣≤∣∣P⃗∣∣+∣∣Q⃗∣∣||\vec{P} + \vec{Q}|| \leq ||\vec{P}|| + ||\vec{Q}||P+QP+Q

2、内积和外积
两个向量的内积也被称为向量的点积或者标量积,内积可用来计算两个向量的方向差。
两个n维向量P⃗\vec{P}PQ⃗\vec{Q}Q的内积可以表示为P⃗⋅Q⃗\vec{P}\cdot\vec{Q}PQ,是一个标量。计算公式如下:
P⃗⋅Q⃗=∑i=1nPiQi\vec{P}\cdot\vec{Q} = \sum_{i=1}^{n} P_iQ_iPQ=i=1nPiQi
给定任意两个n维向量P⃗\vec{P}PQ⃗\vec{Q}Q,内积P⃗⋅Q⃗\vec{P}\cdot\vec{Q}PQ满足以下等式。
P⃗⋅Q⃗=∣∣P⃗∣∣ ∣∣Q⃗∣∣cosα\vec{P}\cdot\vec{Q} = ||\vec{P}||\space||\vec{Q}||cos\alphaPQ=P Qcosα
其中α\alphaα是坐标原点分别与向量P⃗\vec{P}PQ⃗\vec{Q}Q对应的点之间连线的夹角。
给定任意标量a和任意三个向量P⃗\vec{P}PQ⃗\vec{Q}QR⃗\vec{R}R,向量内积具有以下性质。
(a) P⃗⋅Q⃗=Q⃗⋅P⃗\vec{P}\cdot\vec{Q} = \vec{Q}\cdot\vec{P}PQ=QP
(b) (aP⃗)⋅Q⃗=a(P⃗⋅Q⃗)(a\vec{P})\cdot\vec{Q} = a(\vec{P}\cdot\vec{Q})(aP)Q=a(PQ)
© P⃗⋅(Q⃗+R⃗)=P⃗⋅Q⃗+P⃗⋅R⃗\vec{P}\cdot(\vec{Q} + \vec{R}) = \vec{P}\cdot\vec{Q} + \vec{P}\cdot\vec{R}P(Q+R)=PQ+PR
(d) P⃗⋅P⃗=∣∣P⃗∣∣2\vec{P}\cdot\vec{P} = ||\vec{P}||^2PP=P2
(e) ∣P⃗⋅Q⃗∣≤∣∣P⃗∣∣ ∣∣Q⃗∣∣|\vec{P}\cdot\vec{Q}|\leq||\vec{P}||\space||\vec{Q}||PQP Q
向量P⃗\vec{P}P在向量Q⃗\vec{Q}Q上的投影
projQP⃗=P⃗⋅Q⃗∣∣Q⃗∣∣2Q⃗proj_Q\vec{P}=\frac{\vec{P}\cdot\vec{Q}}{||\vec{Q}||^2}\vec{Q}projQP=Q2PQQ
向量P⃗\vec{P}P相对于向量Q⃗\vec{Q}Q的垂直分量可表示为
perpQP⃗=P⃗−P⃗⋅Q⃗∣∣Q⃗∣∣2Q⃗perp_Q\vec{P}=\vec{P}-\frac{\vec{P}\cdot\vec{Q}}{||\vec{Q}||^2}\vec{Q}perpQP=PQ2PQQ
两个三维向量的外积也称为向量积,两个向量的外积可以产生一个与这两个向量都垂直的新向量。
给定两个三维向量P⃗\vec{P}PQ⃗\vec{Q}Q,它们的外积可写为P⃗×Q⃗\vec{P}\times\vec{Q}P×Q,其结果也为一个向量:
P⃗×Q⃗=⟨PyQz−PzQy,PzQx−PxQz,PxQy−PyQx⟩\vec{P}\times\vec{Q}=\langle P_yQ_z-P_zQ_y,P_zQ_x-P_xQ_z,P_xQ_y-P_yQ_x\rangleP×Q=PyQzPzQy,PzQxPxQz,PxQyPyQx
令两个向量P⃗\vec{P}PQ⃗\vec{Q}Q为三维向量,则(P⃗×Q⃗)⋅P⃗=0(\vec{P}\times\vec{Q})\cdot\vec{P}=0(P×Q)P=0,而且(P⃗×Q⃗)⋅Q⃗=0(\vec{P}\times\vec{Q})\cdot\vec{Q}=0(P×Q)Q=0
给定两个三维向量P⃗\vec{P}PQ⃗\vec{Q}Q,外积P⃗×Q⃗\vec{P}\times\vec{Q}P×Q满足一下方程:
∣∣P⃗×Q⃗∣∣=∣∣P⃗∣∣ ∣∣Q⃗∣∣sinα||\vec{P}\times\vec{Q}||=||\vec{P}||\space||\vec{Q}||sin\alphaP×Q=P Qsinα
以上公式计算出的两个向量的外积的大小等于平行四边形的面积,该平行四边形的两个邻边分别是两个向量P⃗\vec{P}P和向量Q⃗\vec{Q}Q,继而可得出,有三个顶点V1⃗\vec{V_1}V1V2⃗\vec{V_2}V2V3⃗\vec{V_3}V3组成的任意三角形的面积A可由以下公式计算:
A=12∣∣(V2⃗−V1⃗)×(V3⃗−V1⃗)∣∣A = \frac{1}{2}||(\vec{V_2}-\vec{V_1})\times(\vec{V_3}-\vec{V_1})||A=21(V2V1)×(V3V1)
规定向量外积得到的新向量遵循右手定律,右手手指的方向与向量P⃗\vec{P}P的方向对齐,手掌朝向向量Q⃗\vec{Q}Q的方向,则拇指所指的方向就是向量P⃗\vec{P}PQ⃗\vec{Q}Q的外积P⃗×Q⃗\vec{P}\times\vec{Q}P×Q的方向。
给定任意两个标量a和b以及任意3个三维向量P⃗\vec{P}PQ⃗\vec{Q}QR⃗\vec{R}R,向量外积具有以下性质。
(a) Q⃗×P⃗=−(P⃗×Q⃗)\vec{Q}\times\vec{P} = -(\vec{P}\times\vec{Q})Q×P=(P×Q)
(b) (aP⃗)×Q⃗=a(P⃗×Q⃗)(a\vec{P})\times\vec{Q} = a(\vec{P}\times\vec{Q})(aP)×Q=a(P×Q)
© P⃗×(Q⃗+R⃗)=P⃗×Q⃗+P⃗×R⃗\vec{P}\times(\vec{Q} + \vec{R}) = \vec{P}\times\vec{Q} + \vec{P}\times\vec{R}P×(Q+R)=P×Q+P×R
(d) P⃗×P⃗=0⃗=⟨0,0,0⟩\vec{P}\times\vec{P} = \vec{0} = \langle0,0,0\rangleP×P=0=0,0,0
(e) (P⃗×Q⃗)⋅R⃗=(R⃗×P⃗)⋅Q⃗=(Q⃗×R⃗)⋅P⃗(\vec{P}\times\vec{Q})\cdot\vec{R}=(\vec{R}\times\vec{P})\cdot\vec{Q}=(\vec{Q}\times\vec{R})\cdot\vec{P}(P×Q)R=(R×P)Q=(Q×R)P
(f) P⃗×(Q⃗×P⃗)=P⃗×Q⃗×P⃗=P⃗2Q⃗−(P⃗⋅Q⃗)P⃗\vec{P}\times(\vec{Q}\times\vec{P})=\vec{P}\times\vec{Q}\times\vec{P}=\vec{P}^2\vec{Q}-(\vec{P}\cdot\vec{Q})\vec{P}P×(Q×P)=P×Q×P=P2Q(PQ)P

3、向量空间
向量空间是一个集合V,该集合的元素都是向量,定义了加法和标量乘法,则以下性质成立。
(a)集合V对加法运算封闭,即集合V中的任意向量P⃗\vec{P}PQ⃗\vec{Q}Q,它们的和P⃗+Q⃗\vec{P}+\vec{Q}P+Q也是集合V的向量。
(b)集合V对标量乘法运算封闭,即对于任意实数a和集合V中的任意向量P⃗\vec{P}P,它们的积aP⃗a\vec{P}aP也是集合V的向量。
(c)集合V中存在0⃗\vec{0}0向量,对于集合V中的任意向量P⃗\vec{P}PP⃗+0⃗=0⃗+P⃗=P⃗\vec{P}+\vec{0}=\vec{0}+\vec{P}=\vec{P}P+0=0+P=P成立。
(d)对于集合V中的任意向量P⃗\vec{P}P,集合V中存在向量Q⃗\vec{Q}Q,使P⃗+Q⃗=0⃗\vec{P}+\vec{Q}=\vec{0}P+Q=0成立。
(e)集合V中的向量满足结合律,即对于集合V中的任意向量P⃗\vec{P}PQ⃗\vec{Q}QR⃗\vec{R}R(P⃗+Q⃗)+R⃗=P⃗+(Q⃗+R⃗)(\vec{P}+\vec{Q})+\vec{R}=\vec{P}+(\vec{Q}+\vec{R})(P+Q)+R=P+(Q+R)成立。
(f)标量乘法满足结合律,即对于任意实数a和b,以及集合V中的任意向量P⃗\vec{P}P(ab)P⃗=a(bP⃗)(ab)\vec{P}=a(b\vec{P})(ab)P=a(bP)成立。
(g)标量与向量和的乘法满足分配律,即对于任意实数a,以及集合V中的任意向量P⃗\vec{P}PQ⃗\vec{Q}Qa(P⃗+Q⃗)=aP⃗+aQ⃗a(\vec{P}+\vec{Q})=a\vec{P}+a\vec{Q}a(P+Q)=aP+aQ成立。
(h)标量和与向量的乘法满足分配律,即对于任意实数a和b,以及集合V中的任意向量P⃗\vec{P}Pa(P⃗+Q⃗)=aP⃗+aQ⃗a(\vec{P}+\vec{Q})=a\vec{P}+a\vec{Q}a(P+Q)=aP+aQ成立。
对于含有那个向量的集合{e1⃗,e2⃗,⋯ ,en⃗}\lbrace \vec{e_1},\vec{e_2},\cdots,\vec{e_n} \rbrace{e1,e2,,en},如果不存在不全为0的数a1,a2,⋯ ,ana_1,a_2,\cdots,a_na1,a2,,an使下式成立,则向量集合线性无关。
a1e1⃗+a2e2⃗+⋯+anen⃗=0⃗a_1\vec{e_1}+a_2\vec{e_2}+\cdots+a_n\vec{e_n}=\vec{0}a1e1+a2e2++anen=0
反之,则向量集合线性相关。
向量空间V的基β\betaβ是n个线性无关向量的集合,β={e1⃗,e2⃗,⋯ ,en⃗}\beta=\lbrace \vec{e_1},\vec{e_2},\cdots,\vec{e_n} \rbraceβ={e1,e2,,en},对于向量空间V中的任意向量P⃗\vec{P}P,存在一组实数a1,a2,⋯ ,ana_1,a_2,\cdots,a_na1,a2,,an,使下式成立。
P⃗=a1e1⃗+a2e2⃗+⋯+anen⃗\vec{P}=a_1\vec{e_1}+a_2\vec{e_2}+\cdots+a_n\vec{e_n}P=a1e1+a2e2++anen
一个向量空间有无穷多个基。
在向量空间的基β\betaβ中,如果任意两个向量ei⃗\vec{e_i}eiej⃗\vec{e_j}eji≠ji\neq ji=j,且ei⃗⋅ej⃗=0\vec{e_i}\cdot\vec{e_j}=0eiej=0,则基β\betaβ称为向量空间的正交基。
给定任意两个向量e1⃗\vec{e_1}e1e2⃗\vec{e_2}e2,如果e1⃗⋅e2⃗=0\vec{e_1}\cdot\vec{e_2}=0e1e2=0,则e1⃗\vec{e_1}e1e2⃗\vec{e_2}e2两个向量线性无关。
在向量空间V中,找到n个正交向量,那么这些正交向量的集合组成向量空间的基。
对于向量空间的正交基,如果其中每个向量的长度均为1,则称为规范正交基。为了方便表示,引入克罗内克符号函数
δij≡{1,如果i=j0,如果i≠j\delta_{ij}\equiv\begin{cases} 1, & \text {如果$i=j$} \\ 0, & \text {如果$i\neq j$} \end{cases} δij{1,0,如果i=j如果i=j
在向量空间的基β={e1⃗,e2⃗,⋯ ,en⃗}\beta=\lbrace \vec{e_1},\vec{e_2},\cdots,\vec{e_n} \rbraceβ={e1,e2,,en}中,如果任意两个向量ei⃗\vec{e_i}eiej⃗\vec{e_j}ejei⃗⋅ej⃗=δij\vec{e_i}\cdot\vec{e_j}=\delta_{ij}eiej=δij,则基β\betaβ称为向量空间的规范正交基。
下面使在向量空间中,将n个线性无关向量组成的集合变换成正交基的方法。
Gram-Schmidt正交化算法。给定n个线性无关向量组成的集合β\betaββ={e1⃗,e2⃗,⋯ ,en⃗}\beta=\lbrace \vec{e_1},\vec{e_2},\cdots,\vec{e_n} \rbraceβ={e1,e2,,en},该算法可计算出向量集合β′={e1′⃗,e2′⃗,⋯ ,en′⃗}\beta^\prime=\lbrace \vec{e_1^\prime},\vec{e_2^\prime},\cdots,\vec{e_n^\prime} \rbraceβ={e1,e2,,en},当i≠ji\neq ji=j时,ei′⃗⋅ej′⃗=0\vec{e_i^\prime}\cdot\vec{e_j^\prime}=0eiej=0
(a) 令e1′⃗=e1⃗\vec{e_1^\prime}=\vec{e_1}e1=e1
(b) i=2i=2i=2
© 从向量ei⃗\vec{e_i}ei中减去ei⃗\vec{e_i}ei在向量e1′⃗,e2′⃗,⋯ ,ei−1′⃗\vec{e_1^\prime},\vec{e_2^\prime},\cdots,\vec{e_{i-1}^\prime}e1,e2,,ei1上的投影,结果保存到ei′⃗\vec{e_i^\prime}ei中,即
ei′⃗=ei⃗−∑k=1i−1ei⃗⋅ek′⃗ek′⃗2ek′⃗\vec{e_i^\prime}=\vec{e_i}-\sum_{k=1}^{i-1}{\frac{\vec{e_i}\cdot\vec{e_k^\prime}}{\vec{e_k^\prime}^2}\vec{e_k^\prime}}ei=eik=1i1ek2eiekek
(d) 如果i<ni<ni<niii加1,转到步骤©。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值