Python vtkInterface0.9.3 库示例不工作
Python vtkInterface0.9.3 library examples not working
我发现了 vtkInterface
,一个 python vtk
包装器,可以促进 vtk
绘图。
尝试 运行 他们的第一个示例,在本页 Initialize from Numpy Arrays
下:vtkInterface.PolyData,只需按原样 运行ning 代码,结果是灰色渲染 window 里面什么都没有。
其他一些示例确实有效,但这正是我目前需要的东西,想知道是否有人尝试过并知道可能出了什么问题。
示例代码:
import numpy as np
import vtkInterface
# mesh points
vertices = np.array([[0, 0, 0],
[1, 0, 0],
[1, 1, 0],
[0, 1, 0]])
# mesh faces
faces = np.hstack([[4, 0, 1, 2, 3], # square
[3, 0, 1, 4], # triangle
[3, 1, 2, 4]]) # triangle
surf = vtkInterface.PolyData(vertices, faces)
# plot each face with a different color
surf.Plot(scalars=np.arange(3))
示例错误。它缺少第五点。例如,这将起作用。
vertices = np.array([[0, 0, 0],
[1, 0, 0],
[1, 1, 0],
[0, 1, 0],
[0.5, 0.5, -1]])
说明:在VTK中,人脸编码方式如下:
face_j = [ n, i_0, i_1, ..., i_n ]
这里,n
是每个面的点数,i_k
是顶点数组中点的索引。面是由点 vertices[i_k]
和 k in range(0,n)
连接而成。通过简单地连接单个面规格来创建面列表:
np.hstack([face_0, face_1, ..., face_j, ...])
这种编码的优点是每个面使用的点数 n
可以变化。所以网格可以由直线、三角形、四边形等组成
在示例中,id 为 4 的顶点用于第二个和第三个面。所以 vertices
需要至少包含五个条目。令人惊讶的是,样本没有崩溃,因为如果某些面访问不存在的点,VTK 几乎肯定会崩溃。
我发现了 vtkInterface
,一个 python vtk
包装器,可以促进 vtk
绘图。
尝试 运行 他们的第一个示例,在本页 Initialize from Numpy Arrays
下:vtkInterface.PolyData,只需按原样 运行ning 代码,结果是灰色渲染 window 里面什么都没有。
其他一些示例确实有效,但这正是我目前需要的东西,想知道是否有人尝试过并知道可能出了什么问题。
示例代码:
import numpy as np
import vtkInterface
# mesh points
vertices = np.array([[0, 0, 0],
[1, 0, 0],
[1, 1, 0],
[0, 1, 0]])
# mesh faces
faces = np.hstack([[4, 0, 1, 2, 3], # square
[3, 0, 1, 4], # triangle
[3, 1, 2, 4]]) # triangle
surf = vtkInterface.PolyData(vertices, faces)
# plot each face with a different color
surf.Plot(scalars=np.arange(3))
示例错误。它缺少第五点。例如,这将起作用。
vertices = np.array([[0, 0, 0],
[1, 0, 0],
[1, 1, 0],
[0, 1, 0],
[0.5, 0.5, -1]])
说明:在VTK中,人脸编码方式如下:
face_j = [ n, i_0, i_1, ..., i_n ]
这里,n
是每个面的点数,i_k
是顶点数组中点的索引。面是由点 vertices[i_k]
和 k in range(0,n)
连接而成。通过简单地连接单个面规格来创建面列表:
np.hstack([face_0, face_1, ..., face_j, ...])
这种编码的优点是每个面使用的点数 n
可以变化。所以网格可以由直线、三角形、四边形等组成
在示例中,id 为 4 的顶点用于第二个和第三个面。所以 vertices
需要至少包含五个条目。令人惊讶的是,样本没有崩溃,因为如果某些面访问不存在的点,VTK 几乎肯定会崩溃。