Я запускаю скрипт для создания цилиндрической поверхности, определяемой набором точек. Я использую Mayavi для визуализации визуализаций. Для следующего скрипта, как я могу найти координаты каждой точки? Кажется, что Mayavi делает это за кулисами в конвейере данных, но я не совсем уверен, как это извлечь. В качестве альтернативы я пытался выполнять вложенные циклы for, но я не понял правильного алгоритма... Тем временем я буду продолжать попытки. Однако, если кто-то знает, как извлечь их из пайплайна Mayavi, это было бы здорово, так как мне больше не придется добавлять время вычислений.
import numpy as np
import mayavi
from mayavi import mlab
class cylinder:
def __init__(self, radius, length):
phi, x = np.mgrid[0:np.pi:50j, 0:length:50j]
self.z = radius * np.sin(phi)
self.y = radius * np.cos(phi)
self.x = x
self.mesh = mlab.points3d(self.x,self.y,self.z, mode = 'point')
def main():
cylinder = cylinder(radius=1,length=2)
mayavi.mlab.axes()
mlab.show()
main()
cylinder = cylinder(...)
приведет кUnboundLocalError
, посколькуcylinder
квалифицировано как локальное имя из-за его появления в левой части, но оно отображается в правой части до того, как будет назначено. Не затеняйте такие имена, особенно нелокальные. Напишите что-то вродеcyl = cylinder(radius=1, lenth=2)
. - person Andras Deak   schedule 01.11.2018