在mayavi上同一位置的多个情节

时间:2015-11-12 16:07:16

标签: python plot mayavi

我试图策划这个" F" R3中的向量函数。与以半径Pi / 2的原点为中心的球体一起。

  • 我不明白为什么我的矢量和我的球体不在同一个位置。
  • 我不明白mlab.axes"轴的可见性",我只是想显示通常的x,y,z轴。

很抱歉,如果对某些人来说这是显而易见的,但我通过标准文档,几个示例和谷歌搜索几个小时,我仍然无能为力。

The function

我目前的Mayavi结果和代码:

Mayavi Results

import numpy as np
from mayavi import mlab


# Functions
def h(t):
    return np.exp(-1/t) * (1/np.cos(t))


def F(x, y, z):
    norm = np.linalg.norm([x, y, z])
    h_norm = (h(norm)/norm)
    return [x*h_norm, y*h_norm, z*h_norm]


# Vectors
x, y, z = np.meshgrid(np.arange(-2, 2, 0.5),
                      np.arange(-2, 2, 0.5),
                      np.arange(-2, 2, 0.5))

u, v, w = F(x, y, z)

src = mlab.pipeline.vector_field(u, v, w)
mlab.pipeline.vectors(src, mask_points=20, scale_factor=.5)

# Ball
dphi, dtheta = np.pi/250.0, np.pi/250.0
[phi, theta] = np.mgrid[0:2*np.pi:dphi,
                        0:np.pi:dtheta]
r = np.pi / 2

x2 = r*np.sin(theta)*np.cos(phi)
y2 = r*np.sin(theta)*np.sin(phi)
z2 = r*np.cos(theta)

s = mlab.mesh(x2, y2, z2)

#mlab.axes(x_axis_visibility=True, y_axis_visibility=True)

# View it all.

mlab.outline()
mlab.show()

0 个答案:

没有答案