《游戏开发物理学(第2版)》一1.2 单位和度量

简介:

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

1.2 单位和度量

在多年不同的工程课程教授中,我们发现学生们经常犯的一个错误就是在计算的时候对一个量使用了错误的单位,因此无法保持单位的一致性,从而导致了一些很古怪的答案。举个例子,在船的性能领域,最常误用的就是速度的单位:人们经常会忘记把速度的单位从海里/小时转成米/秒(m/s)或者尺/秒(ft/s)。1海里/小时等于0.514m/s,考虑到这个领域的许多量都和速度的平方成正比,这个错误会导致最终的结果偏离目标185%!所以如果以后你的结果看起来可疑的话,你需要做的第一件事情就是回过头来看看你的公式,检查一下它们的量纲一致性(dimensional consistency)。

为了检查量纲一致性,你必须仔细看看你的度量单位和它们的分量量纲。我们不是在讨论2D、3D中所表达的那个维度的概念,而是那些基本的、可测量的量纲,这些量纲会衍生出我们后面会用到的一些不同的物理量的单位。这些基本的量纲是质量(mass),长度(length)和时间(time)。

了解这些量纲以及由它们组合、衍生出来的单位是很重要的,这样你才能保证计算中的量纲一致性。例如,你知道物体的重量是用力的单位来衡量的,而力可以分解为不同的分量量纲,如下所示:

q8

其中M是质量、L是长度、T是时间。这个公式是不是看起来很熟悉?如果你把(L/T2)这个部分当做加速度,然后用符号a来表示加速度,用m符号来表示物体的质量,你将会得到:

q7

这就是著名的牛顿第二定律(Newton’s second law of motion)的表达式。我们稍后将会对这个等式进行进一步的分析。

我们刚才所做的并不是推导出这个著名的公式。我们所做的只是检查它的量纲一致性(尽管是逆向检查)。以上所做的这些只是为了让你以后所写出的、用来表达力作用于物体上的表达式最好能够有统一的(M)(L/T2)形式的单位。现在看起来量纲一致性可能不算什么,但是,当你开始着眼于更加复杂的力作用与物体的公式时,你会发现可以把它们分解成分量量纲,从而检查它们量纲上的一致性。稍后我们会为我们的物理量使用真实的单位,这些单位来自国际单位制符号(SI,le Système international d’unités或International System of Units)。当然,也有其他的单位系统,但是除非你希望将这些值展示给你的玩家,否则你在游戏中使用哪种单位系统都无关紧要。再次强调,重要的是单位的一致性。

为了澄清这一点,考虑物体在像水这样的流体上移动时的阻力公式:

q6

在这个公式中,Rf表示摩擦所产生的阻力(一种力),ρ是水的密度,V是移动中物体的速度,S是物体淹没部分的表面积,Cf则是物体经验(由实验得出)摩擦系数。现在,用基础量纲代替变量重写这个公式将会展示出公式左边的量纲与公式右边的量纲完全一样。由于Rf是力,它的基础量纲形如:

q5


之前所讨论过,右边所有项的量纲合并之后,一定是它的等价形式。考虑密度、速度和表面积的基础单位。

  • 密度:(M)/(L3)
  • 速度:(L)/(T)
  • 面积:(L2)

合并这些项的量纲,ρV2S,如下:

q4

将分子与分母中的量纲合并得如下形式:

q3

消去同时出现在分子分母中的量纲得:


q2


它与之前展示的阻力量纲一致。这个练习同样展示了摩擦系数项Cf,是无量纲的。也就是说,它是一个没有单位的常数。

有了这些知识,让我们来看一些更加常用的物理量,你可能会用到它们所对应的符号、量纲、国际单位和英制单位。这些信息总结在表1-1中。


1


a 一般地,我们使用大写的M表示作用于物体上的力矩,而用小写的m来表示物体的质量。如果我们在提及一般意义上质量的基础量纲(即,表示衍生出测量单位的量纲部分时),会使用大写的M。通常,这些符号的意义在用到它们的上下文中很明显。我们会在可能有歧义的地方指明它们的意义。

相关文章
|
6月前
|
Serverless C语言 C++
【数学建模】利用C语言来实现 太阳赤纬 太阳高度角 太阳方位角 计算和求解分析 树木树冠阴影面积与种植间距的编程计算分析研究
【数学建模】利用C语言来实现 太阳赤纬 太阳高度角 太阳方位角 计算和求解分析 树木树冠阴影面积与种植间距的编程计算分析研究
89 1
|
3天前
R语言如何用潜类别混合效应模型(LCMM)分析抑郁症状
R语言如何用潜类别混合效应模型(LCMM)分析抑郁症状
13 0
|
9月前
|
机器学习/深度学习 传感器 算法
自适应综合学习人工电场算法CLAEFA附matlab代码
自适应综合学习人工电场算法CLAEFA附matlab代码
|
编解码 Java BI
高精度10m/30米NPP净初级生产力分布数据
高精度10m/30米NPP净初级生产力分布数据
高精度10m/30米NPP净初级生产力分布数据
|
传感器 存储 数据安全/隐私保护
基于PLC十字路口交通灯控制(可计算车流量、调整时间等)课程设计毕业设计
基于PLC十字路口交通灯控制(可计算车流量、调整时间等)课程设计毕业设计
320 0
基于PLC十字路口交通灯控制(可计算车流量、调整时间等)课程设计毕业设计
|
资源调度
MATLAB编程基础
MATLAB编程基础
130 0
MATLAB编程基础
|
机器学习/深度学习 数据采集 SQL
学术加油站|学习型基数估计:设计方式的探索与比较
今天分享的这篇论文是李国良教授的团队今年发表的一篇综述,主要内容是从现有的学习型基数估计论文中抽象出 3 种统一工作流程,并对各个种类的基数估计方法中选择效果明显的几种作为代表,从多个方面进行全面的测试。
496 0
学术加油站|学习型基数估计:设计方式的探索与比较
|
算法
重温算法之每日温度
在本题中使用栈作为媒介确实要比使用MAP好很多,而题友的想法更好,不用借助其他媒介,节省了使用空间,感觉自己还是很愚笨,在算法题上有先入为主的思想,比较容易吃亏,还是得多思考,换角度思考,不怎么做还能怎么做。
77 0
重温算法之每日温度
|
机器学习/深度学习 人工智能 算法
一个不认识牛顿的AI,绕开所有物理定律,从数据到数据就能预测行星轨道!
机器学习可否「绕开」物理规律,直接从数据给出精确的预测呢?一个最新开发的机器学习算法,能由数据直接输出结果,绕开了牛顿定律,准确预测了太阳系在行星轨道中的位置。
242 0
一个不认识牛顿的AI,绕开所有物理定律,从数据到数据就能预测行星轨道!
帕金森定律在时间上的运用—《可以量化的管理学》
6.5.5帕金森定律在时间上的运用 内容提要:帕金森定律是一个关于论述时间是如何被浪费的。帕金森定律表明:只要还有时间,工作就会不断扩展,直到用完所有的时间。
1054 0