文章目录
- 一、简介
- 二、实现代码
- 三、实现效果
- 参考资料
一、简介
在OpenGL中存在这样一个过程,即模拟人类看东西的过程,通过一种视图变换方式将物体置入观察空间内,以此让我们可以看到这个物体。这个过程有点类似于将一个照相机移到了模型前方的某个位置,然后再设置一下照相机的朝向,让这个照相机可以看到我们所置入的模型,如下图所示。
这里使用PCL模拟OpenGL这一过程,即通过设置相机的位置、方向来构造一个相机空间,并将点云转换至该空间内,具体内容可以阅读博客最后的参考资料。简而言之,就是沿构建一个投影变换矩阵:
R是右向量,U是上向量,D是方向向量P是摄像机位置向量。注意,位置向量是相反的,因为我们最终希望把世界平移到与我们自身移动的相反方向。使用这个LookAt矩阵坐标观察矩阵可以很高效地把所有世界坐标变换为观察坐标LookAt矩