为何咱们须要多个坐标系统呢?任何一个坐标系统都是无限的,包括了空间中的全部点。因此,咱们用任意一个坐标系统,而后规定它是“世界空间”,而后全部的点位置均可以用这个坐标系统来描述了。难道就不能更简单点了么?实践证实的答案是不能。不少人发如今不一样的场景下使用不一样的坐标系统更方便。spa
使用多个坐标系统的缘由是,在一个特定的场景上下文中,能够拥有一份肯定的信息。也许整个世界上的全部点均可以在一个坐标系里表示,然而,对于一个肯定的顶点a,咱们可能不知道它在世界坐标中的位置,可是咱们可能能够明确它在相对于某些坐标系统中的位置。图片
好比,有两个相邻的城市A,B。A城市聪明的居民们在代价公认的一个城市的中心创建了坐标原点,而后用罗盘所指的方向来做为坐标轴,而B城市的居民可能在他们的城市中一个任意的位置创建了坐标原点,而后然坐标轴的方向在一个任意的方向,两座城市的居民都以为他们各自的坐标系统十分便利。然而,这时候有一名工程师被分配了一个任务,要求他在两个城市之间创建第一条公路,并且须要一个地图来清楚地看两个城市以及城市间的全部细节。所以引入了更为便利的第三坐标系,这个坐标系对于两座城市的居民没有任何影响。两座城市中各自的坐标点都须要从本地坐标转换成新的坐标系的坐标来绘制新地图。扩展
在今天开明的时代,咱们习惯于在媒体上听到文化相对主义,这促令人们认为,认为一个文化或信仰系统或国家议程优于另外一个文化或信仰系统是不正确的。 将想象力扩展到咱们所谓的“转换相对主义”并非太大的飞跃,即没有地方或方向或坐标系统被认为优于其余方面的论点。 在某种意义上,这是真的,乔治·奥威尔解释:“全部的坐标系统被认为是平等的,但有些是比别人更平等”。如今让咱们看看一些在3D图形中常见的坐标系统。渲染
不一样的坐标系统都是有必要的,由于只有在一些特殊的场景下这些信息才是有意义和可使用的。在这一节,将会有一些公共坐标系的例子。model
世界坐标系(World space)im
做者写这本书的时候在芝加哥。有一个肯定的经纬度,这个经纬度是绝对的,因此,你并不须要知道芝加哥在哪里,不须要芝加哥在美国,由于这个经纬度是绝对的。在这个世界上,人们规定经度是0的地方在格林尼治天文台,纬度为0的地方在赤道。技术
(有一些好奇的读者可能意识到这个经纬度的坐标系并非笛卡尔坐标系了,这是一种其余的坐标系,可是对于此次咱们讨论的话题没有什么影响,咱们生活在一个二维的平面上,就是地球的表面,只不过这个平面是包裹在一个球的外层的。)地图
世界坐标系是一个特殊的坐标系,它创建了一个全局的场景,有了这个全局的坐标系,其余的坐标系统就能够被确立了。换句话说,咱们能够把在其余坐标系中的点转成世界坐标系来表示。可是咱们不能用更大的坐标系来表示和包括世界坐标系了。img
在非技术的角度来看,世界坐标系是创建一个咱们关心的最大的坐标系统,但不少状况下这并非整个世界,举个例子,若是咱们但愿渲染一个笛卡尔坐标系中的一个画面,咱们会真实用到的笛卡尔坐标系就是“世界”,咱们不必关心这个世界坐标系被定位在哪里,甚至它是否存在于真实的世界中。移动
咱们以前说了世界坐标系是用来描述点的绝对坐标的。但愿你听到这样的说法的时候耳朵有些刺痛,由于你知道这不彻底是真理。咱们这里说的绝对坐标是指的在这个咱们刚定义的最大的坐标系统中的坐标,而不是在真实的世界中的坐标。就好比以前所说的,你可能知道你如今的位置的经纬度,可是放眼整个宇宙,假设把世界坐标系的原点放在整个银河系的中心的时候,怕是没有人能说出来本身的确切位置了。
世界坐标系在不少时候也被叫做全局坐标系和宇宙坐标系。
物体坐标系(Object spce)
物体坐标系是关联了一个指定的物体,每个物体都有一个独立的物体坐标系。当一个物体移动旋转改变了它的朝向,那么与这个物体关联的物体坐标系也随之改变了,也一块儿改变了朝向。好比,咱们都带着本身的坐标系统,若是咱们对你说“向前走一步”,咱们给了你一个相对于你本身的物体坐标系的指令(请原谅咱们把你说成是一个物体,其实你知道咱们想表述的意思的)。咱们没办法描述你要移动的绝对方向,你可能会向北移动,也可能向南移动,这些“向前”,“向后”,“向左”,“向右”对于一个物体坐标系是有意义的。当你驾车的时候,有的人给你一些指示,有时候告诉你“向左转”,还有的时候告诉你“向东走”。“向左走”是对于一个物体坐标系的,而“向东走”呢,是对于世界坐标系来讲的。
位置和方向在物体坐标系也是能够被明确的。好比,当我问你你车上的杯子在哪里,你不会说在芝加哥,甚至不会说在哪条街道,在这种状况下,若是回答是一个相对于全局的位置是没有意义的,我固然但愿的是你能说清楚你的杯子位于你的车的物体坐标系的哪里。
在图形学中,物体坐标系又被称做模型坐标系(model space),由于模型的顶点都是在这个模型坐标系中表示的。物体坐标系也被普遍用于物理中,好比,用身体的中轴线来当坐标轴。
相机坐标系(Camera Space)
有一个比较特殊的物体坐标系就是相机坐标系,这个坐标系是咱们的视点用来渲染看到的场景所用的坐标系。在相机坐标系中,相机一直处于相机坐标系的原点,+x的方向是向右的,+z的方向是向前的(向屏幕里的方向,由于使用的是左手坐标系),+y的方向是向上。这里的像上不是世界坐标的正上,而是一个相机的上方向。能够来看一下这个相机坐标系的图片。
这里要注意一些细节,相机的坐标是三维空间,而咱们在屏幕上看到的是二维的。由于咱们是作了一个映射,把三维空间的东西映射到了一个二维的平面上,这个映射就是你们知道的“投影”了。