Skip to content

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

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

参数滑块

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

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

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

GIF 时长来自脚本时间线,而不是设置中的固定秒数。为防止内存过大,应用会限制总帧数;超出时导出对话框会显示已封顶。降低帧率、缩短阶段/动画时长或降低像素倍率可以减小文件。

让动画稳定

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