PCL 透视投影变换(OpenGL)

文章目录

  • 一、简介
  • 二、实现代码
  • 三、实现效果
  • 参考资料

一、简介

在现实生活中,我们总会注意到离我们越远的东西看起来更小。这个神奇的效果被称之为透视(Perspective)。透视的效果在我们看一条无限长的高速公路或铁路时尤其明显,正如下面图片显示的这样:

PCL 透视投影变换(OpenGL)_第1张图片

由于透视的原因,平行线似乎在很远的地方看起来会相交。这正是透视投影(Perspective Projection)想要模仿的效果,它是使用透视投影矩阵来完成的。这个投影矩阵不仅将给定的平截头体范围映射到裁剪空间,同样还修改了每个顶点坐标(齐次坐标,x,y,z,w,其中w为尺度系数)的w值,从而使得离观察者越远的顶点坐标w分量越大。如下图所示:

PCL 透视投影变换(OpenGL)_第2张图片

被转换到裁剪空间的坐标都会在-w到w的范围之间(任何大于这个范围的对象都会被裁剪掉)。OpenGL要求所有可见的坐标都落在-1.0到1.0范围内从而作为最后的顶点着色器输出,因此

你可能感兴趣的:(点云进阶,C++,PCL,透视投影变换)