MGJLMoTea Math EXPERIMENT / FOURIER 所有實驗

圓來如此 / FOURIER DRAWING LAB

讓一串圓,
畫出你的想像。

先選一個形狀,再把小小的運動首尾相接。
慢慢加上更多元件,看筆尖找回每一個細節。

不只看動畫這些圓,是怎麼算出來的? ↓
THE DRAWING MACHINE

用圓畫一顆星

傅立葉分解
目標畫出的線筆尖
先把元件數拉到 1,再慢慢增加。
使用元件—
取樣相對誤差 ⓘ—
最大圓的半徑—
每一根棒,對應一個元件長短代表大小

正在準備第一條曲線…

TAKE THE MACHINE APART

圓的大小,不是猜出來的。

把複雜的運動,換成一份簡單運動的配方。

01 / 描述

形狀,是一支筆的旅程。

想像筆尖沿著輪廓走一圈。每一刻的位置都有 x 與 y,合起來就是 z(t) = x(t) + i y(t)。這裡把旅程取成 512 個點。

02 / 分解

跟著某個速度,反向轉。

將每個位置反向旋轉,再算平均。若目標裡有這個旋轉成分,平均點就偏離中心;偏離多少、朝哪個方向,就是圓的半徑與起始角度。

03 / 重建

把每段運動,首尾接起來。

每個圓只做自己的等速旋轉。把向量一個接一個加起來,最後的筆尖就畫回原本的輪廓。正、負頻率代表相反轉向。

TRY IT / 找出一個圓

讓藏在輪廓裡的旋轉現形。

右圖是目標乘上反向旋轉後的軌跡。綠點是平均位置,從中心指向它的箭頭,就是這個頻率的係數。

此示範固定使用圓形基底,方便與其他合成元件比較。

—
展開公式、元件配方與模型限制

圓形模式:離散傅立葉分解

cₖ = (1/N) Σ zⱼ exp(−i 2πkj/N)
ẑ(t) = Σ cₖ exp(i 2πkt)

固定平移 c₀ 不計入運動元件數。圓形模式依半徑選取最大的 K 個成分;取樣相對誤差為 √(Σ|ẑⱼ−zⱼ|² / Σ|zⱼ|²)。有限元件與取樣都會限制細節,不能把近似說成精確還原。

換一種運動,也要換一份配方

其他模式解的是 min Σ|zⱼ − c₀ − Σ cₖ b(ktⱼ)|²。頻率依 1, −1, 2, −2… 加入,係數共同重新求解。這些元件通常不正交,係數棒也不等於傅立葉頻譜;不保證所有自訂路徑都能完整表示所有目標。

方波元件在四個角落之間跳變,畫面在跳變處抬筆;沿正方形走則是連續運動。三角波的兩軸往返形成菱形軌跡。開放描線與一週期波形在週期末跳回起點,畫面不畫那條接線;有限圓形合成在突變附近可能振盪。

照片先轉成明暗區域,再選一條邊界;孔洞與分離物件分開列出。這是輪廓繪圖,不是照片像素的二維傅立葉變換,也不是自動語意辨識。

目前最大的 16 個運動元件(依係數大小排序)
頻率大小旋轉角

YOUR LINE, YOUR MOTION

畫一條屬於你的線

在畫布按住拖曳。每次新的一筆會取代前一筆。

用座標加入頂點(鍵盤操作)

至少畫出兩個不同的點。