参数、动画、阶段演示与 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:播放一次;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
打开当前图形的导出对话框并选择 GIF:
- 选择当前视图或适合内容;2D 还可以框选自定义区域。
- 决定是否包含坐标网格。
- 选择像素倍率与帧率;默认值来自设置 › 导出默认值。
- 有
stage时导出阶段时间线;普通animate脚本导出一次完整运动。 - 3D 还可以选择相机环绕模式。
GIF 时长来自脚本时间线,而不是设置中的固定秒数。为防止内存过大,应用会限制总帧数;超出时导出对话框会显示已封顶。降低帧率、缩短阶段/动画时长或降低像素倍率可以减小文件。
让动画稳定
- 动画参数,而不是已经派生出来的对象。
- 确保整个范围内构造都有效,例如圆弧端点不要在中途重合。
- 数值求交或复杂曲面使用适中的 samples,避免每帧计算过重。
- 导出前从头播放一次并检查诊断;警告对象可能在部分帧消失。
- 需要在演示末尾保留某一姿态时,停止播放让当前值写回,再保存项目。
