《游戏开发物理学(第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。

相关文章
|
7月前
|
人工智能 算法 vr&ar
计算机图形学
计算机图形学
61 1
|
算法 图形学
计算机图形学——实验五 基本图形学算法及着色器初步编程
实验五 基本图形学算法及着色器初步编程 1、 理解基本图形元素光栅化的基本原理,理解直线裁剪算法的原理; 2、 掌握直线的光栅化算法:DDA和Bresenham算法; 3、 掌握直线裁剪算法:Cohen-Surtherland算法; 1、 编程实现DDA算法和Bresenham算法生成直线。 2、 实现Cohen-Surtherland直线裁剪算法,调试、编译、修改程序。 要求: 根据所给的直线光栅化的示范源程序,在计算机上编译运行,输出正确结果(示范代码有错误,指出并改正)。
242 0
计算机图形学——实验五 基本图形学算法及着色器初步编程
|
机器学习/深度学习 算法