• vtk 绘制等高线


    使用 VTK 也可以实现等高线绘制,在地图、气象、地质等领域中,经常需要将数据以多个等高线的形式进行展示。在VTK(Visualization Tookt) 中,有专门的AP何以支持简便地实现这一功能。

    我们还可以根据算法操作的数据类型或生成的数据类型对算法进行分类。通过类型,我们通常是指属性数据的类型,例如标量或向量。

    •标量算法对标量数据进行操作。例如,在天气图上生成温度等高线。

    •向量算法对向量数据进行运算。显示气流方向箭头(方向和大小)是矢量可视化的一个例子。

    对颜色映射的自然延伸是轮廓。当我们看到用数据值着色的表面时,眼睛通常会将类似颜色的区域分割成不同的区域。当我们等高线数据时,
    我们有效地构建了这些区域之间的边界。这些边界对应于常数标量值的等高线(2D)或曲面(3D)。

    1. import vtk
    2. def main():
    3. # import data
    4. reader = vtk.vtkPolyDataReader()
    5. #reader = vtk.vtkDataSetReader()
    6. #reader.SetFileName('G:/myproject/2023/03/OCT_2d-3d/1.vtk')
    7. reader.ReadAllVectorsOn()
    8. reader.ReadAllScalarsOn()
    9. reader.Update()
    10. # create the filter
    11. contours = vtk.vtkContourFilter()
    12. contours.SetInputData(reader.GetOutput())
    13. contours.GenerateValues(5, 0., 5.)
    14. contours.Update()
    15. # create the mapper
    16. mapper = vtk.vtkPolyDataMapper()
    17. mapper.SetInputData(contours.GetOutput())
    18. mapper.ScalarVisibilityOff()
    19. mapper.SetScalarRange(0., 5.)
    20. # create the actor
    21. actor = vtk.vtkActor()
    22. actor.SetMapper(mapper)
    23. # create a rendering window and renderer
    24. ren = vtk.vtkRenderer()
    25. ren.SetBackground(0.329412, 0.34902, 0.427451) # Paraview blue
    26. # Assign actor to the renderer
    27. ren.AddActor(actor)
    28. renWin = vtk.vtkRenderWindow()
    29. renWin.AddRenderer(ren)
    30. renWin.SetSize(750, 750)
    31. # create a renderwindowinteractor
    32. iren = vtk.vtkRenderWindowInteractor()
    33. iren.SetRenderWindow(renWin)
    34. ren.ResetCamera()
    35. # render
    36. renWin.Render()
    37. # screenshot
    38. w2if = vtk.vtkWindowToImageFilter()
    39. w2if.SetInput(renWin)
    40. w2if.Update()
    41. #w2if.SetMagnification(5.)
    42. writer = vtk.vtkPNGWriter()
    43. writer.SetFileName("screenshot.png")
    44. writer.SetInputData(w2if.GetOutput())
    45. writer.Write()
    46. # Enable user interface interactor
    47. iren.Initialize()
    48. iren.Start()
    49. main()

  • 相关阅读:
    2023考研需要考研人认真关注的4个考研常识
    R语言—向量
    Deno 中使用 @typescript/vfs 生成 DTS 文件
    美格智能成为中国联通5G物联网OpenLab开放实验室生态合作伙伴,携手共创5G新未来
    机器学习数据挖掘十大经典算法 数学建模常用算法
    Spring Boot 整合 MyBatis Plus实现多数据源的两种方式
    java计算机毕业设计个人博客MyBatis+系统+LW文档+源码+调试部署
    xtrabackup 2.4 的介绍与使用
    计算机网络专栏 学习导航or使用说明
    洛谷P2440 木材加工 —二分答案
  • 原文地址:https://blog.csdn.net/q610098308/article/details/134079448