《游戏开发物理学(第2版)》一1.4 向量

简介:

本节书摘来异步社区《游戏开发物理学(第2版)》一书中的第1章,第1.4节,作者: 【美】David M Bourg , Bryan Bywalec 译者: 崔力强 , 魏广程 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 向量

让我们稍稍停一下,回到高中的数学课去回顾一下向量的概念。本质上来讲,向量是一个既有大小又有方向的量。与之相对的标量,与向量不同,只有大小没有方向。在力学中,力、速度、加速度和动量是向量,所以它们的大小和方向我们都需要考虑。距离、密度、黏度等都是标量。

至于标记符号,我们会使用粗体字来表示向量,例如力F。当只使用向量的大小的时候,使用标准字体。例如力向量F的大小部分是F,该F在不同的坐标轴上有各自的分量,Fx、Fy和Fz。在本书的代码样例中,根据不同的上下文,使用*(星号)来表示向量的点乘,或者是标量的乘积,使用^(脱字符号)来表示向量的叉乘。

本书中大量地使用向量,所以读者最好能够回顾一下基本的向量运算,例如向量加法、点乘和叉乘。方便起见,附录A列出了一些基本的向量运算(这样你就不用翻出陈年的数学课本)。该附录提供了一个Vector类,其中包含了所有重要的数学功能。然后,我们会解释如何使用特定的向量运算(例如点乘和叉乘运算)来进行一些通用并很有用的计算。例如,在动力学中经常需要求平面或者接触面的垂直向量或者法向量(normal)。这个问题可以使用叉乘来解决。另外一个常见的计算是求一个点到空间中一个面的最短距离,这里可以使用点乘运算。在附录A中描述了如何通过向量计算得到上述两个问题的答案,在你开始钻研本书中的代码之前,我们建议你先复习一下附录A。

相关文章
|
人工智能 决策智能
数学基础之博弈论
数学基础之博弈论
95 0
基于蒙特卡洛随机潮流研究(Matlab代码实现)
基于蒙特卡洛随机潮流研究(Matlab代码实现)
101 1
|
人工智能 资源调度 Python
概率论基础
因为概率图模型会涉及大量概率论的知识,所以在开始概率图模型之前,首先让我们回顾一下概率论的一些概念和基础知识。
154 0
概率论基础
|
机器学习/深度学习 人工智能 自然语言处理
Facebook这个神经网络用自然语言表示数学式,秒解微分方程!
Facebook AI的研究人员将数学视为自然语言,并将数学简写拆分为基本单位,去训练神经网络,从而秒解微积分表达式,远超目前的商业软件(如Maple、Matlab、Mathematica)!具体的精妙思想跟操作是怎么样的呢?
236 0
Facebook这个神经网络用自然语言表示数学式,秒解微分方程!
现实版“奇异博士”?原来是这款神秘的“数学黑盒”
现实版“奇异博士”?原来是这款神秘的“数学黑盒”
现实版“奇异博士”?原来是这款神秘的“数学黑盒”
费曼康奈尔讲座老视频爆火:为什么说数学是自然界通用语言?
费曼康奈尔讲座老视频爆火:为什么说数学是自然界通用语言?
200 0
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI理解数学?Facebook神经网络通过“语言翻译”求解数学难题
近年来,随着 AI 的崛起,神经网络一词也不断出现在人们的视线中。事实上,神经网络并不是什么新兴词汇。
|
机器学习/深度学习 算法框架/工具
揭秘:深度网络背后的数学奥秘
不要怪我没有告诉你,数学不好千万不要乱点。
1740 0
|
算法
算法学习之路|欧几里得游戏
小明和小红在玩欧几里得游戏。他们从两个自然数开始,第一个玩家小明,从两个数的较大数中减去较小数的尽可能大的正整数倍,只要差为非负即可。然后,第二个玩家小红,对得到的两个数进行同样的操作,然后又是小明。就这样轮流进行游戏,直至某个玩家将较大数减去较小数的某个倍数之后差为0为止,此时游戏结束,该玩家就是胜利者。
1440 0