Правильное создание интерактивных сюжетов майяви в блокноте Jupyter. - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь создавать интерактивные 3D-графики с использованием MayaVi. У меня сложилось впечатление, что подход, который я использовал в следующем коде, довольно плох, потому что

  • ноутбук через некоторое время довольно сильно тормозит
  • через некоторое время даже мой компьютер зависает полностью (в больших сценах, чем в примере).
  • после сюжета есть этот странный текстовый вывод (см. Скриншот).

К сожалению, документация MayaVi скорее состоит только из примеров и без надлежащей ссылки (или я еще не нашел его). Итак: как правильно построить динамически вычисляемые наборы данных?

import numpy as np
R = 2.
r = 0.5
N = 35
points = np.random.randn(2, N)
points = np.vstack((points, r*la.norm(points, axis=0)**2)).T

import mayavi.mlab as mlab
from IPython.display import display
from ipywidgets import interact
mlab.init_notebook('x3d')

fig = mlab.figure(size = (480,320), bgcolor = (1,1,1), fgcolor = (0, 0, 0))
@interact(z=(0,10,0.5))
def show(z):
    mlab.clf()
    points_below = points[points[:,2] <= z]
    mlab.points3d(*points_below.T, scale_factor=0.1, color=(0,.7,.7))
    display(fig)

Под текстовым выводом я имею в виду следующее:

enter image description here

...