Ejemplo n.º 1
0
# -*- coding: utf-8 -*-
from enthought.tvtk.api import tvtk
from utility import show_actors
from tvtk_cut_plane import read_data

if __name__ == "__main__":      
    
    plot3d = read_data()
    plot3d.add_function(153) 
    plot3d.update()
    contours = tvtk.ContourFilter(input = plot3d.output) 
    contours.set_value(0, 0.32) 
    mapper = tvtk.PolyDataMapper(input = contours.output,
        scalar_range = plot3d.output.point_data.get_array(4).range, 
        scalar_mode = "use_point_field_data") 
    mapper.color_by_array_component("VelocityMagnitude", 0) 
    actor = tvtk.Actor(mapper = mapper)
    actor.property.opacity = 0.6 
    
    # StructuredGrid网格的外框
    outline = tvtk.StructuredGridOutlineFilter(input = plot3d.output)
    outline_mapper = tvtk.PolyDataMapper(input = outline.output)
    outline_actor = tvtk.Actor(mapper = outline_mapper)
    outline_actor.property.color = 0.3, 0.3, 0.3
    win, gui = show_actors([actor, outline_actor])
    gui.start_event_loop()
Ejemplo n.º 2
0
# 流线    
streamer = tvtk.StreamLine( 
    input = plot3d.output,
    source = sphere.output,
    step_length = 0.0001,
    integration_direction = "forward", 
    integrator = tvtk.RungeKutta4()) 
    
tube = tvtk.TubeFilter( 
    input = streamer.output,
    radius = 0.05,
    number_of_sides = 6,
    vary_radius = "vary_radius_by_scalar")

tube_mapper = tvtk.PolyDataMapper(
    input = tube.output,
    scalar_range = plot3d.output.point_data.scalars.range)
tube_actor = tvtk.Actor(mapper = tube_mapper)  
tube_actor.property.backface_culling = True

# StructuredGrid网格的外框
outline = tvtk.StructuredGridOutlineFilter(input = plot3d.output)
outline_mapper = tvtk.PolyDataMapper(input = outline.output)
outline_actor = tvtk.Actor(mapper = outline_mapper)
outline_actor.property.color = 0.3, 0.3, 0.3

win, gui = show_actors([outline_actor, sphere_actor, tube_actor, arrows_actor])
gui.start_event_loop()

#plot3d.output.point_data.scalars = np.sqrt(np.sum(plot3d.output.point_data.vectors.to_array()**2, axis=-1))
Ejemplo n.º 3
0
if __name__ == "__main__":
    plot3d = read_data()

    # 创建颜色映射表
    lut = tvtk.LookupTable()
    import pylab as pl
    lut.table = pl.cm.cool(np.arange(0, 256)) * 255

    # 显示StructuredGrid中的一个网格面
    plane = tvtk.StructuredGridGeometryFilter(input=plot3d.output,
                                              extent=(0, 100, 0, 100, 6, 6))
    plane_mapper = tvtk.PolyDataMapper(lookup_table=lut, input=plane.output)
    plane_mapper.scalar_range = plot3d.output.scalar_range
    plane_actor = tvtk.Actor(mapper=plane_mapper)

    # 做一个平面切面
    cut_plane = tvtk.Plane(origin=plot3d.output.center,
                           normal=(-0.287, 0, 0.9579))
    cut = tvtk.Cutter(input=plot3d.output, cut_function=cut_plane)
    cut_mapper = tvtk.PolyDataMapper(input=cut.output, lookup_table=lut)
    cut_actor = tvtk.Actor(mapper=cut_mapper)

    # StructuredGrid网格的外框
    outline = tvtk.StructuredGridOutlineFilter(input=plot3d.output)
    outline_mapper = tvtk.PolyDataMapper(input=outline.output)
    outline_actor = tvtk.Actor(mapper=outline_mapper)
    outline_actor.property.color = 0.3, 0.3, 0.3

    win, gui = show_actors([plane_actor, cut_actor, outline_actor])
    gui.start_event_loop()
Ejemplo n.º 4
0
    # 创建颜色映射表
    lut = tvtk.LookupTable() 
    import pylab as pl
    lut.table = pl.cm.cool(np.arange(0,256))*255  

    # 显示StructuredGrid中的一个网格面
    plane = tvtk.StructuredGridGeometryFilter( 
        input = plot3d.output, extent = (0, 100, 0, 100, 6, 6)
    )
    plane_mapper = tvtk.PolyDataMapper(lookup_table = lut, input = plane.output) 
    plane_mapper.scalar_range = plot3d.output.scalar_range 
    plane_actor = tvtk.Actor(mapper = plane_mapper) 
    
    
    # 做一个平面切面
    cut_plane = tvtk.Plane(origin = plot3d.output.center, normal=(-0.287, 0, 0.9579)) 
    cut = tvtk.Cutter(input = plot3d.output, cut_function = cut_plane) 
    cut_mapper = tvtk.PolyDataMapper(input = cut.output, lookup_table = lut)
    cut_actor = tvtk.Actor(mapper = cut_mapper)
    
    
    # StructuredGrid网格的外框
    outline = tvtk.StructuredGridOutlineFilter(input = plot3d.output)
    outline_mapper = tvtk.PolyDataMapper(input = outline.output)
    outline_actor = tvtk.Actor(mapper = outline_mapper)
    outline_actor.property.color = 0.3, 0.3, 0.3
    
    
    win, gui = show_actors([plane_actor, cut_actor, outline_actor])
    gui.start_event_loop()