Javatpoint标志
Javatpoint标志

Python MayaVi模块

我们可能都听说过图形用户界面(GUI),我们一定看到过它对许多应用程序不断变化的界面的影响。基本上,GUI或图形用户界面是应用程序和软件的一种用户界面,它不是基于文本的用户界面和键入的命令标签,而是允许用户通过音频指示和图形图标(如符号等)与计算机,智能手机,pc等进行交互。GUI以这样一种方式显示对象和数据,即我们试图通过提供的交互式用户界面非常容易地传达要显示的信息。每当用户与应用程序交互时,显示在电子设备上的对象就会改变其颜色、文本,有时还会改变形状。从而使用户与电子设备或应用程序的交互变得更具交互性和趣味性。

我们可以看到GUI在当今世界变得多么重要,我们可以在日常生活中使用的几乎每个应用程序中找到它的使用。因此,我们应该了解如何构建GUI并使用它变得更加重要。大多数编程语言都为我们提供了在其内置库或与之相连的扩展的帮助下创建交互式gui的选项。但是Python是所有这些用于创建GUI的编程语言中最受欢迎的选择之一,因为它为我们提供了多个库,通过这些库我们可以轻松地创建GUI。在Python中,我们有许多内置模块和一些可安装模块,我们可以使用这些模块在程序中使用的函数来创建交互式GUI。一个这样的Python模块是MayaVi模块,我们将在本教程中学习。我们将学习关于MayaVi教程,我们如何安装它,它的功能,以及更多关于它在本教程。

Python中的MayaVi模块

MayaVi是一个用于可视化科学数据的Python模块,它使用VTK来可视化数据。除此之外,MayaVi模块还提供了在Tkinter库的帮助下开发GUI的选项。MayaVi模块目前是免费的,并在BSD许可下发布,由Prabhu Ramchandran开发,它的发音为“Ma-ya-vee”,在英语中代表“神奇”。MayaVi是一个跨平台的Python模块(几乎可以在UNIX, Windows或Mac OS X等所有平台上运行),它几乎可以在VTK和Python可用的所有平台或操作系统上运行。最新版本的MayaVi模块MayaVi2与最初的版本有很大不同,因为最新版本是Enthought套件的一个组件,该套件是用于科学Python程序的套件。最新版本的MayaVi模块不同于原始版本的另一个原因是,它提供了一个可重用的组件,可以通过Python程序进行3D绘图,而不仅仅是专注于交互式程序(之前版本所缺乏的功能)。虽然最新版本的MayaVi模块的接口和API与以前的版本略有不同,但它有许多以前版本所缺少的新功能。

Python中的MayaVi模块:Vision

MayaVi模块在开发时,是为了提供科学和其他数据的交互式可视化而开发的,但这并不是开发MayaVi模块的唯一目的。在MayaVi模块的开发背后还有一些其他的愿景,我们将在本节中了解所有这些在MayaVi模块开发背后的愿景。

以下是构建Python MayaVi模块的愿景:

  • 需要一个可重用的工具,我们可以在我们的应用程序中嵌入多个三维绘图数据
  • MayaVi还致力于提供科学和其他数据的交互式和易于可视化,以及多种应用程序
  • 利用VTK库的力量没有我们被迫了解它
  • MayaVi的开发还提供了一个丰富的用户界面(主要是GUI),其中有对话框,通过可视化与所有对象和数据进行交互
  • MayaVi与设想的应用程序构建框架相结合,这样我们就可以在一个地方组装和访问所有特定于领域的工具
  • 除此之外,在Python中需要一个干净简单的脚本接口,包括面向对象编程、a-la mlab和一行程序接口,这导致了MayaVi模块的开发

这些是主要的原因,或者我们可以看到MayaVi模块开发背后的愿景。

Python中的MayaVi模块:一般特征和功能

正如我们在MayaVi模块的介绍部分所看到的,该模块为我们提供了多种功能,可以非常轻松地将科学数据可视化。但这并不是MayaVi模块的唯一特点,这使得它在所有科学数据可视化模块中脱颖而出。它还有一些其他的特点,使得这个模块在短时间内非常流行,我们将在本节中讨论这个模块的这些特点和功能。以下是MayaVi模块的一般特点和突出特点:

  • MayaVi模块是通过mlab(也可通过MayaVi扩展)进行科学绘图和数据可视化的一个非常方便的选择。
  • MayaVi模块非常有助于读取几种文件格式,如PLOT3D, VTK (XML和Legacy)等等
  • MayaVi模块是一个跨平台的Python模块,我们可以很容易地在多个操作系统中使用这些模块。
  • 通过使用Python, mayavi模块的可脚本性非常容易
  • MayaVi模块可以将渲染的可视化数据保存为多种图像格式,方便用户使用
  • 我们可以从Python解释器中编写Mayavi模块的脚本,也可以将其作为Python模块导入程序
  • 它提供了一个管道浏览器,可以浏览和编辑VTK管道中存在的对象
  • MayaVi模块的可扩展性非常简单,这意味着我们可以通过各种自定义源、文件格式、数据过滤器和模块来扩展MayaVi模块
  • 使用Mayavi模块,张量(2-D和3-D)、矢量或标量数据的可视化是可能的,并且非常容易
  • 使用Mayavi模块,我们可以导入简单的3D studio和VRML场景

