左手坐标系与右手坐标系
- 伸出左手,大拇指指向x轴正方向,食指指向y轴的正方向,其余三个手指指向z轴的正方向,满足这样条件的坐标系属于左手坐标系。
- 同理,伸出右手,满足大拇指指向x轴正方向,食指指向y轴正方向,其余手指指向z轴正方向的都属于右手坐标系。
- 在3D情景中,总共会有48种坐标系,其中24种是左手坐标系,24种为右手坐标系。
在3D图形学中常用的坐标系
- 世界坐标系
- 建立了描述其他坐标系所需要的参考框架。从另一方面说,能够用世界坐标系描述其他坐标系的位置,而不能用更大的、外部坐标系来描述世界坐标系。
- 物体坐标系
- 和特定物体相关联的坐标系。每个物体都有他们独立的坐标系。当物体移动或改变方向时,和该物体相关的坐标系将随之移动或改变方向。
- 摄像机坐标系
- 摄像机坐标系是和观察者密切相关的坐标系。
- 摄像机坐标系中,摄像机在原点,x轴向右,z轴向前(朝向屏幕内或摄像机方向),y轴向上(不是世界的上方而是摄像机本身的上方)。
- 惯性坐标系
- 为了简化世界坐标系到物体坐标系的转换而引入的一种新的坐标系。
- 物体坐标系转换到惯性坐标系只需旋转,从惯性坐标系转换到世界坐标系只需要平移。
OpenGL中的物体、世界、照相机坐标系都属于右手坐标系,而规范化设备坐标系使用左手坐标系。
OpenGL坐标变换全局图
坐标系变换流程.pngOpenGL顶点计算流程图
顶点计算流程.png矩阵的计算流程图
顶点矩阵计算流程.png
- 顶点计算过程中(参考上图)模型变换、视变换,投影变换,这些变换可以由用户根据需要自行指定,这些内容在顶点着色器中完成;
- 透视除法、视口变换,这两个步骤是OpenGL自动执行的,在顶点着色器处理后的阶段完成。
参考文章:
https://www.jianshu.com/p/3448f546eac4
https://www.jianshu.com/p/ebe8907aa07b
网友评论