python - vtkContourGrid 示例
问题描述
我正在尝试从非结构化网格制作等高线图。我的代码不起作用,我找不到要遵循的示例。我没有包含输入文件,希望可以轻松找到示例非结构化网格。我设法通过将单元格数据转换为点数据然后绘制“p”标量来在 Paraview 上工作。但我不能用 vtk 做到这一点。我的代码有什么问题?
from vtk import *
file_name = "results.vtk"
reader = vtkUnstructuredGridReader()
reader.SetFileName(file_name)
reader.Update()
output = reader.GetOutput()
scalar_range = output.GetScalarRange()
c2p = vtkCellDataToPointData()
c2p.SetInputData(output)
contours = vtkContourGrid()
contours.SetInputData(c2p.GetOutput())
contours.SetValue(0, 0.007009505294263363)
gridmapper = vtkDataSetMapper()
gridmapper.SetInputData(output)
gridmapper.GetInput().GetCellData().SetActiveScalars("p")
gridmapper.SetScalarVisibility(1)
gridmapper.SetScalarRange(scalar_range)
mapper = vtkPolyDataMapper()
#mapper = vtkDataSetMapper()
mapper.SetInputConnection(contours.GetOutputPort())
actor = vtkActor()
actor.SetMapper(mapper)
gridactor = vtkActor()
gridactor.SetMapper(gridmapper)
gridactor.GetProperty().EdgeVisibilityOn()
renderer = vtkRenderer()
renderer.AddActor(actor)
renderer.AddActor(gridactor)
#renderer.SetBackground(1, 1, 1) # Set background to white
renderer_window = vtkRenderWindow()
renderer_window.AddRenderer(renderer)
interactor = vtkRenderWindowInteractor()
interactor.SetRenderWindow(renderer_window)
interactor.Initialize()
interactor.Start()
解决方案
推荐阅读
- c# - 链表/节点类 - 将用户输入添加到链表
- ios - 如何解决此“无法推断复杂的闭包返回类型;添加显式类型以消除歧义”错误?
- typescript - 从 TypeScript 的类型中递归删除类型为“never”的字段
- c# - 通过 IOptions 将 Worker Service 中的依赖注入到控制器以外的类
- python - 按名称排序,编号为 Django
- hibernate - JDBC 连接不能正常工作但 sqlplus 连接工作正常
- string - string.gmatch() 在 Lua 中不返回 nil 吗?
- spring - 单元测试和部署版本中注入字段的不同行为
- javascript - 循环遍历集合时反应未定义的错误
- css - 反向换行?