仿射變換圖樣

代數線性代數

參數方程

仿射變換在線性部分之外允許平移,讓圖形可移動並自我複製:

[xy]=[abcd][xy]+[txty]\begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix} t_x \\ t_y \end{bmatrix} x=(scosθ)x(ssinθ)y+tx,y=(ssinθ)x+(scosθ)y+tyx' = (s \cos\theta)\,x - (s \sin\theta)\,y + t_x,\quad y' = (s \sin\theta)\,x + (s \cos\theta)\,y + t_y

θ 為旋轉角度;s 隨時間微幅呼吸(約 0.72 ± 0.03);tx,tyt_x, t_y 為平移向量,其模長與 reveal 進度綁定,使圖樣由中央母圖形向四方逐步分裂生長。對基礎正方形施加同一仿射映射,並在四個方向各疊一層縮放平移(倍率 0.5)的第二層,形成對稱繁衍圖案。

實作要點

  • 迭代座標運算:直接對每層頂點套用仿射公式,不做圖形嵌套
  • 生長擴散:平移距離 × reveal,子圖形由內向外逐步出現
  • 切換重置:調整 θ 或平移距離 e 時重置 reveal
  • 平滑過渡:θ、e 以 lerp(0.08)連續變形;時間軸驅動旋轉呼吸與縮放呼吸

相關連結

延伸閱讀

← 返回作品集