推文:科学计算三维可视化---TVTK库可视化实例 使用相关函数:科学计算三维可视化---Mlab基础(管线控制函数) 一:mlab.pipeline中标量数据可视化 通过持续实例,来感受mlab对数据可视化的方便性 (一)生成标量数据 等值面:(外层会覆盖内层) import numpy as np from mayavi import mlab x,y,z = np.ogrid[-::20j,-::20j,-::20j] s = np.sin(x*y*z)/(x*y*z) mlab.cont…
中国MOOC<Pyhton计算计算三维可视化>总结 课程url:here ,教师:黄天宇,嵩天 下文的图片和问题,答案都是从eclipse和上完课后总结的,转载请声明. Python数据三维可视化 1.       Introduction 1.1.      可视化计算工具 · TVTK  科学计算三维可视化基础 Mayavi                三维网格面绘制,三维标量场和矢量场绘制 TraitsUI               交互式三维可视化 SciPy           …
科学计算三维可视化---TVTK管线与数据加载(可视化管线和图像管线了解) 科学计算三维可视化---Mayavi入门(Mayavi管线) Mlab管线控制函数的调用 Sources:数据源 Filters:用来数据变换 Modules:用来实现可视化 Mlab管线控制函数的调用形式:mlab.pipeline.function() 这里的function可以是:Sources, Filters,Modules类型函数 一:sources函数 二:filters函数(用来变换数据,但他不具有可视化…
一:鼠标选取介绍 二:选取红色小球分析 相关方法:科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数) 1.小球场景初始化建立 import numpy as np from mayavi import mlab # 用mlab.points3d建立红色和白色小球的集合 x1, y1, z1 = np.random.random((,)) #3行10列分给三个元素,每个都是以为数组含10元素 red_glyphs = mlab.points3d(x1,y1,z1,color=(,…
简介 Traits是开源扩展库,Traits本身与科学计算可视化没有直接关联,但他其实TVTK,Mayavi,TraitsUI基础 安装: pip3 install traits--cp36-cp36m-win_amd64.whlpip3 install traits from traits.api import HasTraits 进行测试 使用: traits属性可以像类的属性来定义,但是要像实例的属性来使用 >>> from traits.api import HasTraits…
TraitsUI的介绍 Python中存在Tkinter,wxPython,pyQt4等GUI图像界面编写库,这三类库要求程序员掌握众多的GUI API函数 对于科学计算的应用来说,我们希望可以快速的开发界面,能够交互的处理程序,而不需要花很多精力在界面响应上,那么TraitsUI就是一个理想的选择 TraitsUI: 以traits为基础 以MVC为设计思想 (实现动态程序设计,简化了程序的扩展工作,使程序的各个部分都能够被充分利用) 安装测试 pip3 install traitsUI fr…
一:Dragon绘制实例(三维扫描的绘制) 三维扫描主要用于对物体空间外形结构以及色彩进行扫描,用以获得物体表面的空间坐标, 他的主要意义在于能够将实物的立体信息转换为计算机能够直接处理的数据信号,为实物的数字化提供了相对方便快捷的手段, 因此,三维扫描为工业建模,文物保存,虚拟空间构建都起到了非常重要的作用. 下载地址:http://graphics.stanford.edu/data/3Dscanrep/,页面搜索Dragon即可 提取文件 import tarfile,os #读取tar压…
一:Mayavi库的基本元素 .处理图形可视化和图形操作的mlab模块 .操作管线对象,窗口对象的api (一)mlab模块 (二)mayavi的api 二:快速绘图实例 (一)mlab.mesh的使用,快速创建绘图 >>> x = [[-,,,-,-],[-,,,-,-]] >>> y = [[-,-,-,-,-],[,,,,]] >>> z = [[,,-,-,],[,,-,-,]] >>> from mayavi import…
TraitsUI与Mayavi实例 一:创建一个简单的TraitsUI与Mayavi实例 from numpy import sqrt,sin,mgrid from traits.api import HasTraits,Instance from traitsui.api import View,Item from tvtk.pyface.scene_editor import SceneEditor from mayavi.tools.mlab_scene_model import Mlab…
一:Mayavi管线 mlab.show_pipeline() #显示管线层级,来打开管线对话框 (一)管线中的对象scene Mayavi Scene:处于树的最顶层的对象,他表示场景,配置界面中可以设置场景的背景,前景色,场景中的灯光,以及其他一些选项 >>> s = mlab.gcf() #获取当前场景 >>> print(s) #获取当前场景状态 <mayavi.core.scene.Scene object at 0x00000000014E66D0&g…
一:TVTK库可视化实例 Plot3D文件知识:PLOT3D 数据格式 PLOT3D文件分为网格文件(XYZ 文件), 空气动力学结果文件 (Q 文件)和通用结果文件(函数文件 + 函数名称文件).网格文件中可加入所谓的IBlank参数. (一)标量数据可视化(等值面) generate_values()创建等值面 from tvtk.api import tvtk from Tvtkfunc import ivtk_scene,event_loop def read_data(): #导入数据…
Mayavi介绍 是基于VTK开发的可视化软件(更加高效),Mayavi完全由python编写,方便使用,而且可以使用python编写扩展,嵌入到用户程序中 安装要求 VTK >pip3 install VTK--cp35-cp35m-win_amd64.whl numpy >pip3 install numpy‑+mkl‑cp35‑cp35m‑win_amd64.whl traits >pip3 install traits--cp36-cp36m-win_amd64.whl maya…
推文:http://docs.huihoo.com/scipy/scipy-zh-cn/tvtk_intro.html 推文:http://code.enthought.com/pages/mayavi-project.html 资源下载:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 获取内容 TVTK库如何创建一个三维数据源,加载数据源,并对其三维可视化的过程,以及TVTK库管线. 实现3个实例:矢量数据的三维可视化,标量数据的三维可视化,空间数据轮廓…
Mlab了解 Mlab是Mayavi提供的面向脚本的api,他可以实现快速的三维可视化,Mayavi可以通过Mlab的绘图函数对Numpy数组建立可视化. 过程为: .建立数据源 .使用Filter(可选)对数据进行加工 .添加可视化模块,我们可以通过修改可视化模块的属性,来修改可视化场景 mgrid和ogrid区别 一:基于Numpy数组的绘图函数 (一)3D绘图函数--Point3d(点图像0维) 这里我们可以看到Point3D参数的描述,是对vtk对象的整体描述,因为Mayavi是对VTK…
一:TVTK的管线 使用管线技术将TVTK中各个对象穿连起来,几乎所有渲染引擎都会提到管线技术 在TVTK中,每个对象只需要实现相对简单的任务,整个管线则能根据用户的需求,实现复杂的数据可视化处理. 在TVTK中,管线分为两部分:可视化管线,图像管线 通常:我们需要可视化的数据,本身并不是图形数据,如:零件内部各部分温度,流体在某处的速度等,所以在可视化之前,我们需要可视化管线将数据加工为图形数据 可视化管线输出的图形数据往往是三维空间数据,如何在二维屏幕上显示,这就是图形管线的功能了 (一)可…
Traits属性的功能 Traits库为python的属性增加了类型定义的功能,除此之外他还提供了5个特殊的功能(可以为用户的界面响应提供基本能力):初始化:每个traits属性都有自己的默认值验证:是traits属性有明确的类型定义,只有满足定义的值时才能给他赋值代理:traits属性值可以代理给其他对象实例的属性监听:是为了当traits属性发生变化时,可以运行事先指定的函数可视化:是拥有traits属性的对象,可以方便的生成可以编辑traits属性的界面 使用 from traits.ap…
import numpy as np from mayavi import mlab #建立数据 x,y = np.mgrid[-::200j,-::200j] z = *np.sin(x*y)/(x*y) #对数据进行可视化 mlab.figure(bgcolor=(,,)) surf = mlab.surf(z,colormap="cool") #cool使用冷色系 #更新视图并显示出来 mlab.show() >>> x,y = np.mgrid[-::200j…
一:数据集 三维可视化的第一步是选用合适的数据结构来表示数据,TVTK提供了多种表示不同种类数据的数据集 (一)数据集--ImageData >>> from tvtk.api import tvtk >>> img = tvtk.ImageData(spacing=(,,),origin=(,,),dimensions=(,,)) >>> img.get_point() (1.0, 2.0, 3.0) >>> ): #只是输出了6个…
一:数据加载 大多数可视化应用的数据并非是在TVTK库中构建的,很多都是通过接口读取外部数据文件 (一)使用vtkSTLReader来读取外部文件 .stl 文件是在计算机图形应用系统中,用于表示三角形网格的一种文件格式.格式简单,应用广泛 def ivtk_scene(actors): from tvtk.tools import ivtk # 创建一个带有Crust(Python Shell)的窗口 win = ivtk.IVTKWithCrustAndBrowser() win.open(…
一:用IVTK根据观察管线 (一)引入该工具 from tvtk.tools import ivtk 可能需要安装pygments pip3 install pygments (二)使用ivtk显示立方体 from tvtk.api import tvtk from tvtk.tools import ivtk from pyface.api import GUI #可视化管线部分 s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.…
Property属性 使用Property函数为类创建Property属性,Property属性用法和一般属性相同,但是他在获取值和赋值时会调用相应的方法 traits库也提供了Property属性 from traits.api import Property from traits.api import Property,HasTraits,Float,cached_property class rectangle(HasTraits): w = Float(1.0) h = Float(2…
一:创建一个基本的三维对象 (一)长方体操作 traits:就是TVTK对象的属性 (1)对象属性操作 >>> from tvtk.api import tvtk >>> s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0) >>> print(s) >>> s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3…
一:文本编辑器 from traits.api import HasTraits,Int,Str,Password from traitsui.api import View,Item,Group,ModalButtons #View描述了界面的视图类,Item模块描述了界面中的控件类 class TextEdit(HasTraits): #定义文本编辑器的变量 string_trait = Str("sample string") password = Password #定义布局…
配置视图 模态窗口: from traits.api import HasTraits,Int,Strclass ModelManager(HasTraits): model_name = Str category = Str model_number = Int vertices = Int model = ModelManager() model.configure_traits() 不出现下一个命令提示符,阻塞消息循环中 非模态窗口: from traits.api import HasT…
使用Group对象组织界面 将一组相关的Item对象组织在一起 from traitsui.api import Group from traits.api import HasTraits,Int,Str from traitsui.api import View,Item,Group #View描述了界面的视图类,Item模块描述了界面中的控件类 class ModelManager(HasTraits): model_name = Str category = Str model_file…
View定义界面 使用View来自定义界面 class ModelManager(HasTraits): model_name = Str category = Str model_file = Str model_number = Int view = View( Item("model_name", label=u"模型名称"), #将Traits属性和Item关联起来,分别定义标签,中文需要使用u Item("model_file", la…
Event和button属性 是两个专门用于处理事件的change属性 Event属性和其他Trait属性不一样 Button属性是由Event属性继承而来的 Event监听 from traits.api import HasTraits,Int,Str,Event,on_trait_change class Child(HasTraits): name = Str("ZhangSan") age = Int() Infoupdated = Event #建立监听函数 @on_tra…
Traits属性的监听 HasTraits对象所有Traits属性都自动支持监听功能,当每个Traits属性发生变化时,HasTraits对象会通知监听此属性的函数 两种监听模式 静态监听 动态监听 from traits.api import HasTraits,Int,Str class Child(HasTraits): name = Str age = Int doing = Str def __str__(self): return "%s<%x>"%(self.…
第一步:利用python,画散点图. 第二步:需要用到的库有numpy,matplotlib的子库matplotlib.pyplot numpy(Numerical Python extensions)是一个第三方的Python包,用于科学计算.这个库的前身是1995年就开始开发的一个用于数组运算的库.经过了长时间的发展,基本上成了绝大部分Python科学计算的基础包,当然也包括所有提供Python接口的深度学习框架.Windows下可以通过pip下载. Python的可视化包 – Matplo…