考虑到每个点的大小和距离,我想将整个点云保存为图像。 我将图像的像素表示为一维数组,表示像素及其RGB值。
现在,为了打印一个点,我的工作如下:
int pixelIndex = ((int)yValue*this.imageWidth + (int)xValue) * 3;
rgbData[pixelIndex] = double2byte(pointCloud.getR());
rgbData[pixelIndex + 1] = double2byte(pointCloud.getG());
rgbData[pixelIndex + 2] = double2byte(pointCloud.getB());
我想考虑每个点的大小及其与屏幕的距离。
作为一个例子,让每个点的大小为3.所以每个点应该呈现为3x3的正方形。但是,一点距离屏幕距离为1,另一点距离为1.7。应该将更远的点显示为更接近点的较小点。 此外,两点之间的空间也应考虑到尺寸的差异。