读书频道 > 设计开发 > 其它开发 > 4.5.7 叉积
4.5.7 叉积
《3D游戏编程大师技巧(上、下册)》第4章三角学、向量、矩阵和四元,本章介绍了很多数学知识:向量、矩阵、参数化方程、复数、四元数等;这只是当今编写视频游戏所需数学知识的冰山一角。本节为大家介绍叉积。
AD:
4.5.7 叉积
另一种向量乘法是叉积。然而,仅当向量包含3个或更多分量时,叉积才有意义。因此,这里将以3D向量为例进行讨论。给定u = <ux,uy,uz>和v = <vx,vy,vz>,叉积u v的定义如下:
u v = |u|*|v|*sin( ) * n
下面逐项分析这个公式。|u|为向量u的长度,|v|为向量v的长度,sin( )是两个向量之间夹角的正弦。因此,|u|*|v|*sin( )是一个标量,即是一个数值。然后,我们将它与n相乘,但n是什么呢?n是一个单位法线向量,即它与向量u和v都垂直,且长度为1.0。图4.23图示了这种乘法。
因此,根据叉积可以知道向量u和v之间的夹角以及u和v的法线向量。然而,如果没有另一个公式,将无法得到任何信息。问题是,如何计算u和v的法线向量呢?答案是使用叉积的另一种定义。
叉积还定义为一种非常特殊的向量积。然而,如果不使用矩阵,将难以描述这种定义。要计算u和v的叉积(u v),可以建立一个这样的矩阵:
其中i、j、k分别是与x轴、y轴、z轴平行的单位向量。
要计算u和v的叉积,执行下面的乘法:
n = (uy*vz-vy*uz)*i - (ux*vz-vx*uz)*j + (ux*vy-vx*uy)*k
n是三个标量分别乘以三个相互垂直(即分别与x轴、y轴和z轴平行)的单位向量的线性组合。因此,可以省略i、j、k,将上述公式表示为:
n = <uy*uz-vy*uz, -ux*vz+vx*uz, ux*vy-vx*uy>
n是向量u和v的法线向量,但不一定是单位向量(如果u和v都是单位向量,n也将是单位向量),因此必须归一化以得到n。完成这一步后,就可以其代入到前面的叉积方程中,执行所需的计算。
然而,在实际应用中,很少有人使用公式u v=|u|*|v|*sin( )*n,而只是使用矩阵形式来计算法线向量,因为 通常是未知的。这里再次表明了对向量进行归一化在3D图形学中的重要性,您将使用归一化向量来进行光照计算、定义平面、比较多边形朝向、进行碰撞检测等。
叉积的乘法定律
下面列出叉积满足的乘法定律。
给定向量u、v和w以及标量k:
(a)u v =-(v u)(非常重要)
(b)u (v + w)=(u v)+(u w)
(c)(u+v) w=(u w)+(v w)
(d)k*(u v)=(k*u) v=u (k*v)
另一种向量乘法是叉积。然而,仅当向量包含3个或更多分量时,叉积才有意义。因此,这里将以3D向量为例进行讨论。给定u = <ux,uy,uz>和v = <vx,vy,vz>,叉积u v的定义如下:
u v = |u|*|v|*sin( ) * n
下面逐项分析这个公式。|u|为向量u的长度,|v|为向量v的长度,sin( )是两个向量之间夹角的正弦。因此,|u|*|v|*sin( )是一个标量,即是一个数值。然后,我们将它与n相乘,但n是什么呢?n是一个单位法线向量,即它与向量u和v都垂直,且长度为1.0。图4.23图示了这种乘法。
因此,根据叉积可以知道向量u和v之间的夹角以及u和v的法线向量。然而,如果没有另一个公式,将无法得到任何信息。问题是,如何计算u和v的法线向量呢?答案是使用叉积的另一种定义。
叉积还定义为一种非常特殊的向量积。然而,如果不使用矩阵,将难以描述这种定义。要计算u和v的叉积(u v),可以建立一个这样的矩阵:
图4.23 叉积 |
要计算u和v的叉积,执行下面的乘法:
n = (uy*vz-vy*uz)*i - (ux*vz-vx*uz)*j + (ux*vy-vx*uy)*k
n是三个标量分别乘以三个相互垂直(即分别与x轴、y轴和z轴平行)的单位向量的线性组合。因此,可以省略i、j、k,将上述公式表示为:
n = <uy*uz-vy*uz, -ux*vz+vx*uz, ux*vy-vx*uy>
n是向量u和v的法线向量,但不一定是单位向量(如果u和v都是单位向量,n也将是单位向量),因此必须归一化以得到n。完成这一步后,就可以其代入到前面的叉积方程中,执行所需的计算。
然而,在实际应用中,很少有人使用公式u v=|u|*|v|*sin( )*n,而只是使用矩阵形式来计算法线向量,因为 通常是未知的。这里再次表明了对向量进行归一化在3D图形学中的重要性,您将使用归一化向量来进行光照计算、定义平面、比较多边形朝向、进行碰撞检测等。
叉积的乘法定律
下面列出叉积满足的乘法定律。
给定向量u、v和w以及标量k:
(a)u v =-(v u)(非常重要)
(b)u (v + w)=(u v)+(u w)
(c)(u+v) w=(u w)+(v w)
(d)k*(u v)=(k*u) v=u (k*v)
【责任编辑:book
TEL:(010)68476606】
回书目 上一节 下一节 有人知道哈密顿算子和张量叉乘咋算么?_张量吧_百度贴吧
tieba.baidu.com/p/581500295轉為繁體網頁
张量的叉乘: 两个张量的叉乘规定为:先将这两个张量进行并乘,再把前一个张量的并基中的最后一个基矢和后一个张量的并基中的第一个基矢进行叉乘。例如.几条和哈密顿算子有关的公式推导...不懂...求证明_数学吧_ ...
tieba.baidu.com/p/928561550轉為繁體網頁
是哈密顿算子.用a.b表示a和b的点乘用a×b表示a叉乘b. 请问. 1、(a.▽)b是什么意思? 2、如何证明:▽(a.b)= (a.▽)b+(b.▽)a+a×▽×b+b×▽×a 3、v是速度向量.证明(v.求教柱坐标系下的叉乘、点乘、散度、旋度? - 物理- 小木虫- 学术科研第一站
emuch.net/html/201503/8602945.html轉為繁體網頁
2015年3月6日 - 8 篇文章 - 7 位作者
还有柱坐标下的两个矢量的普通点乘和叉乘也需要变吗? ... 另外哈密顿算符既有矢量性又有微分性,所以带有哈密顿算符的散度,旋度,矢量叉乘或点成与两个矢量A角動量算符- 维基百科,自由的百科全书
https://zh.wikipedia.org/zh-hk/角動量算符
哈密顿算符 · 阶梯算符 · 創生及消滅算 ... 定義為位置算符 \hat{\mathbf{r}}\,\! 與動量算符 \hat{\mathbf{p}}\,\! 的叉積: .... 哈密頓算符與角動量算符之間的對易關係[编辑].泊松括號- 维基百科,自由的百科全书
https://zh.wikipedia.org/zh-hk/泊松括號轉為繁體網頁
在數學及经典力學中,泊松括號是哈密顿力學中重要的運算,在哈密頓表述的動力系統中時間演化的定義起着中心角色。在更一般的 ... 两个取决于时间的向量场的叉Nabla算子- 维基百科,自由的百科全书
https://zh.wikipedia.org/zh-hk/Nabla算子轉為繁體網頁
向量微分算子,Nabla算子,又称劈形算子,倒三角算子,是一个微分算子,符号为 \ ... 与非标量(三维)函数F(r)由叉积符号×连接,意味着求F(r)的旋度,表示为: \nabla ...哈密顿算子- 999靠谱
999kaopu.com/?q=哈密顿算子轉為繁體網頁
在学流体力学.大一的时候数学基础没有打好.现在有点头痛.有些问题想请教一下...a向量_-_向量叉乘_向量点乘_word文档在线阅读与下载_免费 ...
www.mianfeiwendang.com/doc/.../2轉為繁體網頁
第一步是找出A到B的向量AB和A到C的向量AC,现在我们用该两向量的叉积除以| |
No comments:
Post a Comment