TVTK - 矢量数据可视化

Python科学计算三维可视化
黄天羽嵩天

TVTK可视化实例

矢量数据可视化

  • 箭头表示矢量

  • tvtk.MaskPoint(),降采样,减少数据采集,加快运行速度

  • from tvtk.api import tvtk
    from tvtkfunc import ivtk_scene, event_loop
    
    
    #读入PLot3D数据
    
    plot3d = tvtk.MultiBlockPLOT3DReader(
          xyz_file_name="combxyz.bin", q_file_name="combq.bin",
          scalar_function_number=100, vector_function_number=200
      )
    plot3d.update()
    grid = plot3d.output.get_block(0)
    
    
    #对数据集中的数据进行随机选取,每50个点选择一个点
    
    mask = tvtk.MaskPoints(random_mode=True, on_ratio=50)
    mask.set_input_data(grid)
    
    #创建表示箭头的PolyData数据集
    
    glyph_source = tvtk.ArrowSource()
    
    #在Mask采样后的PolyData数据集每个点上放置一个箭头
    
    
    #箭头的方向、长度和颜色由于点对应的矢量和标量数据决定
    
    glyph = tvtk.Glyph3D(input_connection=mask.output_port, scale_factor=2)
    glyph.set_source_connection(glyph_source.output_port)
    m = tvtk.PolyDataMapper(scalar_range=grid.point_data.scalars.range,
                          input_connection=glyph.output_port)
    a = tvtk.Actor(mapper=m)
    
    
    #窗口绘制
    
    win = ivtk_scene(a)
    win.scene.isometric_view()
    event_loop()

    箭头表示

  • tvtk.Glyph3D():符号化技术

  • tvtk.MaskPoints():降采样
    数据点

  • 改为glyph_source = tvtk.CubeSource()
    CubeSource

  • 改为glyph_source = tvtk.ConeSource()
    ConeSource

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值