Android OpenGL ES 三维坐标系及坐标变换初步
OpenGL ES 图形库最终的结果是在二维平面上显示 3D 物体(常称作模型 Model)这是因为
目前的打部分显示器还只能显示二维图形。但我们在构造 3D 模型时必须要有空间现象能
力,所有对模型的描述还是使用三维坐标。也就是使用 3D 建模,而有 OpenGL ES 库来完
成从 3D 模型到二维屏幕上的显示。
这个过程可以分成三个部分:
坐标变换,坐标变换通过使用变换矩阵来描述,因此学习 3D 绘图需要了解一些空
间几何,矩阵运算的知识。三维坐标通常使用齐次坐标来定义。变换矩阵操作可以
分为视角(Viewing),模型(Modeling)和投影(Projection)操作,这些操作可
以有选择,平移,缩放,正侧投影,透视投影等。
由于最终的 3D 模型需要在一个矩形窗口中显示,因此在这个窗口之外的部分需要
裁剪掉以提高绘图效率,对应 3D 图形,裁剪是将处在剪切面之外的部分扔掉。
在最终绘制到显示器(2D 屏幕),需要建立起变换后的坐标和屏幕像素之间的对
应关系,这通常称为“视窗”坐标变换(Viewport) transformation.
如果我们使用照相机拍照的过程做类比,可以更好的理解 3D 坐标变换的过程。