參數、動畫、階段演示與 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 都會出現在參數面板中。拖曳時圖形會即時重新計算,放開時數值會寫回該指令。請宣告 range,才能取得有意義的完整滑動範圍。
連續動畫
txt
animate r duration 2s mode pingpong動畫目標必須是參數,或具有可寫入自由度的綁定物件。可用選項包括:
mode loop、pingpong或once;speed或duration;over t0 t1,限定變化區間。
狀態列的播放/暫停按鈕控制預覽;停止會把目前的動畫數值提交為字面量,成為一次可復原的編輯。
階段演示
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 還可以框選自訂矩形。
- 決定是否包含座標格線。
- 選擇像素倍率、影格率,以及預設或自訂時長;預設值來自設定 › 匯出預設值。
- 有階段演示的腳本會匯出其階段時間軸;一般的
animate腳本則匯出一次完整動作。 - 3D 另外提供相機環繞選項。
兩種格式使用同一條時間軸算出同樣的影格,差別只在編碼方式。時長最初取自腳本時間軸,但匯出對話框可以用預設值或自訂秒數覆寫。為了保護記憶體,Eidograph 會限制總影格數,並在達到上限時標示已封頂。若要縮小檔案,可降低影格率、時長或像素倍率。
該選 GIF 還是 MP4
| GIF | MP4 | |
|---|---|---|
| 編碼 | 調色盤,每影格最多 256 色 | H.264,全彩 |
| 檔案大小 | 隨時長與細節迅速增大 | 相同長度與倍率下明顯更小 |
| 播放 | 只要能顯示圖片的地方都會自動循環 | 需要影片播放器;長片段或高解析度仍然流暢 |
| 適合 | 聊天、論壇、問題追蹤 | 簡報、影片剪輯、課程錄影 |
MP4 的注意事項:
- 影片沒有聲音,也不支援透明;兩種動畫格式都不會顯示透明背景開關。
- H.264 需要偶數的像素尺寸,因此奇數的匯出寬高會向上進位 1 像素。
- 編碼使用系統的 H.264 編碼器。若系統無法在所選尺寸下編碼 H.264,匯出會回報錯誤,此時仍可改用 GIF。
讓動畫保持穩定
- 動畫化參數本身,而不是已派生出來的結果。
- 確保構造在整個範圍內都保持有效,例如圓弧端點不應重合。
- 數值求交與曲面計算請使用適中的
samples。 - 匯出前先從頭播放一次,並檢查診斷面板。
- 若要保留最終姿態,請先停止播放以寫回目前數值,再儲存專案。
