Как переместить систему координат в центр 3D-сцены mayavi.mlab?

Я выполняю некоторую обработку изображений, и для этой цели я хочу визуализировать свои данные с помощью mayavi.mlab (у меня есть распределение единичных векторов в 3D). Однако я хочу показать свои данные на поверхности единичной сферы. С mlab.axes я получил декартову систему координат, что хорошо. Но я хочу, чтобы эта система координат была перенесена в центр сферы. Как я могу это сделать?

У меня уже есть сфера, сетка на сфере моих данных (не показана в предоставленном фрагменте кода), цветная полоса и так далее. Я также попытался построить систему координат самостоятельно, используя mlab.plot3d, а затем построил 3 линии. Но, конечно же, эти строки не имеют меток, галочек или стрелок в конце.

import numpy as np
from mayavi import mlab

## Create a sphere
r = 1.0
pi = np.pi
cos = np.cos
sin = np.sin
phi, theta = np.mgrid[-0.5*pi:0.5*pi:101j, 0:1*pi:101j]

## Polarcoordinates of the sphere
x = r*sin(phi)*cos(theta)
y = r*sin(phi)*sin(theta)
z = r*cos(phi)

## Basic settings mlab
mlab.figure(1, bgcolor=(1, 1, 1), fgcolor=(0, 0, 0), size=(500, 500))
mlab.clf()

## Plot unit sphere
mlab.mesh(x , y , z, color=(0.9,0.,0.), opacity=0.3)

## My approach for the centered coordinate system
ax=[[0,0.5,1,1.5],[0,0,0,0]]
x_ax_x=ax[0]
x_ax_y=ax[1]
x_ax_z=ax[1]

y_ax_x=ax[1]
y_ax_y=ax[0]
y_ax_z=ax[1]

z_ax_x=ax[1]
z_ax_y=ax[1]
z_ax_z=ax[0]

mlab.plot3d(x_ax_x, x_ax_y, x_ax_z, tube_radius=None, color=(0,0,0))
mlab.plot3d(y_ax_x, y_ax_y, y_ax_z, tube_radius=None, color=(0,0,0))
mlab.plot3d(z_ax_x, z_ax_y, z_ax_z, tube_radius=None, color=(0,0,0))

mlab.show()

Есть ли простой способ получить центрированную систему координат или мне нужно построить ее самостоятельно? И если да, то как добавить к строкам стрелки, метки и галочки?

заранее спасибо

Фтаген


person Phtagen    schedule 29.06.2019    source источник
comment
в Mayavi нет функции для того, что вы запрашиваете. У кого-то здесь была аналогичная проблема с осями для декартовой системы координат, и в итоге они сами их построили   -  person Felipe Lema    schedule 02.07.2019
comment
Спасибо за ваш ответ и то, что вы поделились ссылкой ... Я также самостоятельно управлял осями-сюжетом ...   -  person Phtagen    schedule 16.07.2019