mayavi VTK的安装及示例

Mayavi 简介

Mayavi 是一个功能强大的 Python 库,旨在简化三维科学数据的可视化过程。它基于 VTK(Visualization Toolkit),提供了灵活且易于使用的接口来创建高质量的图形和动画。Mayavi 可以用来绘制标量场、向量场、等值面等多种类型的三维数据。

主要特点

  • 丰富的可视化组件:包括等值面、流线、矢量箭头、体积渲染等。
  • 用户友好的界面:除了编程接口外,Mayavi 还提供了一个交互式的 GUI,使得非程序员也能轻松进- 行复杂的数据可视化。
  • 跨平台支持:可以在 Windows、macOS 和 Linux 上运行。
  • 集成性强:可以与 Python 生态系统中的其他科学计算库(如 NumPy、SciPy)无缝结合使用。

应用场景

  • 科学研究:如气象学、地球物理学、生物学等领域中的数据分析。
  • 工程模拟:例如流体力学模拟结果的可视化。
  • 教育教学:帮助学生理解复杂的三维结构和概念。

使用 Conda 安装Mayavi

推荐使用 Conda 安装Mayavi,因为Conda可以处理Mayavi的各种依赖关系。除了VTK可能需要手动安装外,其他依赖包都可以自动安装,后面会详细说明VTK如何手动安装。

1. 创建并激活 Conda 环境

为了确保环境的隔离性,建议为 Mayavi 创建一个新的 Conda 环境。

(1) 创建新环境
conda create -n study python=3.8

这里指定 Python 版本为 3.8,你可以根据需要选择其他版本(如 3.7 或 3.9)。study可以换成自己取的其他的conda环境名字

(2) 激活环境
conda activate study

2. conda 自动安装 Mayavi 和 VTK

Mayavi 依赖于 VTK,因此需要同时安装这两个包。推荐使用 conda-forge 通道,因为它提供了最新且兼容的版本。这一步是自动安装VTK,但是安装完了之后python中import vtk 有可能会出错,报找不到vtkIOExodus、vtkIONetCDF、vtkIOMINC这三个库,如果出错的话到第3步,手动安装VTK。也可以跳过第2步到第3步骤,直接手动安装VTK。

(1) 安装 Mayavi 和 VTK
conda install -c conda-forge mayavi vtk

这条命令会自动安装 Mayavi、VTK 以及所有必要的依赖项。

(2) 验证安装

安装完成后,可以通过以下命令验证是否成功:

import mayavi
print("Mayavi version:", mayavi.__version__)

import vtk
print("VTK version:", vtk.vtkVersion.GetVTKVersion())

运行上述代码时,如果没有报错,则说明安装成功。

如果和我报一样的如下报找不到vtkIOExodus、vtkIONetCDF、vtkIOMINC这三个库的错误:
File “C:\Users\diqiuhua\anaconda3\envs\study\lib\site-packages\vtkmodules\all.py”, line 64, in
from .vtkIOExodus import *
ImportError: DLL load failed while importing vtkIOExodus: 找不到指定的程序。

那么,需要卸载掉VTK,再到步骤3中继续手动安装VTK,用如下命令卸载VTK:

conda remove vtk

这条命令会卸载 vtk 包以及所有与之直接依赖的包(如果这些依赖没有被其他包使用)。

删除 VTK 后,Conda 的缓存中可能仍然保留了与 VTK 相关的文件。为了清理这些残留文件,可以运行以下命令:

conda clean --all

这条命令会清理未使用的包缓存、索引缓存和临时文件,释放磁盘空间。

3. 手动安装VTK

(1) 下载VTK安装包

进到vtk的官网:https://vtk.org/download/
选择对应的.whl 后缀的 Wheel 文件,比如我是python3.8的环境,选择cp38,win10系统,选择win_amd64,下载的vtk文件名如下:

vtk-9.4.1-cp38-cp38-win_amd64.whl

Wheel 文件是一种预编译的 Python 包文件,包含了已经编译好的二进制代码(如 C 扩展)以及相关的元数据和资源文件。与传统的源码包(如 .tar.gz)相比,Wheel 文件的主要优势是安装速度更快,且不需要在目标系统上重新编译代码。

Wheel 文件的命名通常遵循以下格式:

{distribution}-{version}-{build_tag}-{python_tag}-{abi_tag}-{platform_tag}.whl

例如:

numpy-1.21.2-cp38-cp38-win_amd64.whl
  • numpy:包名。
  • 1.21.2:版本号。
  • cp38:Python 版本(这里表示 Python 3.8)。
  • win_amd64:平台架构(这里是 Windows 64 位)。
(2) conda中pip手动安装

把vtk-9.4.1-cp38-cp38-win_amd64.whl文件在conda安装目录下找个地方放一下,例如我放在
C:\Users\diqiuhua\anaconda3\DK下,从conda prompt中cd到此目录下,运行如下命令安装VTK:

(study) C:\Users\diqiuhua\anaconda3\DK>pip install vtk-9.4.1-cp38-cp38-win_amd64.whl
(3) conda安装mayavi

运行如下命令自动安装mayavi及依赖包:

conda install -c conda-forge mayavi

如上步骤都成功操作完成的话就可以继续下面的步骤,运行一个简单的示例了,验证一下成果。

mayavi的简单示例

运行如下示例,可以用mayavi创建一个3D随机立方点云:

import numpy as np
from mayavi import mlab

# 生成随机点云数据
num_points = 1000
x = np.random.random(num_points)
y = np.random.random(num_points)
z = np.random.random(num_points)

# 创建 3D 点云图
mlab.points3d(x, y, z, scale_factor=0.05, color=(0, 0, 1))

# 显示图形
mlab.show()

效果显示如图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值