![计算机游戏基础教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/453/773453/b_773453.jpg)
第2章 游戏中的数学和物理基础知识
2.1 笛卡儿坐标系
2.1.1 2D笛卡儿坐标系
2D笛卡儿坐标系很像是由矩形构成的一个虚拟世界。如果你曾经注视过房屋的天花板,用过街区地图,看过足球比赛,下过象棋,那么你已经在笛卡儿坐标系中了。如图2-1所示,假想一个名为笛卡儿的虚拟城市,该城的设计者们精心设计了街道的布局,中心街道经过城镇中心贯穿东西,其他东西走向的街道是根据它与中心街道的相对位置来命名的,如北3街和南1街。
![](https://epubservercos.yuewen.com/7571FF/3590603204495201/epubprivate/OEBPS/Images/figure_0031_0001.jpg?sign=1739326431-GRWSApLO5cLDEcWVmhEpfQiPdZ894eDG-0-9b9c4d7d6c176bd236d509924e71c5c6)
图2-1 笛卡儿虚拟城市街道图
坐标系是一个精确定位点的框架。2D笛卡儿坐标系有以下两点定义:
① 每个2D笛卡儿坐标系都有一个特殊的点,称做原点(Origin),它是坐标系的中心。原点相当于笛卡儿城的中心。
② 每个2D笛卡儿坐标系都有两条过原点的直线向两边无限延伸,称做轴(Axis)。两个轴互相垂直,这相当于笛卡儿城的中心街道和分界街道。
如图2-2所示,为了在笛卡儿坐标系中定位点,人们引入了笛卡儿坐标的概念。在2D平面中,两个数(x, y)就可以定位一个点。和笛卡儿城街道名的意思类似,坐标的每个分量都表明了该点与原点之间的距离和方位。确切地说,每个分量都是到相应坐标轴的有符号距离。在2D笛卡儿坐标系中,X轴和Y轴的方向可以是任意的,因为这些不同X轴、Y轴方向所构成的坐标系可以通过旋转获得一致,也可以说这些坐标轴是等价的,因此,在2D笛卡儿坐标系中,没有限定X轴、Y轴的方向,但这个概念在3D的笛卡儿坐标系中就不成立。
![](https://epubservercos.yuewen.com/7571FF/3590603204495201/epubprivate/OEBPS/Images/figure_0031_0002.jpg?sign=1739326431-xaJsTfPs9LIExUZdGCUAnFqfTC17x5yu-0-afb39b5b9455d540de07e5167f64d5bc)
图2-2 2D笛卡儿坐标
2.1.2 3D笛卡儿坐标系
通过2D笛卡儿坐标系,可以描述平面的空间,但现实世界中的3D空间则难以描述,因此需要从2D坐标系扩展到3D坐标系。
如图2-3所示,需要3个轴来表示三维坐标系,前两个轴称为X轴和Y轴,这和2D坐标系一样,第三个轴称为Z轴,一般情况下,3个轴互相垂直,也就是每个轴都垂直于其他两个轴。在3D平面中,三个数(x, y, z)就可以定位一个点。
![](https://epubservercos.yuewen.com/7571FF/3590603204495201/epubprivate/OEBPS/Images/figure_0032_0001.jpg?sign=1739326431-QHqcxN2CeG9X0UFzHAfInPZB5kz3GFRV-0-1db6a85c909e828199e5632befa39c01)
图2-3 3D笛卡儿坐标
2.1.3 左右手坐标系
在现实世界中,一般来说,如图2-4所示,头顶为Y轴正轴方向,右边为X轴正轴方向,前方为Z轴正轴方向。
![](https://epubservercos.yuewen.com/7571FF/3590603204495201/epubprivate/OEBPS/Images/figure_0032_0002.jpg?sign=1739326431-4QR1HBpd4YXWTvrhhKmTE28nNpfzCLqF-0-a336f2b66b58531114361f800eeb99be)
图2-4 实现世界中的3D坐标方向
但在游戏世界中,一般可以有两种不同的坐标系统来表示游戏世界中的坐标,即左手坐标系(如图2-5所示)和右手坐标系(如图2-6所示)。那如何判断一个坐标系属于左手坐标系还是右手坐标系呢?伸出左手,如图2-5所示,让拇指、食指和中指两两垂直,其中拇指代表Y轴,食指代表Z轴,中指代表X轴,这个坐标系统就是左手坐标系统,任何一个系统,只要能通过旋转变成这个系统,则该系统为左手坐标系统。
![](https://epubservercos.yuewen.com/7571FF/3590603204495201/epubprivate/OEBPS/Images/figure_0032_0003.jpg?sign=1739326431-1jCQAvIUqokeps8ByGSM6FW9bwgNOCAv-0-c6653b54b76018d098d8b2643fccfac8)
图2-5 左手坐标系
![](https://epubservercos.yuewen.com/7571FF/3590603204495201/epubprivate/OEBPS/Images/figure_0032_0004.jpg?sign=1739326431-kvemKSvuTJSq7FQDWEhsln45H1kcXZUc-0-01c82268f369b5ec8471c7a5fe0d7451)
图2-6 右手坐标系
按同样的方法,伸出右手,如图2-6所示,这个坐标系统就是右手坐标系统,任何一个系统,只要能通过旋转变成这个系统,则该系统为右手坐标系统。
任何一个3D笛卡儿坐标系统,不是左手坐标系统就是右手坐标系统。