第二章 向量

该章主要讲述向量的基本概念和性质,并且给出了性质的证明。
证明笔记这里就不给出了,毕竟向量的基本性质都是印在脑子里的东西了,要看证明的话可以翻小、初、高课本…

2.1向量性质

定理2.1:

  • P + Q = Q + P
  • (P + Q) + R = P + (Q + R)
  • (ab)P = a(bP)
  • a(P + Q) = aP + aQ
  • (a + b)P = aP + bP

定理2.2:

  • ||P|| >= 0 (||P|| 为 向量的模 即 向量长度)
  • 当且仅当 P = (0, 0, …, 0), ||P|| = 0
  • ||aP|| = |a| ||P||
  • ||P + Q|| <= ||P|| + ||Q||

2.2 内积(点乘)

定理2.3:

  • P⋅Q=∑PiQiP \cdot Q = \sum{P_iQ_i}P⋅Q=∑Pi​Qi​

定理2.4:

  • P⋅QP \cdot QP⋅Q = ||P|| ||Q|| cosα

内积的矩阵表示:
P⋅Q=PT⋅Q=[P1,P2,...,Pn][Q1Q2...Qn]P \cdot Q = P^T \cdot Q = [P_1, P_2, ... , P_n] \begin{bmatrix} Q_1 \\ Q_2 \\ ... \\ Q_n \end{bmatrix}P⋅Q=PT⋅Q=[P1​,P2​,...,Pn​]⎣⎢⎢⎡​Q1​Q2​...Qn​​⎦⎥⎥⎤​

定理2.5:

  • P⋅Q=Q⋅PP \cdot Q = Q \cdot PP⋅Q=Q⋅P
  • (aP)⋅Q=a(P⋅Q)(aP) \cdot Q = a(P \cdot Q)(aP)⋅Q=a(P⋅Q)
  • P⋅(Q+R)=P⋅Q+P⋅RP \cdot (Q + R) = P \cdot Q + P \cdot RP⋅(Q+R)=P⋅Q+P⋅R
  • P⋅P=∣∣P∣∣2P \cdot P = ||P||^2P⋅P=∣∣P∣∣2
  • ∣P⋅Q∣≤∣∣P∣∣∣∣Q∣∣|P \cdot Q| \leq ||P|| ||Q||∣P⋅Q∣≤∣∣P∣∣∣∣Q∣∣

2.3 外积(叉乘)

定理2.6:

  • P×Q=(PyQz−PzQy,PzQx−PxQz,PxQy−PyQx)P \times Q = (P_yQ_z - P_zQ_y, P_zQ_x - P_xQ_z, P_xQ_y - P_yQ_x)P×Q=(Py​Qz​−Pz​Qy​,Pz​Qx​−Px​Qz​,Px​Qy​−Py​Qx​)

定理2.7:

  • (P×Q)⋅P=(P/timesQ)⋅Q=0(P \times Q) \cdot P = (P /times Q) \cdot Q = 0(P×Q)⋅P=(P/timesQ)⋅Q=0

定理2.8:

  • ∣∣P×Q∣∣=∣∣P∣∣∣∣Q∣∣sinα||P \times Q|| = ||P|| ||Q|| sinα∣∣P×Q∣∣=∣∣P∣∣∣∣Q∣∣sinα

定理2.9:

  • Q×P=−(P/timesQ)Q \times P = -(P /times Q)Q×P=−(P/timesQ)
  • (aP)×Q=a(P×Q)(aP) \times Q = a(P \times Q)(aP)×Q=a(P×Q)
  • P×(Q+R)=P×Q+P×RP \times (Q + R) = P \times Q + P \times RP×(Q+R)=P×Q+P×R
  • P×P=0P \times P = 0P×P=0(零向量)
  • (P×Q)⋅R=(R×P)⋅Q=(Q×R)⋅P(P \times Q) \cdot R = (R \times P) \cdot Q = (Q \times R) \cdot P(P×Q)⋅R=(R×P)⋅Q=(Q×R)⋅P
  • P×(Q×P)=P×Q×P=P2Q−(P×Q)PP \times (Q \times P) = P \times Q \times P = P^2Q - (P \times Q)PP×(Q×P)=P×Q×P=P2Q−(P×Q)P

向量空间

定义2.10:

  • 向量空间是一个集合 V,该集合的元素都是向量,定义了加法和标量乘法,则有以下性质成立:

    • 集合 V 对加法运算封闭,即 集合V 中任意的向量 P 和 Q,它们的和 P+QP + QP+Q 也是集合V的向量。
    • 集合V 对标量乘法运算封闭,即对于任意实数a 和 集合V中的任意向量P,它们的积 aPaPaP 也是集合V的向量。
    • 集合V中存在零向量,在集合V中的任意向量 P,P+0=0+P+PP + 0 = 0 + P + PP+0=0+P+P 成立
    • 对于集合V中的任意向量P,在集合V中存在向量Q,使 P+Q=0P + Q = 0P+Q=0 成立
    • 集合V中的向量满足结合律,即对于集合V中的任意向量 P、Q 和 R,(P+Q)+R=P+(Q+R)(P + Q) + R = P + (Q + R)(P+Q)+R=P+(Q+R)成立
    • 标量乘法满足结合律,即对于任意实数 a 和 b,以及集合V中的任意向量P,(ab)P = a(bP) 成立
    • 标量与向量和的乘法满足分配律,即对于任意实数 a 和 b,以及集合V中任意向量 P 和 Q,a(P+Q)=aP+aQa(P + Q) = aP + aQa(P+Q)=aP+aQ成立
    • 标量与向量的乘法满足分配律,即对于任意实数 a 和 b,以及集合V中的任意向量P,(a+b)P=aP+bP(a + b)P = aP + bP(a+b)P=aP+bP 成立

