2.4 向量

  一个向量由长度和方向组成。它可被表示为一个箭头。两个向量若长度和方向相等,那么它们就相等,即便我们认为它们处于不同的位置(图2.11)。

  你应该尽可能地把向量看作一个箭头而不是坐标或数字。有时候,我们不得不在我们的程序中将向量表示为数字,但即便是这样,也应该以对象的形式来处理向量,只在底层向量操作才需要知道它们的数字形式。向量以加粗字符的形式表示,比如 a \pmb{a} aaa,向量长度表示为 ∣ ∣ a ∣ ∣ ||\pmb{a}|| ∣∣aaa∣∣。单位向量(unit vector)是长度为1的向量。零向量(zero vector)是长度为0的向量。零向量的方向是未定义(undefined)的。

向量可用于表示许多不同的东西。举个例子,向量可表示位移(offset/displacement)。如果我们知道“宝藏被埋在密会地点往东走两步往北走三步的地方”,这样我们就知道了位移(offset),但我们不知道从何处开始(不知道密会地点位置)。向量也可用于存储一个位置(location/position/point)。位置(Locations)可被表示为距离另一个位置的一段位移。通常,有一些已知的原点位置(origin),那么其他位置就可表示为一段位移(offset)。注意,位置(locations)不是向量。你可以添加两个向量,但是,通常添加两个位置没有意义,除非是计算一个位置的加权平均值的中间操作。添加两个向量确实有意义,这也是为什么位移(offset)是向量的一个原因。但这也强调了位置(location)不是位移(offset);它是从一个特定原点的位移(offset)。这个位移(offset)本身不是位置(location)。
【说得很绕,但其实就是说了位移(offset)和位置(location)的区别。位移很简单是没有固定起始位置的,它是一个向量;若给位移确定了一个起始点,那么就可以算出终点,是一个确定的位置。

位置的加权平均值暂时不知道是什么意思】

2.4.1 向量操作

向量有大多数常用代数运算。若长度相等且方向相同,则两向量相同。向量相加遵循平行四边形法则,就像图2.12一样,两向量首尾相连得出第三个向量,即两向量的和。
(图2.12)

图2.12中,平行四边形由两个类似的三角形组成,一个是 a + b \pmb{a}+\pmb{b} aaa+bbb的三角形,一个是 b + a \pmb{b}+\pmb{a} bbb+aaa,两种相加都得到相同的向量,这体现了向量加法具有交换律

a + b = b + a \pmb{a}+\pmb{b}=\pmb{b}+\pmb{a} aaa+bbb=bbb+aaa

向量 − a -\pmb{a} −aaa(图2.13)与 a \pmb{a} aaa长度一样但方向相反,从中我们可得向量减法:

b − a ≡ − a + b \pmb{b}-\pmb{a}\equiv-\pmb{a}+\pmb{b} bbb−aaa≡−aaa+bbb

图2.14用平行四边形体现了向量减法

a + ( b − a ) = b \pmb{a}+(\pmb{b}-\pmb{a})=\pmb{b} aaa+(bbb−aaa)=bbb

向量也可以用于乘法运算,事实上,向量有几种乘法形式。首先,我们可以通过乘一个实数k来缩放该向量,只是向量的长度乘以实数k但并没有改变它的方向。举个例子, 3.5 a 3.5\pmb{a} 3.5aaa向量与 a \pmb{a} aaa向量方向一致,却是 a \pmb{a} aaa向量的3.5倍长。我们将讨论两向量相乘的两种结果形式,点积和叉积。在第6章,我们还将讨论三个向量的乘积,即行列式。

2.4.2 向量的笛卡尔坐标系

一个二维向量可以写成任意两个非零且彼此不平行的向量的组合。这两个向量的这种特征称为线性独立。两个线性独立的向量可组成一个二维基,因此这两种向量被称为基向量。举个例子,一个向量 c \pmb{c} ccc可被表示为两个基向量 a \pmb{a} aaa和 b \pmb{b} bbb的组合。(图2.15) c = a c a + b c b c = a_c\pmb{a}+b_c\pmb{b} c=ac​aaa+bc​bbb

(图2.15)

注意,权重 a c a_c ac​和 b c b_c bc​是唯一的。如果这两个基向量正交(垂直),则基特别有用。如果两个基向量既是单位向量又正交,那就更有用了。如果我们知道这两个特殊的基向量 x \pmb{x} xxx和 y \pmb{y} y​y​​y,那么我们可以利用它们表示笛卡尔坐标系中的任意其他向量,每个其他向量可用两个实数表示,举个例子,向量 a \pmb{a} aaa表示为 a = x a x + y a y \pmb{a}=x_a\pmb{x}+y_a\pmb{y} aaa=xa​xxx+ya​y​y​​y【 x a x_a xa​和 y a y_a ya​是二维向量 a \pmb{a} aaa的实数笛卡尔坐标。】(图2.16)

使用笛卡尔坐标系有几个好处,例如,根据Pythagorean定理, a \pmb{a} aaa的长度是 x a 2 + y a 2 \sqrt {x_a^2+y_a^2} xa2​+ya2​ ​

在笛卡尔坐标系中计算点积、叉积和向量坐标也很简单。

按照惯例,我们可以这样表示一个坐标,用一个有序对 ( x a , y a ) (x_a,y_a) (xa​,ya​)表示,或一个列矩阵 a = [ x a y a ] a=\begin{bmatrix}x_a \\ y_a\\ \end{bmatrix} a=[xa​ya​​],我们使用哪种形式表示向量取决于排版便利性。我们偶尔也会将向量写成行矩阵 a T = [ x a y a ] a^T = \begin{bmatrix}x_a & y_a \\ \end{bmatrix} aT=[xa​​ya​​]

