引言
世上本没有坐标系,用的人多了,便定义了坐标系统用来定位。地理坐标系统用于定位地球上的位置,PCL点云库可视化窗口中的坐标系统用于定位其三维世界中的位置。本人刚开始接触学习PCL点云库,计算机图形学基础为零,以下内容基于自己的理解,如有错误,欢迎指出。
正文
首先介绍一下PCL点云库visualization模块中的PCLVisualizer类,它是PCL可视化3D点云的主要类,该类具有更全面的功能,如显示法线、绘制多种形状和多个视口等,其内部实现了添加各种3D对象以及交互实现等。其中addCoordinateSystem()函数可以在可视化窗口中的坐标原点(0,0,0)处添加一个红绿蓝三色的三维指示坐标轴,红色是X轴,绿色是Y轴,蓝色是Z,也就是说PCL点云库中使用的是右手三维坐标系。
#include <iostream>
#include <pcl/point_types.h>
#include <pcl/point_cloud.h>
#include <pcl/visualization/pcl_visualizer.h>int main(int argc, char** argv)
{//显示类pcl::visualization::PCLVisualizer viewer("Cloud Viewer");//添加坐标系viewer.addCoordinateSystem(); //让可视化视窗停住,否则一闪而过。while (!viewer.wasStopped()){ viewer.spinOnce();}return (0);}
对应的输出窗口如下