Уведомления

Группа в Telegram: @pythonsu

#1 Май 14, 2011 00:34:16

math.beginer
От:
Зарегистрирован: 2011-03-28
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

вопросы по графике

В массиве b, имеющем вид (размерность - n,3,3) храняться координаты площадок:

[[[ 0.        1.        0.      ]
[-0.707107 0.707107 0. ]
[ 0. 0.707107 0.707107]]

[[-0.707107 0.707107 0. ]
[-0.707107 0. 0.707107]
[ 0. 0.707107 0.707107]]
...
]
рисую я их командой mayavi
mlab.triangular_mesh(reshape(b[:,:,0:1],n*3),reshape(b[:,:,1:2],n*3),reshape(b[:,:,2:3],n*3), tris,representation='surface',color=(1,0,1),transparent=True)
3Д картинки получаются неплохие.

Посоветуйте как решить следующие подзадачи (не знаю даже в какую сторону смотреть):

1. нарисовать сечение 3Д картинки (она из нескольких фигур состоит) плоскостями xoy, xoz, yoz

2. сохранить аннимацию картинки: просто вся сцена делает оборот и все это храниться, например в гиф формате (вариант наделать принтскинов кажется нерациональным :-))

3. вычислять расстояние от точки до сегмента (на спп набросал алгоритм, самописный модуль вроде работает но хочется какое-нибуть готовое средство оттестированное ), есть и ряд других несложных но стандатных действии



Офлайн

#2 Май 14, 2011 19:50:55

asv13
От:
Зарегистрирован: 2007-01-22
Сообщения: 130
Репутация: +  0  -
Профиль   Отправить e-mail  

вопросы по графике

math.beginer
1. нарисовать сечение 3Д картинки (она из нескольких фигур состоит) плоскостями xoy, xoz, yoz
Через интерфейс вызвать опции там дерево pipeline, в котором добавить правой кнопкой мыши Add Filter -> CutPlane
Плоскость можно крутить мышой на сцене или чекбоксом выбрать “Normal to x axis” и т.п. - Y/Z

Как то разрезы я делал методом тыка, так что и не помню уже. Вообще ресурсов по этой библиотеке на русском нема, приходиться смотреть примеры или искать по списоку рассылки
http://www.mail-archive.com/mayavi-users@lists.sourceforge.net/



Офлайн

#3 Май 17, 2011 10:56:52

math.beginer
От:
Зарегистрирован: 2011-03-28
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

вопросы по графике

asv13
Через интерфейс вызвать опции там дерево pipeline, в котором добавить правой кнопкой мыши Add Filter -> CutPlane
Плоскость можно крутить мышой на сцене или чекбоксом выбрать “Normal to x axis” и т.п. - Y/Z
спасибо! много для себя выяснил :-) но пара вопросов осталась

1. можно ли построить сечение всей сцены, содержащей несколько фигур (Add Filter доступен для каждой фигуры)?

2. можно ли сохранить точки сечения в обычнй текстовый файл?



Офлайн

#4 Май 19, 2011 10:22:46

asv13
От:
Зарегистрирован: 2007-01-22
Сообщения: 130
Репутация: +  0  -
Профиль   Отправить e-mail  

вопросы по графике

Для сечений посмотрите этот модуль

c:\Python26\Lib\site-packages\enthought\mayavi\modules\slice_unstructured_grid.py

Сам я не пробовал.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version