立體幾何探險:揭開多面體變形的數學秘密

3D 多面體變形動畫與數學分析

程式說明與數學分析

本頁面展示了一個 3D 多面體變形動畫,其設計理念在於利用 SCSS 與 Sass 的數學函數, 將正多面體與半正多面體之間的變形過程以動畫方式呈現。動畫從正十二面體(P4)的 12 個正五邊形面出發, 經過一系列伸展、旋轉、縮放的變換後,產生正二十面體(P5)與其他半正多面體(A5、A8)的形態。

  • 基礎數學函數:
    利用 get-ba(n) 計算中心角(360°/n)與 get-va(n) 計算內角, 再透過正弦與正切函數分別求得外接圓半徑 (get-rc) 與內接圓半徑 (get-ri)。
  • 高階計算:
    函數 get-htget-dgget-ct 分別用於計算多邊形的高度、對角線長度及直角三角形邊長, 並依據這些計算結果來推導各面形狀的精確尺寸與位置。
  • 多面體幾何:
    根據正十二面體(P4)與正二十面體(P5)的面數與邊數關係,計算出各多面體的中、外接半徑, 並透過這些數值進行變形比例設定(例如縮放係數 $fp5$fa5$fa8)。
  • 動畫與變形邏輯:
    使用 CSS3 的 @keyframes,根據不同時間點依序改變各面縮放、旋轉與平移數值, 實現從 P4 變形到 A5,再到 A8 的平滑動畫過程。

此外,程式中透過計算多邊形頂點座標並利用 CSS clip-path 創建各面圖形,確保了變形過程中的幾何一致性, 同時展示了複雜多面體轉換的內在數學美感。