在pyvista绘图仪中的点之间添加线

问题描述

我在文件中有3d点。我读了它们:

¬

并以这种方式显示它们

def points_to_array(pathIn):
    pointArray = []
    point = []
    in_file = open(pathIn,'r')
    for line in in_file.readlines():
        split_line = line.strip('\n').split(' ')
        for i in range(0,3):
            point.append(float(split_line[i]))
        pointArray.append(point)
        point = []
    return pointArray

我想在某些点之间添加一条线(即文件中出现的点到点) 我可以这样做吗?怎么样?

解决方法

这是一个应该有用的简单示例。本示例执行的操作是使用lines格式描述单元格来创建由vtk数组定义的一些行(基本上是每个单元格的点数,然后是单元格连通性)。在此示例中,我们将只创建两条简单的线,但是您可以创建更多条线,并根据需要在每条线中包含尽可能多的点。

import numpy as np
import pyvista as pv


points = np.array([[0,0],[1,1,[0,0]])

lines = np.hstack(([2,1],[2,2]))

pdata = pv.PolyData(points)
pdata.lines = lines

pl = pv.Plotter()
pl.add_mesh(pdata)
pl.camera_position = 'xy'
pl.add_point_labels(points,range(4),font_size=20)
pl.show()

pyvista plot