跳轉到

影格取樣與編碼

固定影格率的取樣時間

動畫長度 \(D\)、整數影格率 \(f\) 時,FixedFPS 選擇

\[ N = \max(2, \left\lfloor D f + 1 / 2 \right\rfloor) \]

個影格,並包含兩端:

\[ t_i = D i / (N - 1), \quad i = 0, ..., N - 1. \]

最後一個時間直接指定為 \(D\),不累積浮點誤差。

自行指定取樣時間

FixedFPS(fps)
fpsint

正整數的影格率。

依指定的整數影格率,產生等距且包含首末端點的取樣時間。

Timestamps(stamps)

驗證並保存動畫範圍內不遞減的自訂取樣時間。

Frame(index, time, progress, snapshot)

一個取樣後的場景,以及對應的時間、持續時間與影格編號。

GIF 的百分之一秒

GIF 以百分之一秒儲存延遲。影格率為 \(f\) 時,KineticKit 由累積邊界分配整數延遲:

\[ d_i = round((i + 1) 100 / f) - round(i 100 / f). \]

當 \(100 / f\) 不是整數時,相鄰延遲會交替,但總漂移有界;逐影格各自四捨五入做不到這點。

串流輸出與可重現性

GIF 寫入器每次只量化並寫出一個影格,因此記憶體不隨片長增加。SVG 保存解析式動作;HTML 保存場景、時間軸、控制項與無障礙資料。每個匯出器都會回傳輸出清單,說明格式、尺寸、長度、影格數與替代內容。

端點一致性

命題 · 端點一致性

所有含端點的排程器,其首末場景都分別等於 Animation.sample(0) 與 Animation.sample(D)。

留言