这些是MayaVi模块的一些一般特征和突出的功能,当我们浏览这个列表时,我们会发现为什么这个MayaVi模块在短时间内变得如此流行。除了上面列出的功能之外,MayaVi模块还可以作为任何应用程序和数据的可视化引擎使用,这是最新发布的Mayavi2。

Python中的MayaVi模块:函数

MayaVi库通过在Python程序中导入该模块,可以实现科学数据的可视化、图形用户界面的开发、二维和三维图形的开发等多种功能。我们可以在MayaVi模块的帮助下或在程序中使用MayaVi和其他一些模块一起执行所有这些功能,但对于本教程,我们将只学习如何使用MayaVi模块构建图形用户界面。我们将使用MayaVi模块和其他一些模块(我们将在后面讨论)来通过Python程序构建GUI。

Python中的MayaVi模块:安装

MayaVi不是Python内置的模块,它不是预先安装在Python扩展中的,因此,如果我们想在Python程序中使用和导入这个模块,我们必须在我们的系统中安装这个模块。MayaVi模块的安装非常简单,可以通过多种方法完成,包括通过conda方法、通过Jupyter notebook方法、通过pip方法等等。但在本教程中,我们将只使用pip安装器方法来执行MayaVi模块的安装,并在终端shell中使用以下pip命令来安装该模块:

我们需要打开系统的命令提示终端,在其中写入上面给出的命令,写完命令后,按回车键开始MayaVi模块的安装过程。当我们按下回车键时,将开始MayaVi模块的安装过程,需要一段时间才能将MayaVi模块成功安装到我们的系统中。因为Mayavi模块附带了多个扩展和库函数,这些扩展和库函数将被下载并安装在我们的系统中,并且pip也会为它构建一个轮子。

Python MayaVi模块

正如我们所看到的,MayaVi模块已经成功地安装在我们的系统中,现在我们可以通过将其导入Python程序来开始使用该模块。

注意:由于我们必须在本教程中使用MayaVi模块构建GUI,我们还需要NumPy和SciPy模块来执行此实现。在进一步使用MayaVi模块的实现部分之前,我们应该确保系统中已经安装了SciPy和NumPy模块。如果我们的系统中没有SciPy和NumPy模块,我们可以在命令提示终端中使用以下pip安装命令来安装它们:

(i)安装SciPy模块:


Python MayaVi模块

这个模块已经存在于我们的系统中,这就是为什么这里显示的需求已经满足了,如果这个模块不存在于系统中,这个命令将安装它。

(ii)安装NumPy模块:


Python MayaVi模块

这个模块已经存在于我们的系统中,这就是为什么这里显示的需求已经满足了。

我们已经安装了MayaVi模块的实现部分所需的所有模块,因此,现在我们可以继续进行MayaVi模块的实现部分。

MayaVi模块在Python中的实现

在实现部分,我们将只使用MayaVi模块实现其GUI构建功能,我们将通过它构建一个球谐函数可视化。我们将在示例程序中使用MayaVi模块,通过在输出中为其绘制图形用户界面来理解球谐函数的可视化。我们还将使用SciPy和NumPy模块来执行科学计算,并在程序中使用三角函数。我们可以查看下面的示例程序,了解如何使用NumPy和SciPy模块实现MayaVi模块。

例子:

看看下面的Python程序,它具有球形激素函数的可视化:

输出:

Python MayaVi模块

正如我们所看到的,在输出中绘制了具有指定尺寸、值和特征的球面谐波的可视化。

解释:

我们首先在程序中导入了scipy、numpy和mayavi模块。首先从numpy模块导入linspace、meshgrid、array、sin、cos、pi、abs函数,然后从scipy模块导入sph_harm函数为sh,最后从mayavi模块导入mlab为ml,实现球谐运动的可视化。

之后,我们使用OneDTheta和OneDPhi变量中的linspace()函数定义1-D角。之后,我们在meshgrid()函数中使用OneDTheta和OneDPhi角定义二维角度,并初始化TwoDTheta和TwoDPhi变量。

之后,我们定义了一个数组,在这个数组中,我们使用了sin和cos恒等式和我们之前定义的二维角度。接下来,我们用整数值定义长度和测量变量,然后在sph_harm()函数中使用二维角度、长度和测量值。

之后,我们初始化了半径变量,使用abs()函数来定义球体的半径。接下来,我们使用figure()函数来定义图形的尺寸,之后,我们使用mesh()函数来指定输出中绘制的图形的半径和颜色。

然后使用view()函数设置球面谐波的可视化,并使用savefig()函数将图形保存为指定的格式。最后,我们使用show()函数在输出中显示可视化。


下一个话题 Python os.listdir()方法





Youtube 视频加入我们的Youtube频道:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


b .技术/马华






Baidu
map