【问题标题】:How to run two animations side by side in Maple如何在 Maple 中并排运行两个动画
【发布时间】:2019-09-18 05:45:33
【问题描述】:

我正在尝试并排同时运行两个动画。如果我将两个动画放在一个数组中,它们会正确显示,但它们不会一起运行。如果我将它们显示在一起以使它们一致运行,那么它们将被叠加而不是并排。 Maple 是否有一种标准方法可以按照我需要的方式执行此操作?

【问题讨论】:

    标签: animation maple


    【解决方案1】:

    [edited]我不清楚你是否想要可以右键单击导出到包含两个动画的单个动画 GIF 文件。[/edited]

    您可以构建单个动画,其中每一帧本身就是一个并排的数组图。

    这里有两种方法来构造数组图的动画。当然,对于您自己的示例,您可以将调用 plot(sin(...))plot(cos(...)) 替换为构建依赖于动画参数 t 的两个绘图的任何命令。

    restart; 
    T:=4: 
    step:=10: 
    numframes:=100:
    

    1) 使用plots:-animate 命令,并延迟评估额外参数(直到t 获得数值)。

    plots:-animate(plots:-display, 
                   ['Array([plot(sin(x+t),x=0..1), 
                            plot(cos(x+t),x=0..1)])'], 
                   t=0..T*step, frames=numframes);
    

    2) 生成它们的序列,然后使用plots:-display 命令及其insequence 选项

    S := [seq(plots:-display(Array([plot(sin(x+t),x=0..1), 
                                    plot(cos(x+t),x=0..1)])), 
              t=0..T*step, (T*step-0)/(numframes-1))]: 
    
    nops(S); # check we got 100 frames 
    
    plots:-display(S, insequence=true); 
    

    然后,使用这两种方法中的任何一种,单击绘图区域中的焦点后,主菜单栏中的播放按钮会使绘图阵列一起播放。

    【讨论】:

    • 以上要求两个图的帧数相同。我可以补充一点,另一种方法是插入两个 PlotComponents 和一个 Button,其操作代码将进行两次调用以使它们都播放。如果幸运的话,在按下按钮后两者开始播放之间不会有明显的延迟。但是,从“组件”面板插入所有这些是单独的手动操作。如果你真的想要,你甚至可以以编程方式插入/嵌入所有三个组件(使用两个预制动画作为函数参数),但它更多的是编程。告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 2020-09-12
    • 2011-05-21
    • 1970-01-01
    • 2017-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多