Как сгенерировать анимированный GIF-файл манипуляции? 8.0.1

#wolfram-mathematica #mathematica-8

#wolfram-mathematica #mathematica-8

Вопрос:

Экспорт в анимированный gif, похоже, изменился в Mathematica 8.0.1?

Обычно я создаю анимированные GIF-файлы для манипуляции, просто записывая:

 v=Manipulate[....]

then Export["foo.gif",v];
  

Но теперь это не работает. Я просто получаю одно статическое изображение.

Вот пример:

 v=Manipulate[
Text[t],
{{t,4,"start"},0,10,1,ControlType->Trigger,AnimationRate->1,AnimationRepetitions->10}
]
  

Теперь Export["foo.gif",v] просто сгенерируйте статическое изображение, поскольку ничего не запускалось.

Но Export["foo.avi",v] работает, и он генерирует запущенный avi-фильм.

Кроме того, раньше я использовал анимированные GIF-файлы, но теперь они не поддерживаются:

 Export["foo.gif",v,ConversionOptions->{"AnimationDisplayTime"->0.5,"Loop"->True},ImageSize->{500,500}]

Export::convoptobs: ConversionOptions is obsolete. 
  

Когда я захожу в справку, я не вижу там опций для GIF. Как управлять задержкой анимации и тому подобным?

Я подумал, что у кого-то здесь может быть идея.

спасибо —Nasser

Комментарии:

1. Я не использую версию 8, но мне любопытно узнать, что вы получите, если используете: Export["foo.gif", {v}]

2. Тот же эффект, когда я использовал {v}, анимированный gif не создавался.

3. Жаль, что это было не так просто. Боюсь, я не смогу вам помочь.

4. @Nasser Какую версию Mathematica вы использовали, которая работала указанным способом? Я попробовал v=Manipulate[Text[t],{{t,4,"start"},0,10,1,ControlType->Trigger,AnimationRate->1,AnimationRepetitions->10}];Export["C:/foo.gif",v] в версии 7.0.1, и он действительно генерирует статическое изображение.

5. Здравствуйте; Я не помню, какая версия. Но я помню, что раньше у меня была возможность экспортировать в анимированный gif переменную, которой я присвоил значение команды Maniupulate. Я могу ошибаться, но это работает с SWF и AVI? Что касается опций (для части экспорта в gif) Я точно знаю, что раньше это работало, а теперь больше не работает. В любом случае, остается вопрос, как экспортировать Manipulate в анимированный GIF-файл? Использование Animate [], как было предложено вместо Manipulate, не очень хорошо сработало в моем случае (пользовательский интерфейс немного изменился, когда я это сделал). Спасибо —Nasser

Ответ №1:

Вы можете экспортировать Table в анимированный GIF-файл.

 v = Table[Panel[Text[t]], {t, 0, 10, 1}];
Export["anim.gif", v, "DisplayDurations" -> 0.5]
  

Если вы абсолютно хотите, чтобы анимация выглядела как Manipulate , вы могли бы сделать что-то вроде этого.

 v = Table[Manipulate[Text[t], 
    {{t, Mod[k, 10], "start"}, 0, 10, 1, ControlType -> Trigger}],
  {k, 4, 14}];
Export["Manip.gif", v, "DisplayDurations" -> 0.5]
  

Комментарии:

1. Спасибо, Марк! Это сделало это. Я хотел проголосовать за ваш ответ, но ит-форум мне не позволяет. Я использовал ваш трюк, чтобы, наконец, оживить небольшую манипуляцию, которую я сделал для school HW. Если вы хотите посмотреть анимацию, вот она 12000.org/my_notes/mma_demos/pendulum_flywheel/index.htm Я использовал latex для его загрузки, немного уменьшив масштаб. Еще раз спасибо! Мне нравится этот форум намного больше, чем другая математическая группа, так как здесь нет долгих задержек, и наконец-то можно хорошо поговорить о Mathematica. —Nasser

2. @Nasser — Рад помочь! И я рад, что вам нравится этот форум. Это, безусловно, отличается от mathgroup. Я уверен, что у них обоих есть свои сильные стороны, но мне определенно нравится поворот здесь. Что касается повышения голосов, вам нужно заработать немного репутации, прежде чем вы сможете это сделать. Я не думаю, что это слишком много.

Ответ №2:

Вы можете использовать v = Animate[
Text[t], {{t, 4, "start"}, 0, 10, 1, ControlType -> Trigger,
AnimationRate -> 1, AnimationRepetitions -> 10}]