【问题标题】:Vector cut plane in mayavi doesn't workmayavi 中的矢量切割平面不起作用
【发布时间】:2016-06-30 11:39:21
【问题描述】:

我刚刚尝试测试mayavivector_cut_plane功能:

import numpy as np
from mayavi import mlab

x, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]

u =    np.sin(np.pi*x) * np.cos(np.pi*z)
v = -2*np.sin(np.pi*y) * np.cos(2*np.pi*z)
w = np.cos(np.pi*x)*np.sin(np.pi*z) + np.cos(np.pi*y)*np.sin(2*np.pi*z)

src = mlab.pipeline.vector_field(u, v, w)
mlab.pipeline.vector_cut_plane(src, mask_points=2, scale_factor=3)

mlab.show()

但是它似乎不起作用,因为矢量场切割不遵循红框:

这是相关的截屏视频:http://dropcanvas.com/tqaxc

知道我做错了什么吗?

【问题讨论】:

    标签: python scientific-computing mayavi


    【解决方案1】:

    我在 linux ubuntu 16.04 上使用 Mayavi2 4.4.3 遇到了同样的问题:

    我在这里找到了解决方案: https://github.com/enthought/mayavi/issues/164

    编辑文件(以 root 身份): /usr/lib/python2.7/dist-packages/mayavi/components/cutter.py

    并在文件末尾添加以下 2 行:

       def _cut_function_changed(self):
            self.cutter.cut_function.on_trait_change(self.cutter.update, "normal, origin")
    

    如果您不熟悉 python,请注意缩进:给我 3 个空格。在前面的“def”行之后一个空。

    如果有帮助,请告诉我。

    你的

    伊夫·德尔海

    【讨论】:

      猜你喜欢
      • 2017-10-05
      • 2013-01-05
      • 2015-08-01
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多