Skip to content

参数、动画、阶段演示与 GIF/MP4 导出

Eidograph 把动画定义在 Eidolang 中,而不是保存为独立的画布状态。2D、3D、阶段播放与 GIF/MP4 导出使用同一条时间线,因此屏幕播放和导出帧保持一致。

参数滑块

txt
param r 1 range 0.5 4 step 0.1
circle c O radius r

每个 param 会出现在右侧参数面板。拖动时图形实时重算,松开时当前值写回 param 命令。没有声明 range 的参数不会获得完整的可调范围。

连续动画

txt
animate r duration 2s mode pingpong

动画目标必须是参数或具有可写自由度的绑定对象。支持:

  • mode loop:循环回到开头;
  • mode pingpong:在两端往返;
  • mode once:播放一次;
  • speedduration:控制速度/时长;
  • over t0 t1:限制变化区间。

状态栏的播放/暂停控制预览;停止会把当前动画值写回脚本字面量,成为可撤销的编辑。

阶段演示

stage 把构造组织成连续步骤:

txt
stage givens duration 1.2s reveal fade
point A -3 0
point B 3 0
segment base A B

stage result duration 1.2s reveal draw
point M = midpoint(A, B)
hide base transition erase duration 0.6s
  • 第一条 stage 之前的对象是始终存在的背景。
  • reveal cut|fade|draw 控制该阶段新对象的出现方式。
  • clear 隐藏之前阶段引入的可见对象,但不会删除依赖图中的值。
  • show/hide 可选择 cutfadedraw/erase 与独立时长。

出现阶段脚本后,状态栏提供上一阶段、播放/暂停、重置、下一阶段和完整时间轴。编辑时默认显示最终完成状态;从末尾播放会重新从第一阶段开始。

导出 GIF 与 MP4

打开当前图形的导出对话框并选择 GIF 或 MP4:

  1. 选择当前视图适合内容;2D 还可以框选自定义区域。
  2. 决定是否包含坐标网格。
  3. 选择像素倍率、帧率,以及预设或自定义时长;默认值来自设置 › 导出默认值
  4. stage 时导出阶段时间线;普通 animate 脚本导出一次完整运动。
  5. 3D 还可以选择相机环绕模式。

两种格式使用同一条时间线渲染同样的帧,区别只在编码方式。时长最初来自脚本时间线,但导出对话框可以用预设值或自定义秒数覆盖。为防止内存过大,应用会限制总帧数;超出时导出对话框会显示已封顶。降低帧率、时长或像素倍率可以减小文件。

该选 GIF 还是 MP4

GIFMP4
编码调色板,每帧最多 256 色H.264,全彩
文件大小随时长和细节迅速增大相同时长与倍率下明显更小
播放凡是能显示图片的地方都会自动循环需要视频播放器;长片段或高分辨率也保持流畅
适合聊天、论坛、问题追踪幻灯片、视频剪辑、课程录制

MP4 的注意事项:

  • 视频没有声音,也不支持透明;两种动画格式都不显示透明背景开关。
  • H.264 要求像素尺寸为偶数,因此奇数的导出宽高会向上取整 1 像素。
  • 编码使用系统的 H.264 编码器。若系统无法在所选尺寸下编码 H.264,导出会报错,此时仍可使用 GIF。

让动画稳定

  • 动画参数,而不是已经派生出来的对象。
  • 确保整个范围内构造都有效,例如圆弧端点不要在中途重合。
  • 数值求交或复杂曲面使用适中的 samples,避免每帧计算过重。
  • 导出前从头播放一次并检查诊断;警告对象可能在部分帧消失。
  • 需要在演示末尾保留某一姿态时,停止播放让当前值写回,再保存项目。