作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用分析字段填充结构化网格,但是尽管阅读了vtk文档,但我还没有找到如何在网格点上实际设置标量值或设置网格的间距/原点信息的方法。从下面的代码开始,我该如何
grid = vtk.vtkStructuredGrid()
numPoints = int((maxGrid - minGrid)/dx)
grid.SetDimensions(numPoints, numPoints, numPoints)
最佳答案
在VTK中,有3种类型的“结构化”网格,即vtkImageData(从中派生出vtkUniformGrid),vtkRectilinearGrid和vtkStructuredGrid。从拓扑设置的意义上说,它们都是结构化的。 vtkImageData在点之间具有恒定的间距并且是轴对齐的,vtkRectilinearGrid是轴对齐的,但是可以在每个轴方向上改变间距,并且vtkStructuredGrid具有任意定位的点(尽管单元格可能无效)。
对于您想做的事情,您应该做:
from vtk import *
dx = 2.0
grid = vtkImageData()
grid.SetOrigin(0, 0, 0) # default values
grid.SetSpacing(dx, dx, dx)
grid.SetDimensions(5, 8, 10) # number of points in each direction
# print grid.GetNumberOfPoints()
# print grid.GetNumberOfCells()
array = vtkDoubleArray()
array.SetNumberOfComponents(1) # this is 3 for a vector
array.SetNumberOfTuples(grid.GetNumberOfPoints())
for i in range(grid.GetNumberOfPoints()):
array.SetValue(i, 1)
grid.GetPointData().AddArray(array)
# print grid.GetPointData().GetNumberOfArrays()
array.SetName("unit array")
关于vtk - 如何在vtkStructuredGrid上设置数据值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666981/
我是一名优秀的程序员,十分优秀!