参数、动画、阶段演示与 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:播放一次;speed或duration:控制速度/时长;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可选择cut、fade、draw/erase与独立时长。
出现阶段脚本后,状态栏提供上一阶段、播放/暂停、重置、下一阶段和完整时间轴。编辑时默认显示最终完成状态;从末尾播放会重新从第一阶段开始。
导出 GIF 与 MP4
打开当前图形的导出对话框并选择 GIF 或 MP4:
- 选择当前视图或适合内容;2D 还可以框选自定义区域。
- 决定是否包含坐标网格。
- 选择像素倍率、帧率,以及预设或自定义时长;默认值来自设置 › 导出默认值。
- 有
stage时导出阶段时间线;普通animate脚本导出一次完整运动。 - 3D 还可以选择相机环绕模式。
两种格式使用同一条时间线渲染同样的帧,区别只在编码方式。时长最初来自脚本时间线,但导出对话框可以用预设值或自定义秒数覆盖。为防止内存过大,应用会限制总帧数;超出时导出对话框会显示已封顶。降低帧率、时长或像素倍率可以减小文件。
该选 GIF 还是 MP4
| GIF | MP4 | |
|---|---|---|
| 编码 | 调色板,每帧最多 256 色 | H.264,全彩 |
| 文件大小 | 随时长和细节迅速增大 | 相同时长与倍率下明显更小 |
| 播放 | 凡是能显示图片的地方都会自动循环 | 需要视频播放器;长片段或高分辨率也保持流畅 |
| 适合 | 聊天、论坛、问题追踪 | 幻灯片、视频剪辑、课程录制 |
MP4 的注意事项:
- 视频没有声音,也不支持透明;两种动画格式都不显示透明背景开关。
- H.264 要求像素尺寸为偶数,因此奇数的导出宽高会向上取整 1 像素。
- 编码使用系统的 H.264 编码器。若系统无法在所选尺寸下编码 H.264,导出会报错,此时仍可使用 GIF。
让动画稳定
- 动画参数,而不是已经派生出来的对象。
- 确保整个范围内构造都有效,例如圆弧端点不要在中途重合。
- 数值求交或复杂曲面使用适中的 samples,避免每帧计算过重。
- 导出前从头播放一次并检查诊断;警告对象可能在部分帧消失。
- 需要在演示末尾保留某一姿态时,停止播放让当前值写回,再保存项目。