定义2.11:

  • 对于含有 n个 向量的集合 {e1,e2,e3,...,en}\{e_1, e_2, e_3, ... , e_n\}{e1​,e2​,e3​,...,en​},有该式 a1e1+a2e2+...+anen=0a_1e_1 + a_2e_2 + ... + a_ne_n = 0a1​e1​+a2​e2​+...+an​en​=0,如果不存在不全为0的数 a1,a2,...,ana_1, a_2, ... , a_na1​,a2​,...,an​ 使该式成立,则向量集合线性无关。反之,则集合线性相关。

一个 n维向量空间 可由 n个线性无关向量的集合生成,生成向量空间的向量集合称为 向量空间的基:
定义2.12:

  • 向量空间VVV 的基 BBB 是 n个线性无关向量的集合,B={e1,e2,...,en}B = \{e_1, e_2, ... , e_n\}B={e1​,e2​,...,en​},对于向量空间VVV中的任意向量PPP,存在一组实数a1,a2,...,ana_1, a_2, ... , a_na1​,a2​,...,an​, 使得该式 P=a1e1+a2e2+...+anenP = a_1e_1 + a_2e_2 + ... + a_ne_nP=a1​e1​+a2​e2​+...+an​en​ 成立。
    一个n维向量空间的每个基中有且仅有n个向量,如 三维坐标系的三个轴 x、y、z 对应的单位向量就是 3维向量空间的一个基

定义2.13:

  • 在向量空间的基BBB 中,如果任意两个向量 eie_iei​ 和 eje_jej​, i≠ji \neq ji​=j,且 ei⋅ej=0e_i \cdot e_j = 0ei​⋅ej​=0,则基BBB称为向量空间的正交基

定理2.14:

  • 给定任意两个向量 e1e_1e1​ 和 e2e_2e2​,如果 e1⋅e2=0e_1 \cdot e_2 = 0e1​⋅e2​=0,则e1e_1e1​ 和 e2e_2e2​ 两个向量线性无关

