考虑到每个点的大小和距离,我想将整个点云保存为图像。我将图像的像素表示为一维数组,表示像素及其 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。较远的点应显示为比较近的点更小的点。另外,点之间的空间也应该考虑到大小的差异。