例如,我想从所有点云中选择两个点,并在它们之间绘制一条线。我正在使用Meshlab处理.ply文件,但我不知道如何完成这个任务。我可以使用Meshlab或其他方法来实现吗?
有一种方法可以向.ply文件中添加线条。在.ply文件中最常见的元素是vertex
和face
,但.ply文件格式也允许使用edge
定义线段,这些线段仅被Meshlab部分支持。
以下是包含两个顶点和一个边元素的.ply文件的最简示例
ply
format ascii 1.0
comment object: A single line
element vertex 2
property float x
property float y
property float z
element edge 1
property int vertex1
property int vertex2
end_header
0 0 0
0 0 1
0 1
这是一个更复杂的例子,每个顶点都有颜色,并且在立方体的四个角上有4条线。
ply
format ascii 1.0
comment object: 4 edges with color per vertex
element vertex 8
property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue
element edge 4
property int vertex1
property int vertex2
end_header
0 0 0 255 0 0
0 0 1 255 0 0
0 1 1 255 0 0
0 1 0 255 0 0
1 0 0 0 0 255
1 0 1 0 0 255
1 1 1 0 0 255
1 1 0 0 0 255
0 4
1 5
2 6
3 7
正如我所说,MeshLab仅部分支持edge
元素,因此存在一些问题:
MeshLab在表示同时具有edge
和face
元素的文件时存在问题。只有当边缘在与面不同的图层中(如下图所示)时,它才能正确绘制它们。因此,如果您需要绘制既有面又有线条的.ply文件,则必须执行以下操作:
edge
元素在该图层上可见。原始图层中仍然显示face
元素。