对于向量空间的正交基,如果其中每个向量的长度均为1,则称为规范正交基。为了方便表示,引入 克罗内克符号:
δij={1如果i=j0如果i≠jδ_{ij} = \begin{cases} 1& \text{如果} i = j \\ 0& \text{如果} i \neq j \\ \end{cases} δij​={10​如果i=j如果i​=j​
定义2.15

  • 在向量空间的基 B={e1,e2,...,en}B = \{e_1, e_2, ... , e_n\}B={e1​,e2​,...,en​} 中,如果任意两个向量 eie_iei​ 和 eje_jej​,ei⋅ej=δije_i \cdot e_j = δ_{ij}ei​⋅ej​=δij​,则基BBB称为向量空间的规范正交基
    如 (1,0,0),(0,1,0),(0,0,1)(1, 0, 0), (0, 1, 0), (0, 0, 1)(1,0,0),(0,1,0),(0,0,1) 就是三维向量空间的规范正交基

算法2.16:

  • Gram-Schmidt 正交化算法。给的 n 个线性无关向量组成的集合BBB,B={e1,e2,...,en}B=\{e_1, e_2, ..., e_n\}B={e1​,e2​,...,en​},该算法可计算出向量集合B′={e1′,e2′,...,en′}B' = \{e'_1, e'_2, ... , e'_n\}B′={e1′​,e2′​,...,en′​},当 i≠ji \neq ji​=j 时,ei′⋅ej′=0e'_i \cdot e'_j = 0ei′​⋅ej′​=0 算法步骤如下:
    (a) 令 e1′=e1e'_1 = e_1e1′​=e1​
    (b) 之后考虑 i=2i = 2i=2 以后的情况
    © 从向量 eie_iei​ 中减去 eie_iei​ 在 向量e1′,e2′,...,ei−1′e'_1, e'_2, ... , e'_{i - 1}e1′​,e2′​,...,ei−1′​ 上的投影,结果保存到 ei′e'_iei′​ 中,即:
    ei′=ei−∑k=1i−1ei⋅ek′ek′2ek′e'_i = e_i - \sum^{i-1}_{k=1}{\frac{e_i \cdot e'_k}{{e'_k}^2}e'_k} ei′​=ei​−k=1∑i−1​ek′​2ei​⋅ek′​​ek′​
    (d) 如果 i<ni < ni<n,i++,转到步骤 ©

《3D游戏与计算机图形学中的数学方法》学习笔记 第二章相关推荐

  1. java3d点线面_3D游戏与计算机图形学中的数学方法-点线面

    <易传·系辞上传>:"易有太极,是生两仪,两仪生四象,四象生八卦." 借用一下古代先人们的智慧引一下本文的主题-三维图形中的点线面,在三维几何中也有一句话可以和上面的话 ...

  2. 《计算机图形学原理及实践》学习笔记之第十章

    第十章 2D 变换 线性变换: 对于 2D 空间: T:R2−>R2T:R^2 -> R^2T:R2−>R2 R2R^2R2 表示二维空间,及一个二维空间向量 或 点经过线性变换仍是 ...

  3. 计算机安全原理与实践_《计算机图形学原理及实践》学习笔记之第三章

    第三章 一个古老的绘制器 1525年,阿尔布雷·丢勒 制作了一幅木刻画,展示了一种可以绘制任一形体透视图的方法. 本章我们将开发一个软件来模拟丢勒展示的方法. 丢勒视角绘制算法的伪代码 Input: ...

  4. 《计算机图形学原理及实践》学习笔记之第三章

    第三章 一个古老的绘制器 1525年,阿尔布雷·丢勒 制作了一幅木刻画,展示了一种可以绘制任一形体透视图的方法. 本章我们将开发一个软件来模拟丢勒展示的方法. 丢勒视角绘制算法的伪代码 Input: ...

  5. MIT18.065 数据分析、信号处理和机器学习中的矩阵方法-学习笔记

    文章目录 MIT18.065 数据分析.信号处理和机器学习中的矩阵方法 Lecture 1 The Column Space of A Contains All Vectors Ax A=CR A=C ...

  6. 数学之美--计算机图形学中的数学方法论

    我的github: https://github.com/jackyblf 我的公众号: 早期研究3D程序开发的程序员最大的情怀就是从无到有,自己实现一个游戏引擎.当时的我也是充满着这种复古情怀!! ...

  7. 计算机图形学与opengl C++版 学习笔记 第5章 纹理贴图

    目录 5.1 加载纹理图像文件 5.2 纹理坐标 5.3 创建纹理对象 5.4 构建纹理坐标 5.5 将纹理坐标载入缓冲区 5.6 在着色器中使用纹理:采样器变量和纹理单元 5.7 纹理贴图:示例程序 ...

  8. 计算机图形学与opengl C++版 学习笔记 第11章 参数曲面

    目录 11.1 二次贝塞尔曲线(三点) 11.2 三次贝塞尔曲线(四点) 11.3 二次贝塞尔曲面(3x3控制点) 11.4 三次贝塞尔曲面(4x4控制点) 补充说明 在20世纪50年代和60年代在雷 ...

  9. 计算机图形学与opengl C++版 学习笔记 第14章 其他技术

    目录 14.1 雾 14.2 复合.混合.透明度 14.3 用户定义剪裁平面 14.4 3D纹理 14.5 噪声 14.6 噪声应用--大理石 14.8 噪声应用--云 14.9 噪声应用--特殊效果 ...

最新文章

  1. 境外 java 中文乱码_Java前后端交互中文出现乱码??
  2. 激光与红外线的区别?激光雷达与毫米波雷达区别?毫米波雷达无法感知行人吗?关于Intel Realsense D435有源红外技术猜想
  3. python map(function, iterable, ...) 内置函数的用法 (序列迭代调用并返回)
  4. wxWidgets:拖动一个 wxWindow
  5. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! iview-admin@2.0.0 dev: `vue-cli-service serve
  6. python3.7下载教程视频_视频 | 我选择Python3.7来学习!顺便把教程分享给大家
  7. 单体多字系统以及多体并行系统
  8. 洛谷P2051 中国象棋
  9. vant area地区选择组件使用方法
  10. 您可能是盗版软件的受害者——解决办法
  11. 深入浅出Alpha Zero技术原理
  12. Win10 中主机名hosts 文件位置
  13. 元素的显示、隐藏、遮罩
  14. 动手学深度学习——目标检测 SSD R-CNN Fast R-CNN Faster R-CNN Mask R-CNN
  15. 【谷粒商城基础篇】仓储服务:仓库维护
  16. win7在扩展屏/副屏显示任务栏
  17. Alpine Linux(初)
  18. Vue CLI 3.x 与 2.x的区别
  19. 数据分析6_视频游戏销售分析_kaggle入门
  20. php 爬虫 超市,scrapy爬虫 爬取天猫进口零食网页

热门文章

  1. 求勒让德n阶多项式、图像及求导 python实现
  2. 基于matlab使用被动声纳系统定位声学信标(附源码)
  3. seo工具条】网站seo具体怎么做
  4. 【Python数据可视化】使用geoplotlib绘制地理空间数据
  5. JS - 导出一个或多个pdf 生成zip压缩包
  6. 如何安装python
  7. vscode 批量重命名_vscode配置 打造性感好用的编辑器
  8. 云安全高等教育改革示范教材
  9. latex 长公式换行括号-换行后括号大小不一致
  10. 软件工程基础结对项目——地铁