Я пытаюсь сделать простую стрелку в mlab, чтобы указать на разные области на графике. Рассмотрим этот пример:
fig = mlab.figure( bgcolor=(0, 0, 0))
b=visual.Box(x=0, y=10, z=10)
visual.set_viewer(fig)
b=visual.Box(x=0, y=10, z=10)
b2=visual.Box(x=10,y=10,z=10, color=(0,0,1))
a=visual.Arrow(x=10,y=10,z=10, color=(1,0,0))
Так что в моем воображении стрелка должна появиться из синей коробки, однако она живет своей загадочной жизнью и находится совсем в стороне. Очень странно, что ящики расположены и привязаны к сетке (поэтому, если я поставлю b равным x=10,y=10,z=10, два ящика будут совмещены), однако стрелка - нет. Это ошибка или функция?
Обновлять:
Я пытался исправить вышеизложенное и нашел поведение стрелки очень странным. Вот что я делаю (в ipython
для взаимодействия):
from mayavi import mlab
from tvtk.tools import visual
fig=mlab.figure( bgcolor=(0, 0, 0))
visual.set_viewer(fig)
Сначала поместите коробку куда-нибудь на холст в качестве ссылки:
b=visual.Box(x=10,y=4,z=1)
Затем я хочу, чтобы из коробки торчала стрелка:
a=visual.Arrow(x=10,y=4,z=1)
Не получилось (так же, как и первая часть вопроса):
Теперь давайте изменим длину конуса без причины
a.length_cone
возвращается
0.35
Давайте изменим это
a.length_cone=0.5
Теперь стрелка торчит из коробки, как и должно быть
Измените длину конуса обратно на 0,35, чтобы увидеть, изменит ли это стрелку обратно в неправильное положение.
a.length_cone=0.35
Нет, стрелка остается в поле, где она должна быть. Это похоже на ошибку.
visual
? - person aestrivex   schedule 20.11.2013