我有一个表示一组3D点的属于一条线,像这样的指数整数列表的列表行数据是第一行由n1
个点组成,行索引为id1_1
到id1_n1
,第二行由n2
个点组成,行索引为id2_1
到id2_n2
。行索引引用点数组的行索引。实质上,第一行的第一点由pts[id1_1,:]
给出,第一行的第二点由pts[id1_2,:]
给出,第二行的第一点由pts[id2_1,:]
等给出。转换点用点指数
的点被给定为一个numpy的阵列,其中每行是一个点坐标
pts = [[pt1x, pt1y, pt1z],
[pt2x, pt2y, pt2z],
...
[ptNx, ptNy, ptNz]]
进出口寻找最有效的方式来收集属于相同行到一个数组的点。例如:
pts = [[0.0, 0.0, 0.0],
[0.0, 1.0, 0.0],
[0.0, 2.0, 0.0],
[1.0, 0.0, 0.0],
[1.0, 1.0, 0.0],
[1.0, 2.0, 0.0],
[1.0, 3.0, 0.0],
[2.0, 0.0, 0.0],
[3.0, 2.5, 0.0]]
pts = np.asarray(pts)
pt_id = [3,0,1,2,4,3,4,5,6,2,7,8]
的处理结果应该给我在这种情况下,3行:
line[0,:,:] = [[0.0, 0.0, 0.0],
[0.0, 1.0, 0.0],
[0.0, 2.0, 0.0]]
line[1,:,:] = [[1.0, 0.0, 0.0],
[1.0, 1.0, 0.0],
[1.0, 2.0, 0.0],
[1.0, 3.0, 0.0]]
line[2,:,:] = [[2.0, 0.0, 0.0],
[3.0, 2.5, 0.0]]
当我绘制包含在结果中的各条线,我应该得到
这很含糊。为什么不横线? –
,因为'pt_id'列表告诉你它们应该像我绘制它们一样排列。 (第一行由pts数组中的索引为0,1,2的点组成) – Jack
我没有得到pt_id和pts之间的关系 – Moj