#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}]