3d数学坐标系
-
笛卡尔坐标系
确定一个中心点,画上纵横交叉的直线,并标上数值
这样可以确定一个点的位置,例如P(X,Y)点在轴X2,轴Y2,表示P(2,2)
-
三维坐标
在笛卡尔坐标系上在扩展一个轴垂直于XY轴
这样可以表示三维空间的某一个点,例如P(X,Y,Z)在轴X2,Y2,Z2,表示P(2,2,2)
-
左手坐标系与右手坐标系
- 不同领域或者背景使用的坐标系可能不同
- 两者无论如何都无法旋转到重合的地步
- 翻转Z轴的符号可以使两者重合
-
常用坐标系
-
世界坐标系
世界坐标系是全局坐标系,它描述了其他坐标系的位置,例如经纬度,而在你自己的位置又可以建立一个坐标系,这个坐标系是相对于世界坐标系的,世界坐标系也是最大的坐标系。
比较直观的解析就是,摄像机处于那个位置,世界每个地点在什么位置。 -
物体坐标系
每一个物体都有其坐标系,当物体移动或者改变方向时,和该物体相关的坐标系将随之移动或者改变方向。例如,有人向你说向左转,这是物理坐标系的概念,基于你的物理坐标系。
-
摄像机坐标系(观察者坐标系)
锥体内是能观察到的金字塔
Unity使用的是左手坐标系,除了摄像机坐标系(视角空间)
物体谁在前,谁在后,那个被遮挡住,那些部分需要被裁减
-
惯性坐标系
就是把物体坐标系中的坐标轴平行于父级坐标轴,原点在物体原点。
如图,3.2所示的就是惯性坐标系。
把物体坐标系的轴顺时针旋转45度,相当于把物体逆时针旋转45度,得到惯性坐标系。
通过平移可以把惯性坐标跟世界坐标系重合。
-
嵌套坐标系
例如惯性坐标系的3.2图中,物体坐标系在世界坐标系里。
如果旋转世界坐标系,物体也会跟着旋转。
同样的道理,缩放也是同样。
-
-
坐标系的转换
物理坐标系到惯性坐标系,惯性坐标系到世界坐标系,计算出物体在世界坐标系的位置。
需要注意的是,当你旋转物体坐标系的时候,物体是按相反的方向移动的,例如顺时针旋转45度物体坐标系到惯性坐标,相当于把物体逆时针旋转45度。
摆正坐标系,换个角度看,汽车相对原先是位置是不是逆时针旋转了45度。
当有多个变化时,则需要以相反的顺序变化相反的量。
例如,将物体顺时针旋转20度,扩大200%,则等价于将物体坐标系缩小200%,再逆时针将坐标系旋转20%。 -
相关资料
- B站视频,https://www.bilibili.com/video/BV1Ys411k7yQ/?spm_id_from=333.788.videocard.1
- 3D.Math.Primer.for.Graphics.and.Game.Development
- UnityShader入门精要