графический интерфейс в реальном времени для Python, используя только черты - PullRequest
0 голосов
/ 08 октября 2010

Можно ли создать пользовательский интерфейс с использованием черт из python для создания интерфейса для симуляции клеточных автоматов?

1 Ответ

1 голос
/ 15 ноября 2010

Конечно, вы можете делать с чертами все, что можно с Python!

Если серьезно, я предполагаю, что ваш вопрос действительно о генерации графического интерфейса для отображения CA.В этом случае я могу порекомендовать Mayavi, который основан на чертах.Он имеет функцию прибоя, которая отображает массив регулярно расположенных данных в виде трехмерной поверхности.Есть документы по анимации данных, которые показывают, как изменить базовые данные поверхности для очень быстрого рендеринга, который я использовал и хорошо работает.У меня есть 3D-форма массива NumPy = (x, y, время), а затем для каждого шага я передаю срез в объект данных объектов поверхности:

surf.mlab_source.scalars = array[:,:,timepoint_index]

В качестве альтернативы вы можете использовать imshow Matplotlib для 2D-графикаодни и те же данные.Существует очень хорошее руководство по встраиванию matplotlib в свойствах.

Одна проблема с использованием этих больших библиотек (которые сами имеют много-много зависимостей) - это возможность распространять ваше приложение вместе с библиотеками.Я успешно заморозил приложение Mayavi / matplotlib / traits на Mac с использованием py2app и Windows с использованием py2exe, начиная с дистрибутива Enthought Python, но это было нелегко.Однако, если вам просто нужно, чтобы он работал на вашем компьютере и генерировал результаты, тогда оба эти подхода сэкономят ваше время по сравнению с написанием графической системы для ваших клеточных автоматов.

Сказав все, что я также слышал о хороших вещахGarlicSim (как упомянуто cool-RR), который может показаться специально для вашей цели.

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

...