我们还可以在笛卡尔坐标系中表示3D、4D向量,如何表示3D向量:我们使用了同时垂直于x和y的基向量z。

虎书第五版中文翻译 2.4 向量相关推荐

  1. PMP官方教材(PMBOK第五版中文电子版)

    PMP官方教材(PMBOK第五版中文电子版) http://download.csdn.net/detail/ouyangtianhan/8697805

  2. 软件测试(原书第2版中文)PDF版

    下载地址:网盘下载 内容简介  · · · · · · 软件测试(原书第2版),ISBN:9787111185260,作者:(美)佩腾(Patton,R.) 著,张小松 等译:张小松译 作者简介  · ...

  3. c 程序设计语言标准库,C++程序设计语言(第4部分:标准库)(原书第4版) 中文pdf扫描版[86MB]...

    C++语言之父的经典名著之最新版本,全面掌握标准C++11及其编程技术的权威指南! 第1版1985年,第2版1991年,第3版1997年,特别版2000年,第4版2013年,经典无限延伸-- C++程 ...

  4. objective-c 2.0编程语言,Objective-C 2.0程序设计(原书第2版) 中文PDF扫描版[15MB]

    Objective-C 2.0程序设计(原书第2版)  内容简介: 本书是Objective-C领域的经典著作,对 Objective-C进行了系统而全面的阐述,权威性毋庸置疑.全书共分为四大部分:第 ...

  5. 高级点的php书,深入理解php:高级技巧、面向对象与核心技术(原书第3版) 中文pdf扫描版[76MB]...

    深入理解php:高级技巧.面向对象与核心技术(原书第3版) 是一本帮助中初级PHP程序员修炼成为高级PHP程序员的书,也是一本让PHP程序员能更快.更好地进行应用开发的书.国际知名Web开发专家和技术 ...

  6. 《Fundamentals Of Computer Graphics》虎书第三版翻译——第五章 线性代数

    或许图形学程序最常用的工具就是能对点或者向量进行变换的矩阵.在下一章节,我们可以看到如何用矩阵表示一个向量,以及如何用向量与方阵相乘表示不同基.我们还将描述如何使用这种乘法来实现向量的变换,如缩放.旋 ...

  7. 《Fundamentals of Computer Grahpics》虎书第三版翻译——第二章 各种各样的数学

    大部分图形学只是把数学直接转化成代码.数学越清晰,对生成的代码越清晰;这本书的大部分内容都集中在如何正确的使用数学.本章回顾了高中和大学数学中的各种工具,旨在作为参考而不是教程.这本书的主题看起来像是 ...

  8. 《Fundamentals of Computer Grahpics》虎书第三版翻译——第四章 光线追踪

    光线追踪 计算机图形学的基本任务之一是绘制三维物体:获取一个场景或模型(由许多在3D空间中排列的几何物体组成),并生成一个二维图像(从一个特定的视角观察到的物体的图像).这和几个世纪以来建筑师和工程师 ...

  9. 《Fundamentals of Computer Grahpics》虎书第三版翻译——第一章 介绍

    1.1 图形领域 在任何领域进行强分类是危险的,但大多数从事图形学行业的人都会赞同以下这些计算机图形学的主要领域: 建模:使用数学规格进行建模,这些数据是能存储在计算机上的形状和外观属性.例如,一个咖 ...

最新文章

  1. 【分享】School Rumble校园迷糊大王PSP姐姐事件+PS2游戏第一,二学期【带VNR翻译教程】...
  2. 计算机、数学、运筹学等领域32个重要算法
  3. linux 目录说明
  4. 第三次学JAVA再学不好就吃翔(part30)--继承
  5. 刘强东说过,如果京东失败99%是我个人造成,这话会灵验吗?
  6. android dts配置_rk3288 — i2s dts配置
  7. 精细化的风险管理,评分的应用策略之道
  8. Flutter基础—开发环境与入门
  9. python免费教学视频400集-如何入门 Python 爬虫?400集免费教程视频带你从0-1全面掌握...
  10. tar.bz2 解压命令以及使用指令
  11. python批量打印mathcad_全能批量打印工具-兼容所有打印机
  12. 一键保存网页为PDF
  13. 【bzoj4173】数学
  14. composer 进行tp6的安装
  15. Mac电脑动态壁纸怎么设置
  16. WPF - 善用路由事件
  17. 【typescript】infer的理解与使用
  18. php获取手机本地,PHP通过API获取手机号码归属地
  19. debian 安装php7_Ubuntu/Debian安装PHP 7.2教程
  20. 2020年9大IT互联网大佬扎心语录

热门文章

  1. 微擎框架之$_W全局变量
  2. 【IntelliJ IDEA的简介】
  3. 库卡工业机器人负载曲线图_库卡(kuka)机械臂KR210结构图解析!!!
  4. 海外数据中心IP是什么,有什么优点?
  5. Access 2007 宝典--学习笔记1(数据库基础)
  6. CAKEPHP3.7安装
  7. Pygame从0实战8(泡泡小游戏)
  8. html网页北京大学,HTMLDocView-北京大学网络与信息系统研究所.ppt
  9. 第12章方差分析介绍
  10. 数字集成电路版图设计(附录)——持续补充...