• 沒有找到結果。

基於L-system之動態模擬東方風格立體雲紋生成技術 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "基於L-system之動態模擬東方風格立體雲紋生成技術 - 政大學術集成"

Copied!
90
0
0

加載中.... (立即查看全文)

全文

(1)國立政治大學資訊科學研究所 Department of Computer Science National Chengchi University 碩士論文 Master's Thesis. 立. 政 治 大. ‧ 國. 學. 基於 L-System 之動態模擬東方風格立體雲紋生成技術. ‧. L-system base Dynamic Simulation for 3D Oriental Cloud Pattern. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 研 究 生:郭明諺 指導教授:紀明德. 中華民國一百零一年八月 August 2012.

(2) 基於 L-system 之動態模擬東方風格立體雲紋生成技術 L-system base Dynamic Simulation for 3D Oriental Cloud Pattern 研究生:郭明諺. Student:Ming-Yen Kuo. 指導教授:紀明德. 立. Advisor:Ming-Te Chi. 政 治 國立政治大學 資訊科學系. 大. ‧. ‧ 國. 學. 碩士論文. y. sit. Nat. A Thesis. er. io. Submitted to Department of Computer Science. n. National Chengchi University a v. i. l. Ch in partial fulfillment Un e of thei Requirements ngch. for the degree of Master in Computer Science. 中華民國一百零一年八月 August 2012.

(3) 致謝. 進入政大將近兩年的時間,日子轉眼即逝,在這期間我非常由衷的感謝我的 指導老師紀明德老師,從碩一剛入學時對於許多課業與研究方面皆遇到許多困難, 而老師一直很耐心地指引我方向,隨著時間慢慢地過去,也逐漸進入狀況。這期 間我非常謝謝我的父母、弟弟等全家人,每每週末回家都放鬆的休息,沒有太多 時間陪伴你們,謝謝你們的關心與體諒。研究生的生活平常雖然乏味,日子卻相. 治 政 當充實,有實驗室的學長、學弟妹以及夥伴們的陪伴之下,生活當中也有許多不 大 立 同的一面,謝謝阿三啟發了我另一個運動人生、謝謝小炫炫對我的關心與照顧、 ‧ 國. 學. 謝謝章魚哥幫我 debug,有問必答、謝謝壯壯阿轟管理整個實驗室、謝謝小正給. ‧. 我的新年快樂電話、謝謝嗣心、以及 bb 與夫夫兩位和藹可親的學弟,真的為整. sit. y. Nat. 間實驗室帶來許多歡樂、謝謝細心的欣瑤、還有承峰及漢光,謝謝你們總是為實. io. er. 驗室製造許多話題與歡樂氣氛、還有從大學時就陪伴著我的雅玲,總是給予我許 多幫助、還有岱珊學姊,一起運動健身很充實、還有我身邊的好朋友們,思瑩、. al. n. iv n C 香香、小柯、阿寧、黑妹,我愛妳們,友誼長存;感謝凱彬,謝謝你的貼心並且 hengchi U 給予我信心與鼓勵,有你的陪伴真好。在此將我所完成的這篇論文這份喜悅分享 給大家,也同時獻給在天上的奶奶,謝謝。.

(4) 基於 L-System 之動態模擬東方風格立體雲紋生成技術. 摘要. 本篇論文對於傳統的東方風格雲紋進行分析,歸納其中的生成規則與. 政 治 大. 排列特性,並將雲紋圖樣作簡單的分類,發現雲紋圖樣具有自我相似. 立. ‧ 國. 學. 與遞迴組成的特性,此點特性非常符合原本用於模擬植物生長的 L-system,所以我們就針對所蒐集的眾多雲紋圖樣參考資料所分析出. ‧. 的資訊定義了一個適用於立體東方風格雲紋的生成生長規則,以. sit. y. Nat. L-system 之技術為基礎進行撰寫規則語法,利用所定義結構化之規則. er. io. n. al 循序地在三維空間中動態模擬雲紋的生長與變化。更進一步地,加入 iv Ch. n engchi U. 具時間序列的參數調整,可以使得雲紋隨著時間軸的變化產生東方風 格立體動態雲紋。. i.

(5) L-system base Dynamic Simulation for 3D Oriental Cloud Pattern. Abstract. 政 治 大. Cloud Pattern is an important and common element in oriental decoration. 立. art, it is a challenge to extend the 2D abstract line into 3D objects. In this. ‧ 國. 學. thesis, we try to induce the pattern generation rule and the feature of oriental cloud by analyzing the ancient oriental cloud pattern. We make. ‧. classification from the oriental 2D cloud pattern, and discover the pattern. y. Nat. io. sit. is combined with symmetric, self-similar and repetitive features. These. er. characteristic are the core of L-System, which is a suitable framework for. n. a. v. l C so we generate an inew rule with specific plant growth and simulation,. hengchi U. parameter from the feature of 2D cloud pattern to generate oriental cloud pattern in 3-dimention space, simulating the growth of cloud and variety in structure. Further, we add the time temporal parameter to control the 3D oriental cloud pattern generation process dynamically.. ii.

(6) 目錄 摘要............................................................................................................................... i Abstract ........................................................................................................................ii 目錄............................................................................................................................ iii 圖目錄.......................................................................................................................... v 表目錄...................................................................................................................... viii 第一章 緒論.............................................................................................................. 1. 政 治 大 1.2 問題描述......................................................................................................... 2 立. 1.1 研究動機與目的............................................................................................. 1. ‧ 國. 學. 1.3 論文貢獻......................................................................................................... 2 1.4 論文章節架構................................................................................................. 3. ‧. 第二章 相關研究...................................................................................................... 4. sit. y. Nat. 2.1 東方風格雲紋................................................................................................. 4. n. al. er. io. 2.2 L-System 相關研究 ......................................................................................... 5. i Un. v. 2.3 NPR .................................................................................................................. 8. Ch. engchi. 第三章 東方風格雲紋分析...................................................................................... 9 3.1 雲的分析......................................................................................................... 9 3.2 東方風格雲紋分析....................................................................................... 12 3.2.1 雲紋圖樣結構分類............................................................................ 14 3.2.2 雲尾結構............................................................................................ 16 3.3 立體雲紋結構分析....................................................................................... 18 第四章 研究方法與步驟........................................................................................ 21 4.1 研究步驟....................................................................................................... 21 4.2 Parametric L-System ...................................................................................... 24 iii.

(7) 4.2.1 雲頭 L-system 語法 .......................................................................... 27 4.2.2 雲尾 L-system 語法 .......................................................................... 40 4.2.3 雲紋結構............................................................................................ 44 4.2.4 立體雲紋 L-system 語法架構 ........................................................... 47 4.3 Dynamic System ............................................................................................ 54 4.4 風格化........................................................................................................... 55 第五章 實驗結果與討論........................................................................................ 57 5.1 實作與實驗環境........................................................................................... 57 5.2 東方風格雲紋結果與分析........................................................................... 57. 治 政 5.3 動態雲紋....................................................................................................... 66 大 立 5.4 效能評估....................................................................................................... 69 ‧ 國. 學. 5.5 系統限制....................................................................................................... 70. ‧. 第六章 結論與未來工作........................................................................................ 71. sit. y. Nat. 6.1 結論............................................................................................................... 71. io. er. 6.2 未來工作....................................................................................................... 72 參考文獻.................................................................................................................... 73. al. n. iv n C 附錄 A :基於 L-system 之東方風格立體雲紋語法規則 h e n g c h i U ..................................... 75. iv.

(8) 圖目錄 圖 2.1 東方風格雲紋的代表種類。[1] ...................................................................... 4 圖 2.2 東方風格雲紋-朵雲紋相關研究。[2]............................................................. 5 圖 2.3 東方風格雲紋-如意雲紋相關研究。[3]......................................................... 5 圖 2.4. L-system 依語法定義生長示意圖 ................................................................ 6. 圖 2.5 藉由筆觸為輸入資訊搭配 L-system 語法模擬植物 ...................................... 7 圖 2.6 植物生長在時間序列下之動態模擬結果呈現 [16] ...................................... 7. 政 治 大 圖 2.8 以不同平面圖樣所繪製模擬出之各式煙霧結果。[10] ................................ 8 立 圖 2.7 以不同基本幾何元素模擬之立體雲朵合體。[9] .......................................... 8. ‧ 國. ........................................................... 9. 學. 圖 3.1 真實雲紋與東方風格雲紋圖樣比較. 圖 3.2 各樣式的東方風格雲紋................................................................................. 10. ‧. 圖 3.3 夢工廠電腦動畫「功夫熊貓 2」開場片段截圖.......................................... 11. sit. y. Nat. 圖 3.4 傳統平面雲紋圖樣與三維空間中的立體雲紋及風格化後之結果............. 11. n. al. er. io. 圖 3.5 雲紋結構分析圖............................................................................................. 13. i Un. v. 圖 3.6 以平面雲紋圖樣為基礎模擬其立體雲紋之示意圖..................................... 13. Ch. engchi. 圖 3.7 雲紋圖樣分類................................................................................................. 14 圖 3.8 雲尾末端。[2] ................................................................................................ 16 圖 3.9 雲尾與雲朵之結構分類。............................................................................. 17 圖 3.10 立體雲紋於雕刻品上的應用....................................................................... 18 圖 3.11 模擬平面雲紋與立體雲紋的符號對應 ....................................................... 19 圖 4.1 系統流程圖..................................................................................................... 22 圖 4.2. L-system 立體雲紋生成規則流程圖 .......................................................... 22. 圖 4.3. Turtle interpretation of L-system 之方向軸 ................................................ 24. 圖 4.4 朵雲紋 C1-A 生長規則流程圖 ...................................................................... 28 v.

(9) 圖 4.5 朵雲紋 C1-A 幾何結構生成模擬步驟 .......................................................... 29 圖 4.6 朵雲紋 C1-A 系統生成之逐步結果 .............................................................. 29 圖 4.7 朵雲紋 C1-B 生長規則流程圖 ...................................................................... 31 圖 4.8 朵雲紋 C1-B 幾何結構生成模擬步驟 .......................................................... 31 圖 4.9 朵雲紋 C1-B 系統生成之逐步結果 .............................................................. 31 圖 4.10 朵雲紋 C2 生長規則流程圖 ........................................................................ 33 圖 4.11 朵雲紋 C2 幾何結構生成模擬步驟 ............................................................ 33 圖 4.12 朵雲紋 C2 系統生成之逐步結果 ................................................................ 33 圖 4.13 朵雲紋 C3 生長規則流程圖 ........................................................................ 35. 治 政 圖 4.14 朵雲紋 C3 幾何結構生成模擬步驟 ............................................................ 35 大 立 圖 4.15 朵雲紋 C3 系統生成之逐步結果 ................................................................ 36 ‧ 國. 學. 圖 4.16 朵雲紋 C4 生長規則流程圖 ........................................................................ 37. ‧. 圖 4.17 朵雲紋 C4 幾何結構生成模擬步驟 ............................................................ 38. sit. y. Nat. 圖 4.18 朵雲紋 C4 系統生成之逐步結果 ................................................................ 38. io. er. 圖 4.19 尾部-分離雲尾生成流程圖 ......................................................................... 40 圖 4.20 尾部-分離雲尾生成流程圖 ......................................................................... 41. al. n. iv n C 尾部-密合雲尾生成流程圖 42 h e......................................................................... ngchi U. 圖 4.21. 圖 4.22 尾部-密合雲尾生成流程圖 ......................................................................... 42 圖 4.23 將傳統雲紋圖樣之分類套用至 L-system 語法結構示意圖...................... 47 圖 4.24 結構生成雲紋圖樣 Example 1 之結果圖 ................................................... 50 圖 4.25 結構生成雲紋圖樣 Example 2 之結果圖 ................................................... 51 圖 4.26 結構生成雲紋圖樣 Example 3 之結果圖 ................................................... 51 圖 4.27 結構生成雲紋圖樣 Example 4 之結果圖 ................................................... 52 圖 4.28 結構生成雲紋圖樣 Example 5 之結果圖 ................................................... 53 圖 4.29. Prusinkiewicz[7]之 L-system 5 規則 ......................................................... 54 vi.

(10) 圖 4.30 以不同色調 shading 之立體雲紋結果 ........................................................ 55 圖 4.31 經過影像處理過後之結果比較................................................................... 56 圖 5.1 朵雲紋 C1-A 搭配不同雲尾結果呈現 .......................................................... 61 圖 5.2 朵雲紋 C4 搭配尾部-分離之雲尾與風格化之結果..................................... 61 圖 5.3 朵雲紋 C1-A 與 C3 利用尾部-密合雲尾組合與風格化之結果 .................. 62 圖 5.4 以疊代式的 L-system 語法組合出不同類型的立體雲紋結果 .................... 64 圖 5.5 以平面結構 SYM2 逐步生成的動態截圖結果 ............................................ 66 圖 5.6 SYM1-C4 與 SYM4-C1-A 平面結構之組合式雲紋系統動態截圖結果 .. 67 SYM8-C1-A 與 SYM4-C4 立體結構之組合式雲紋動態截圖結果 .......... 68. 立. 政 治 大. 學 ‧. ‧ 國 io. sit. y. Nat. n. al. er. 圖 5.7. Ch. engchi. vii. i Un. v.

(11) 表目錄 表 1 雲紋圖樣整理表。[2] ....................................................................................... 12 表 2 朵雲紋、雲尾的平面轉換立體之模擬............................................................ 20 表 3. L-system 符號與生長動作對應 ..................................................................... 25. 表 4 朵雲紋平面雲紋圖樣編號................................................................................ 27 表 5 立體雲紋結構表................................................................................................ 45 表 6 朵雲紋結果分析與比較.................................................................................... 58. 政 治 大 表 8 以不同風格的 Cylinder 樣貌搭配不同旋轉角度模擬之立體雲紋結果 ....... 60 立 表 7 以不同遞迴次數與旋轉角度之組合生成之雲紋末端綣曲組合變化............ 59. ‧ 國. 學. 表 9 以多次遞迴與角度的變化模擬出各式不同的捲曲立體雲紋........................ 60 表 10 多種不同結構之立體雲紋結果...................................................................... 62. ‧. 表 11 平面雲紋圖樣與系統生成之立體雲紋整理表 .............................................. 65. n. al. er. io. sit. y. Nat. 表 12 實際測試系統做動態呈現時之效能比較分析.............................................. 69. Ch. engchi. viii. i Un. v.

(12) 第一章 緒論. 1.1 研究動機與目的. 立. 政 治 大. ‧ 國. 學. 近日來,動畫的繪圖技巧越來越趨近成熟,動畫主題的取材也越來越多元化, 以動畫的故事內容背景大致可分為歐美等西方的主題或是帶有東方色彩的改編. ‧. 故事,無論是何種故事背景,動畫之中除了主角之外,其中有許多的背景裝飾更. y. Nat. io. sit. 是襯托著以利場面更為豐富與多元,以東方文化為故事主軸背景為例,裝飾紋路. n. al. er. 在整體動畫的使用也極為普遍,最常以陪襯角度出現的「雲紋」就是一個最顯著. Ch. i Un. v. 的實例,不管是白天還是黑夜,都可加上雲紋的搭配,增加畫面的流動感,所以. engchi. 如果可以把傳統雲紋動態化地變化與生長或許是另一種特殊的表現方式。 在傳統中國東方風格之古蹟文物、器皿、水墨畫等許多作品都可以發現具有 相當大量的雲紋裝飾藝術,從各個歷史朝代的更迭演變,也可以發現雲紋也有著 其相對應的演變過程,在這些傳統的平面雲紋為基礎,想像一下如果可以將這些 平面紋路轉換為立體的呈現,或許會有更不一樣的效果,本篇論文將針對各樣式 的東方風格雲紋,找出其規則性,將之轉換為以 L-system 為基礎的語法作結構 化地生成,並搭配動態地變化模擬,則可將原先只是在背景單純飄動的雲紋圖樣 轉換為更具真實感團聚與消散的立體雲紋。 1.

(13) 1.2 問題描述 本篇論文參考了許多的平面雲紋圖樣,發現看似沒有規則的雲紋也具有重複 性高且自我相似的特性,此點特性恰好與現今用於模擬根莖花葉植物的技術 L-system 相似,以此為我們的相關研究背景,要將雲紋的結構轉換為許多的規則 參數表達與生成,利用 L-system 高擴充性的語法將平面雲紋轉換為三維空間當 中立體化動態雲紋的生成,在原先 L-system 之應用往往皆應用在植物的生長, 所以該如何設置參數使得 L-system 在此做為雲紋的生長規則,以及在系統當中 如何將雲紋自然地隨時間生長與變化並搭配時間軸 step 的參數進入系統控制其. 治 政 動態的節奏性,使得立體雲紋會逐步慢慢地生長變化或是經由外力,例如風的吹 大 立 動,而使雲紋產生相對應動態的結果。 ‧. ‧ 國. 學. Nat. er. io. sit. y. 1.3 論文貢獻. 在本研究論文當中,我們蒐集了許多具有東方風格的 2D 雲紋圖樣,且在二. al. n. iv n C 維平面的圖樣上進行分析,將其所對應的 立體雲紋藉由先前 L-system 的技術 h e n g3D chi U 為基礎,我們提出一個的新的演算法及應用,本研究的方向主要可以分為以下兩 大部分,各部分的內容簡單敘述如下: . 將大量東方風格雲紋作分析並分類,找出其排列與組合之方法。. . 將雲紋以階層及結構化的方式轉換成為 L-system 疊代的架構。. . 實作出 L-system 之語法規則將雲紋之生長規則系統化,使用者只要選擇不 同參數則可以順利產生立體的東方風格動態雲紋。. 2.

(14) 1.4 論文章節架構 在第二章中,我們將會介紹與本研究相關的研究背景知識。在第三章為東方 風格雲紋的分析與歸類。在第四章當中則是主要的研究方法與步驟。在第五章則 是實驗結果的呈現與分析比較討論。第六章是結論與未來研究。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 3. i Un. v.

(15) 第二章 相關研究. 2.1 東方風格雲紋. 立. 政 治 大. ‧ 國. 學. 徐丽慧與郑军等人[1]整理出許多在中國各個朝代當中雲紋藝術的發展與歷 史,觀察這些紋飾的變化也可漸漸地了解在當時代背景的社會風氣習俗,在這些. ‧. 資料當中所觀察到的皆為 2D 平面之裝飾紋路,而現今是否有方法可以產生具有. sit. y. Nat. 東方風格雲紋之「立體」、「動態」裝飾雲紋?如圖 2.1。另一方面,詹毓君[2]. n. al. er. io. 提出了使用 sketched base 的方法讓使用者可以針對雲頭及雲尾的簡單手寫描繪. i Un. v. 當作輸入,再利用這 stroke 作生成,產生相對應的東方風格雲紋圖樣,如圖 2.2。. Ch. engchi. 陳奕愷[3]則是提出以 L-system 為其雲紋生成技術之基礎,利用不同參數的組合 生成許多如意雲紋的圖樣,如圖 2.3。. (a). (b). (c). 圖 2.1 東方風格雲紋的代表種類(a)如意雲紋 (b)風雲 (c)工字雲。[1]. 4.

(16) 圖 2.2 東方風格雲紋-朵雲紋相關研究。[2]. 圖 2.3 東方風格雲紋-如意雲紋相關研究。[3]. 立. 政 治 大. ‧ 國. 學. 2.2 L-System 相關研究. ‧. sit. y. Nat. L-system 為一個具有自我遞迴的生長規則, 在一開始會給定其一初始值稱. io. er. 之 Axiom,而再根據所定義之生長規則去作相對應的生長。L-system 在最早時期 被提出主要是用於模擬簡單的單細胞生物,隨著時間的發展,在約略 90 年代時. al. n. iv n C 由 Prusinkiewicz 提出將 L-systemh應用於植物生長及模擬[5][6],隨後 L-system 就 engchi U 常常與植物生長畫上等號。另外 Stelios [16]有詳細地介紹到對於 L-system 之分 類,總共可以 做以下幾種分類:Context-free(OL) or Context-sensitive(IL) 、 Deterministic(DL) or Non-deterministic(stochastic) 、 Bracketed L-systems 、 Propagative L-systems(PL) or Non-Propagative L-systems、Table L-systems(TL)、 Parametric L-systems、L-systems with extension (EL)。在此簡單的以最基本型之 L-system,稱作 context-free L-system 介紹一下其規則與定義,如圖 2.4 所示,其 生長規則為左邊從 bud → flower 、 flower → young fruit 、 young fruit → old fruit 等四種,而右邊則為其植物的生長變化, 類似像這樣的迭代規則如果 5.

(17) 把圖 2.4 利用字母取代符號來表示,則會產生出顯得更具系統化的規則方法,而 對於我們所要使用於生長東方風格雲紋之規則在這裡所要採用的類型為 Parametric L-system,其原因在於要生成出立體的東方風格雲紋往往在規則的迭 代過程當中其使用的參數數值必須亦隨之改變,也必須根據規則當中條件的判定 以決定下一步的流程,前面的幾類 L-system 規則往往無法做到這點,所以在 L-system 方法的類型上我們會採取 Parametric L-system。. 立. 政 治 大. ‧ 國. 學. 圖 2.4 L-system 依語法定義生長示意圖. ‧ y. Nat. n. al. er. io. 式如下:. sit. Prusinkiewiczu[7]也將 Parametric L-system 視為一種 programming language,其格. Predecessor. Ch. engchi. : condition. i Un. v.  successor. 由初始的 predecessor 開始,根據參數與 condition 的定義,產生相對應 successor 之生成結果,就是利用這參數化的生成原理,將之應用於我們的雲紋生長規則。 另一方面,在[14]中也提出了另一種基於使用者可直接將手畫的 strokes 當作輸入, 系統則會針對所輸入的資訊做分析,將參數傳遞至系統作為 L-system 規則的生 長語法之中,從圖 2.5 可以看得出來,使用者只要輸入 boundary, stem and layer 等概略的筆觸資訊,系統即可將這些筆觸的資訊分析出來作為 L-system 之生長 6.

(18) 語法中的參數,並搭配植物相對應的模型檔,最後將其資訊合併後,結果如圖 2. 5 最右方的模擬植物圖,從整體的系統流程圖來看,可以想像成是 L-system 與 sketch based 的結合,我們必須將平面雲紋中的參數取出,應用至本篇論文當中 的雲紋 L-system 生長規則之中。. 立. 政 治 大. ‧. ‧ 國. 學. 圖 2.5 藉由筆觸為輸入資訊搭配 L-system 語法模擬植物. 另一方面,植物與樹木的模擬其實是一個具有緩慢變化的動態式生長,以及. sit. y. Nat. 會因外力的介入而間接地影響到植物的動態擺動,東方風格雲紋的模擬也可以以. n. al. er. io. 此為參考,在[16]中除了利用 Parametric L-system 的語法模擬植物生長,也針對. i Un. v. 植物動態的生長做了很清楚的呈現,根據系統模擬的時間序列將結果逐步地將動. Ch. engchi. 態的感覺呈現出來,如圖 2.6,在實作雲紋動態模擬的部分也會參考到此篇論 文。. 圖 2.6 植物生長在時間序列下之動態模擬結果呈現 [16] 7.

(19) 2.3 NPR 在電腦圖學當中,對於非相片寫實類物體之繪圖技術稱為 Non-Photorealistic Rendering(NPR) ,其中對於 3D 物體 Rendering 的研究更是不勝枚舉,例如 Hertzmann[7]提出在空間中求出物體的 Depth Map 與 Normal Map,利用這些資訊 則可簡單繪製出 NPR 效果之 Silhouettes 和 Outlines。另外,McGuire 將 billboards 之概念用於 Particle 的 Rendering,成功的將具有卡通風格的雲繪製出來[8],本 篇也將會參考其研究技術,找出更具有風格化的東方風格雲紋繪製。除了上述的 研究之外,Selle 則是加上不同雲紋圖樣模板樣式的繪製[9],使得在卡通風格之. 治 政 雲或煙霧模擬變得更為多元化,利用此一概念,在繪製立體雲紋時可以利用不同 大 立 的 shading 風格,增加更為多變的風格。 ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 2.7 以不同基本幾何元素模擬之立體雲朵合體。[9]. 圖 2.8 以不同平面圖樣所繪製模擬出之各式煙霧結果。[10] 8.

(20) 第三章 東方風格雲紋分析. 3.1 雲的分析. 立. 政 治 大. ‧ 國. 學. 在真實世界中的雲紋與傳統的東方風格雲紋,兩者實際上所呈現出的感覺截 然不同,如圖 3.1(a)所示,我們日常生活當中所看到的自然界雲紋,古代的人們. ‧. 就是觀察這些自然界的紋路將之加入當時的文化背景與藝術風格勾勒出這些紋. sit. y. Nat. 路,常常在許多古文物、書畫、古蹟文物等等上面出現,而圖 3.1(b)是傳統的東. n. al. er. io. 方風格雲紋圖樣,較傾向於將雲的形體利用線條勾勒出雲的流動感,在《中國歷. i Un. v. 代雲紋紋飾藝術》中提及到雲紋在中國歷史的演變上可以充分的表現出當時代的. Ch. engchi. 風俗民情與審美觀的演進,許多的雲紋裝飾藝術也可以從這些紋路當中得到啟 發。. 圖 3.1 真實雲紋與東方風格雲紋圖樣比較 (a)自然界雲朵 (b)傳統東方風格雲紋 (c)以(b)之局部放大 9.

(21) 圖 3.2 各樣式的東方風格雲紋. 政 治 大 觀察如圖 3.2 這些傳統雲紋圖樣,如果仔細觀察可以發現在這些不同圖樣當 立. ‧ 國. 學. 中也存在著一些相同結構所組成,如圖 3.1(b)所示,從其結構面來看,雲紋圖樣 皆可分為「雲朵頂端」、「雲朵末端」、「雲尾」這些部分的結構組合[2][3],藉由. ‧. 雲頭的團聚及雲尾的走向而感覺出雲的型體以及雲的飄逸方向,在這樣的出發點. sit. y. Nat. 下,從許多電影動畫中可以到許多具有雲紋背景裝飾的片段,例如在迪士尼電腦. n. al. er. io. 動畫「花木蘭」片頭的山水畫風動態雲紋以及夢工廠電腦動畫「功夫熊貓 2」開. i Un. v. 場片頭的簡介片段也帶有相當多的剪紙風動態雲紋作為裝飾,如圖 3.3,這些動. Ch. engchi. 態的裝飾雲紋在影片當中雖然未帶有劇情的成分,但往往在鋪陳許多的關鍵劇情 帶有若隱若現的驚喜感,想像一下,如果這些動態雲紋可以在三維空間以立體方 式隨著時間變化作生長與消散,所呈現出來的結果想必更為豐富與多元。簡單的 從原本的平面雲紋與立體雲紋的對應下,如圖 3.4,我們可以簡單做個比較,平 面雲紋的呈現較為單純,利用線條的方式表現出雲頭及雲尾,立體雲紋的表現方 式可藉由深度值的變化呈現出立體感,以及經過風格化後之處理其結果顯得更為 多元。另一方面,人的注意力往往對於會動的東西較為關注,立體雲紋如果可以 搭配系統「動態」且經由時間的變化而改變立體雲紋的呈現,會動態成長的東方 風格雲紋圖樣又是另一種特別的裝飾藝術。 10.

(22) 圖 3.3 夢工廠電腦動畫「功夫熊貓 2」開場片段截圖. 立. 政 治 大. 圖 3.4 傳統平面雲紋圖樣與三維空間中的立體雲紋及風格化後之結果. ‧ 國. 學 ‧. 思考到東方風格雲紋圖樣的設計方法,許多使用者或是藝術家們往往只能依. sit. y. Nat. 照所搜尋到的參考資料,以純手工的方式進行描繪或是設計其結構再使用繪圖軟. io. er. 體繪製出二維平面的裝飾雲紋結果,如今我們想要創造出一套具有規則性的生長 結構,讓使用者在想要使用東方風格雲紋的圖樣時,可以藉由本研究所提出的方. al. n. iv n C 法很簡單地生成出想要的雲紋圖樣,而在介紹本研究方法之前,我們必須針對所 hengchi U 謂的「東方風格雲紋」做個初步的分析。. 11.

(23) 3.2 東方風格雲紋分析 詹毓君[2]將雲紋依照中國古歷史朝代的演變根據時間的變化上,很清楚地 呈現出雲紋在歷史上的演變,而其所研究的重點在對於「朵雲紋」的結構分析下, 可以將其想像成數個圓形所堆疊而成,另外陳奕愷[3]清楚地描述到針對如意雲 紋的 L-system 生長規則,如果我們仔細觀察這些參考雲紋圖樣,常常具有外部 結構不盡相同但內部結構卻具有自我相似的特性,而此特性就相當適合搭配 L-system 的語法進行生長。. 治 政 表 1 雲紋圖樣整理表(擷取自[2]) 大 立 ‧. 團雲紋. sit. n. al. er. io. 明清時期. 朵雲紋. y. Nat. 宋元時期. 雲紋總類. 學. 隋唐時期. 圖例. ‧ 國. 分類時期. Ch. engchi. i Un. v. 如意雲紋 朵雲紋. 我們可以根據上一小節圖 3.1(b),可以發現東方風格雲紋在每張不相同的雲 紋圖樣中都可簡單分成「雲朵」與「雲尾」這樣的結構,而在較為複雜一點的雲 紋圖樣當中,如圖 3.5 又可以進而分為「如意雲紋」 、 「朵雲紋」 、 「團雲紋」 、 「雲 尾」四大部分,為各個不同雲紋圖樣所組合而成之多重雲紋圖樣,而其中較為特 別的則是「團雲紋」的結構較類似於如意雲紋與朵雲紋的綜合體,簡單來說,雲 紋本身的重複性其實很高,所以我們可以利用此特性,在之後的主要生長方法中 12.

(24) 將一層一層的結構定義好,一開始像是朵雲紋雲頭的部分即藉由生成基本單元球 體利用重複遞迴疊代的方法推疊而成,可以參考圖 3.6 (a)、(b),接下來則可以 藉由將原本基本的朵雲紋加以擴充,生長出較大朵的朵雲紋,之後多重雲紋圖樣 之結構則可以藉由這些不同的朵雲紋結果加入結構當中組合建構出來,結構的疊 代可以生長出較為複雜的雲紋圖樣,而結構本身也可以再加以組合疊代,藉由這 樣一層一層的建構方式可以逐步地建構出多變化的東方風格雲紋,實作方法就是 利用 L-system 語法串連起來生成出同時具有朵雲紋、如意雲紋、團雲紋及雲尾 的綜合體複雜東方風格雲紋,本論文的研究重點就在於將這些平面裝飾紋路擴展 成為在三維立體空間當中可以生長的動態雲紋。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 3.5 雲紋結構分析圖. (a). (b). 圖 3.6 以平面雲紋圖樣為基礎模擬其立體雲紋之示意圖 (a)如意雲紋(b)朵雲紋 13.

(25) 以上簡介了本研究針對 L-system 語法之遞迴生長規則,而從二維到三維空間 的呈現,將原本平面的雲紋想像成使用圓型所排列組合而成,要將之呈現為立體 的結果,可以試著想像一下將原本的圓將之利用球體取代,立體之東方風格雲紋 則可以很直覺地表現出來。原本之二維平面雲紋圖樣裝飾的應用較為普遍,而如 今藉由我們的方法則可將原本較為死板的裝飾紋路轉換為立體且藉由 L-system 的生長方式產生出多種變化的動態立體東方風格雲紋圖樣。. 立. 3.2.1 雲紋圖樣結構分類. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. 圖 3.7 雲紋圖樣分類. 14. v.

(26) 在本研究當中,我們蒐集了大量的雲紋圖樣為參考:平面雲紋 50 張,從這 些圖樣當中仔細分析出其種類結構,依照結構先做分類,平面雲紋可以分為五種: 單朵雲紋(Single cloud pattern)、單朵複雜雲紋(Single complex cloud pattern)、單 一雲朵重複雲紋(Single repeat cloud pattern)、雲紋桌布圖樣(Cloud wall paper)、組 合式雲紋(Mix Cloud pattern),每一種類的圖樣皆有十張,所整理之結果如圖 3.7 所示,從不同類別的圖樣當中,就單朵雲紋來說,就可以很清楚的看出朵雲紋與 如意雲紋的單一結構,並可以選擇性地搭配雲尾;單朵複雜雲紋則較偏向將數個 朵雲紋與如意雲紋作組合;單一雲朵重複雲紋為以一朵雲紋為基礎,以不同角度 或方向排列而成;雲紋桌布圖樣則是另一種華麗的雲紋圖樣樣式;組合式雲紋圖. 治 政 樣是將單朵與單朵複雜或是單朵重複再進一步地加以組合而成,在下一章研究方 大 立 法當中我們會針對單朵雲紋、單一雲朵重複雲紋、單朵複雜雲紋以及組合式雲紋 ‧ 國. 學. 搭配 L-system 語法做更進一步的分析說明。雖然東方風格之雲紋看似很難找出. ‧. 其規則與結構,但是從本研究中所分析的結構來看的話,可以發現雲紋也是從最. sit. y. Nat. 基本的小單位慢慢的疊加上去,如果我們可以找到其搭配組合之角度與位移量,. io. n. al. er. 則可以有效地將雲紋組合起來。. Ch. engchi. 15. i Un. v.

(27) 3.2.2 雲尾結構 傳統的東方風格雲紋,其中「雲尾」的結構組合常常是使得雲紋可以更為飄 逸與產生流動性的關鍵點,所以在許多的雲紋圖樣當中,我們可以發現雲尾的組 合也可以很多元且具變化性,從雲尾的末端也可以看出其感覺大不相同,如圖 3.8 所示[2],(a)分離的雲尾末端與(b)密合的雲尾末端,由於平面的雲紋圖樣對於 雲尾的表現往往都是利用簡單的波浪線條來呈現,波浪可以表現出雲的飄逸感, 而線條的走向則是表現出飄逸的方向。. 政 治 大. 立. ‧ 國. 學 ‧. (a)分離 (b)密合 圖 3.8 雲尾末端(a)分離 (b)密合。[2]. io. sit. y. Nat. n. al. er. 以上簡單的介紹了雲尾末端的分類,而雲朵本身與雲尾的組合也可以很多元,如. Ch. i Un. v. 圖 3.9,上方的彩色圖為雲紋的原始圖檔,下方為利用紅色方框標示出雲朵;藍. engchi. 色方框標示為雲尾的模擬示意圖,由左至右可以看出圖 3.9(a)其雲朵與雲尾的走 向,雲朵與雲尾呈現出彼此垂直 90 度 T 字型的結構,這樣的結構可以使雲紋表 現出緩慢上升飄逸的感覺,而圖 3.9 (b)的雲朵與雲紋則是呈現相差少許的位移量 呈現出彼此平行的構圖,這樣子的雲紋結構比較相似於雲朵經過外力的影響,例 如風的吹動,而產生出緩慢的飄移感,最右邊圖 3.9 (c),則是雲朵與雲朵之間利 用雲尾串接起來,可以表現出雲朵在飄移之時,雲朵與雲朵之間因為互相產生外 力影響而呈現出的互動變化。. 16.

(28) 立. (a). 政 治 大 (b). (c). ‧ 國. 學. 圖 3.9 雲尾與雲朵之結構分類。 (a)彼此垂直 (b)彼此平行 (c)雲朵與雲朵之間利用雲尾串聯. ‧ sit. y. Nat. 根據我們對於雲紋與雲尾之組合的分類來看,雲尾與雲朵的搭配也可以產生. n. al. er. io. 許多不同風格的東方風格雲紋,並搭配以上雲尾分離或是密合的結構,雲尾可以. i Un. v. 呈現出更為豐富的組合結果,必須加入在 L-system 雲尾的語法生成系統當中,. Ch. engchi. 透過參數的設定及各種角度與位移量的組合,產生出多樣的雲紋組合。. 17.

(29) 3.3 立體雲紋結構分析 立體雲紋圖樣的部分大多都出現在古文物等雕刻物上,雕刻品上的雲紋要呈 現出立體感,最重要的就是在雲紋的捲曲部分加上深度的變化,利用高低的落差 將雲紋的紋路立體感呈現出來,也因為雕刻的技巧比較精細與費工,在現實生活 當中要設計出這樣的裝飾紋路往往也較費時也不易取得,另一方面 L-system 的 特點就是其自我相似及重複性,而如果我們可以利用將這些重複性質很高的紋路 轉換為 L-system 的語法當中,或許生成立體的雲紋會簡單許多。. 學 圖 3.10 立體雲紋於雕刻品上的應用. Nat. sit. y. ‧. ‧ 國. 立. 政 治 大. n. al. er. io. 根據上一小節的雲紋分析,本研究的重點將著重於在「朵雲紋」與「如意雲. i Un. v. 紋」及「雲尾」的部分進行分析,並可隨使用者的喜好可選擇性地搭配雲尾,而. Ch. engchi. 團雲紋的部分則會利用 L-system 的語法來控制,將所生成的朵雲紋與如意雲紋 加以組合,則可以更加多元化地生長出不同風格的立體雲紋,我們先定義如圖的 模擬符號,在平面雲紋下,可以將其雲朵頂端與雲朵尾端想像為一個一個的“圓” 所組合而成,而其所相對應於立體雲紋的配對就定義為“球體”,直覺地,目的 就是將原本利用圓所組合而成的平面雲紋,將其利用球體推疊組合起來,而至於 球體與球體之間的推疊規則,我們將留到 4.2 小節研究方法中做更詳細的介紹, 雲頭的部分是使用圓來模擬,至於雲尾的部分,由於雲尾本身就帶有使雲看起來 具有飄逸的感覺,所以常常會有自然彎曲的平滑曲線,考量到平滑曲線必須要對 應為立體的彎曲弧度,我們將其平面曲線從雲朵與雲尾的交界處開始只要有遇到 18.

(30) 轉折性彎曲的部分就利用一個“四邊形”所表示,直到雲尾的末端處,最後再使 用一個三角形做結尾,而從交界處開始計算會有 n 個四邊形與一個三角形,而與 之所搭配的立體結構則使用“圓柱體”與“圓錐體”作組合,定義好這些平面與 立體之模擬對應後,我們要開始針對 所蒐集到的平面雲紋圖樣作進一步的模 擬。. 圖 3.11 模擬平面雲紋與立體雲紋的符號對應 (a)淡紫色-雲朵頂端 (b)淺藍色-雲朵尾端 (c)雲尾. 政 治 大 有了這個平面轉立體的初步想法之後,就以如意雲紋、朵雲紋及雲尾三個簡單的 立. ‧ 國. 學. 參考圖樣如圖 3.11 所示作模擬,分別使用(a)淡紫色與(b)淺藍色所示,雲朵頂端 的部分也是主要雲朵的整體架構的分佈,其分佈的規則趨近於植物莖部的分支,. ‧. 只是改從由上往下作生長,而如意雲紋雲尾的部分則是承接自最末端下方的球體,. sit. y. Nat. 接續作生長,而雲朵尾端的部分最可以表現出立體雲紋的一大特點,我們必須將. n. al. er. io. 球體在座標系上位移一個深度值,使得其雲朵尾端的部分特別立體以呈現出立體. i Un. v. 雲紋的效果。而朵雲紋的部分概念也類似於如意雲紋,其不同之處在於朵雲紋的. Ch. engchi. 雲朵身體部分是依照一個螺旋狀式的結構作生長,此螺旋的位移量也必需加入深 度值的位移量,會使得朵雲紋看起來更為飽滿,最後再接續生長雲朵尾端使得朵 雲紋看起來更具立體感。最後則是雲尾的模擬,這部分則採取彈性的生長方式, 基本上簡單的雲尾大約在 3~4 個四邊形加上一個三角形可以表現出來,相對應的 就為四個連續的圓柱體與一個圓錐體接連起來較為自然,而較為複雜的雲尾,可 能就必須用到 5 個以上的四邊形與一個三角形作模擬,當然雲紋的呈現可以依使 用者的需求選擇是否要搭配雲尾或是單純的雲紋,通常一般而言,無雲尾的雲紋 所表現出來的感覺較為靜態,搭配雲尾的雲紋則較為動態,不過在最後系統所生 長出來的雲紋都可以呈現出動態生長的過程。 19.

(31) 表 2 朵雲紋、雲尾的平面轉換立體之模擬 平面雲紋圖樣. 平面雲紋與立體雲紋的結構分析. 朵雲紋. 雲尾. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 20. i Un. v.

(32) 第四章 研究方法與步驟. 4.1 研究步驟. 立. 政 治 大. ‧ 國. 學. 在實作立體雲紋 L-system 語法前,先將系統大略的步驟以流程圖來做說明, 從平面雲紋所觀察到的資訊,例如雲紋中圓與圓之間的比例、位移及角度這些資. ‧. 訊我們必須先將之定義清楚,以便於之後語法規則上對於參數的使用,並且再根. sit. y. Nat. 據初始值 Axiom 所定義的規則語法及括弧內的參數作判斷,系統會依據參數的. n. al. er. io. 判斷跑相對應的生長規則,使用者只須在 Axiom 的地方下指定的參數即可。根. i Un. v. 據圖 4.1 系統流程圖,系統最為核心的部分即為 L-system 語法根據不同條件的. Ch. engchi. 判斷遞迴呼叫的過程,這個步驟包含了雲朵的生長、雲尾的延伸、以及不同雲朵 之間的結構呈現,而由 Axiom 中之參數統一指定立體雲紋的生成規則總類,系 統在逐步生成雲紋之時,整體結果之呈現即為一個動態的立體雲紋生長過程,細 節部分的語法流程說明則如圖 4.2。. 21.

(33) 學. ‧ 國. 立. 政 治 大 圖 4.1 系統流程圖. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.2 L-system 立體雲紋生成規則流程圖 22.

(34) 請參考圖 4.2,圖中有箭頭再次地指向規則本身則代表此規則會進行自我呼 叫的迭代,對於 L-system 語法的流程我們可以大略的將規則以巢狀的圖示表達 出層層遞迴的概念,其中雲朵的生長即可分為五種主要規則:C1-A( )、C1-B( )、 C2( )、C3( ) 、C4( ),皆會自我呼叫遞迴生成不同的雲朵結果,雲尾的規則分為 tail( )、multi-tail( ),分別負責產生雲尾一段一段的彎曲變化以及多條雲尾的生成, 雲朵及雲尾之組成則藉由 SYM( )這項規則來定義,根據結構的不同產生相對應 的雲朵及雲尾組合,至於 Cloud1( )則是負責在指定相同結構下進行結構式雲紋 的重複生成,Cloud2( )則是在不同結構與結構之間的重複生成,如此一來,東方 風格雲紋可以利用此 L-system 規則轉化成為較有系統的生成方式,產生出許多 不同樣式的立體雲紋結果。. 立. 政 治 大. 在此章接下來的小節當中會依序介紹針對雲朵的生成方法、根據不同動態模. ‧ 國. 學. 擬所生成的雲尾結果、最後則是將雲朵與雲尾組合起來以及搭配結構化的語法將. ‧. 雲朵與雲朵之間產生更多不同的組合方式。. n. er. io. sit. y. Nat. al. Ch. engchi. 23. i Un. v.

(35) 4.2 Parametric L-System 從相關研究 Parametric L-system 來看,Prusinkiewicz 不僅僅只是提出一個具 有語言式可結構化地描述出植物逐步生長的過程,另外在不久後又提出一個概念 稱為”turtle interpretation of L-system”[5][6],想像為一個 turtle 在三維空間當中 的行徑過程,可以將原先文字串列並搭配指定的參數轉換為相對應的幾何模型並 呈現在三維空間當中,如圖 4.3。. 立. 政 治 大. ‧. ‧ 國. 學. n. al. er. io. sit. y. Nat. 圖 4.3 Turtle interpretation of L-system 之方向軸. i Un. v. 從上一小節所述,我們的立體動態雲紋之生成方式必須利用 L-system 之生長規. Ch. engchi. 則成長,想像雲紋的生長是一個 turtle 根據我們所下的規則在行徑,而在行徑的 過程逐步畫出相對應的物件,構成在三維空間分佈的一連串物件,而所呈現出來 的結果就是立體的雲紋圖樣,而對於立體雲紋的許多規則,如表 3 所列,各種 的符號有其相對應的動作,且座標環境是三維的空間,在接下來要介紹的規則語 法皆是由此表所對應的動作組合而成。. 24.

(36) 表 3. L-system 符號與生長動作對應. 符號. 相對應之動作. #define. Define parameter. Axiom. Axiom 初始值. &. Pitch down. ^. Pitch up. +. Turn left. -. Turn right. Push matrix. |. Rotate 180°. Nat. translate. O. Draw sphere. io. g. al. n ran(x) @Gs. Ch. y. ‧ 國. [. ‧. Pop matrix. 學. ]. sit. 立. \. 政Roll left治 大 Roll right. er. /. i Un. v. Generate 0~x random parameter. i eStart n gdraw c hcylinder. @Gt. Tangent. @Gc. End draw cylinder. 25.

(37) 在建置與定義立體雲紋圖樣時目前的方法策略是將雲頭、雲尾及雲紋結構三 大類分開處理,有負責生成雲頭的函式,例如 C1-A、C1-B、C2 等;也有負責生 成多重雲尾的函式,tail 與 milt-tail;以及將雲紋組合起來的結構語法規則,SYM、 Cloud1、Cloud2,在接下的小節當中會依序針對雲頭、雲尾、以及立體雲紋結構 的語法做更詳細的方法說明。 首先以下則是系統的基本參數設定,目前 STEP 設定為 25,這個參數會搭配 Animation 參數之設定以調整出動態的雲紋生長過程,動態參數的設定上 Step = 2; Swap interval = 5,即表示每兩個 Steps 用一個 frame 呈現出來,更可以設定 frame 交換的速度,目前設定為每 5*0.01 秒做置換,這些參數皆可以使用者的需求做. 治 政 進一步設定以符合裡的動態結果。 大 立 ‧ 國. 學. Rule parameter define:. ‧. */. sit. n. er. io. al. y. Nat. /* ------------ System define ----------#define STEPS 25 Lsystem: 1 derivation length: STEPS. Ch. engchi. /* ---------- Animation define --------Step: 2 Swap interval: 5 *0.01 s. 26. */. i Un. v.

(38) 4.2.1 雲頭 L-system 語法 在這一小節當中,會分別介紹不同大小朵雲紋的生成方式,搭配平面雲紋定 義其編號分別為 C1、C2、C3、C4,如表 4 所示,在生長規則命名上我們也根 據其編號為參考,分別為 C1( )、C2( )、C3( )、C4( ),其中 C1 為朵雲紋之最基 本構成元素,在此又分為 C1-A( )及 C1-B( ),兩種不同的立體模擬方法,將會依 序在下面做說明:. 表 4 朵雲紋平面雲紋圖樣編號. 立. C2 ( ). C3 ( ). C4( ). io. sit. y. C1-B ( ). n. al. er. 規則. ‧. C1-A ( ). Nat. 生長. C4. 學. 平面 雲紋 圖樣. C1. ‧ 國. 編號. 治 政 C2 C3大. i Un. v. 雲紋的圖樣不管多複雜,在實作方法上會根據其外觀找出適當的模擬方法,. Ch. engchi. 例如角度與位移量等等資訊皆會以平面圖樣作為基礎來建構我們的 L-system 東 方風格雲紋語法,從單一雲朵的最小朵朵雲紋,編號“C1”,在實作 C1 立體雲 紋方法上,又可再細分為 C1-A、C1-B 兩個不同結構的結果呈現,觀察其平面雲 紋的圖樣來看,其雲紋的外觀具有波浪狀的圓弧形輪廓,類似於將數個圓擺放成 螺旋狀,C1-A 的方法即利用球體排列將立體感呈現出來,故在規則上的撰寫將 會依照其螺旋狀的位移並加上具深度的旋轉角度,將原先的平面圖樣轉換為立體 的雲紋結果;而 C1-B 為利用立體的管狀物件模擬出雲紋外輪廓的波狀感,有別 於球體的填充飽滿感,此方法較強調於外輪廓的美感。. 27.

(39) C1-A:. 圖 4.4 朵雲紋 C1-A 生長規則流程圖. 如圖 4.4 所示,為 C1-A 方法之流程圖,依序為傳統平面雲紋圖樣之參考、. 政 治 大 的立體雲紋生成結果。下一頁為生成朵雲紋 C1-A 的 L-system 語法規則,C1-A 立. 依照其圓與圓之間位移量與旋轉角度模擬示意圖、模擬雲朵末端之結合與相對應. ‧ 國. 學. 這個函式會根據 Axiom 所給定的參數進行遞迴呼叫在相對位置上生成球體模擬 出立體感的朵雲紋,而在 C1-A 規則當中有四個參數,d0 用於控制球體之間的位. ‧. 移量、db 用於控制球體的大小、n 用於控制 C1-A 朵雲紋之球體生成數量、T 則. sit. y. Nat. 是將雲尾的參數傳遞下去用於產生相對應的雲尾結果,至於要生成雲朵末端勾捲. n. al. er. io. 的部分我們在這使用寬度由寬至細的平滑圓柱體搭配角度與旋轉變化以模擬出. i Un. v. 平面雲紋當中勾捲的特色,搭配的規則語法為 C1-Aend,其中的參數 c 為控制漸. Ch. engchi. 變的圓柱體其疊代呼叫次數,而在疊代過程當中,參數 w 用於調控圓柱體的寬 度調整。. 28.

(40) 立. 政 治 大. ‧ 國. 學. 圖 4.5 朵雲紋 C1-A 幾何結構生成模擬步驟. ‧. 圖 4.5 為系統隨著遞迴的過程配合指定旋轉角度與位移量逐步地將球體畫出,且. y. Nat. n. al. er. io. sit. 球體亦會隨時間而成長、圖 4.6 則是系統逐步所生成出來的朵雲紋 C1-A 結果。. Ch. engchi. i Un. v. 圖 4.6 朵雲紋 C1-A 系統生成之逐步結果. 29.

(41) L-system 語法規則(C1-A): /* ------------ C1A define ---------#define C1Aang1 80 #define C1Aang2 11 #define C1Aang3 30 #define C1Aang4 5 #define CR 0.87. */. Axiom : -(80)[ C1A( 2 , 2.5 , 5 , T ) ]. 立. Generate Cloud. */ */ */ */ */. 政 治 大. 學. /*. Parameter : d0 : translate amount db : sphere size n : iteration count T : tail parameter */. ‧. ‧ 國. /* /* /* /* /*. n. al. er. io. sit. y. Nat. C1A(d0,db,n,T): n = = 0  ^(65)g(1.1)+(90)\(3)g(0.6)[-(65)&(55)C1Aend(10)][milt-tail(T,T)] C1A(d0,db,n,T) : n > 0  -(C1Aang1)\(C1Aang2)g(d0)[O(db)]C1A(d0,ran(0.5)+db,n-1,T). Ch. /* Parameter : */ /* c : iteration count */ /* w : cylinder width control */. engchi. i Un. v. /*. Generate Cloud Curve */ C1Aend(c) : c > 0  C1Aend_s(c)C1Aend_e(c,1.6) C1Aend_s(c)  #(0.2)@Gt(1)@Gs C1Aend_e(c,w) : c > 0  -( C1Aang3)/( C1Aang4)f(0.9)#(w*CR)@Gc(10)C1Aend_e(c-1,w*CR). /*. End Cloud Tail */ C1Aend_e(c,w) --> -(20)/(15)@Ge(80)@O(w). 30.

(42) C1-B:. 圖 4.7 朵雲紋 C1-B 生長規則流程圖. 基於同樣的雲紋圖樣,C1-B 採用另一種管狀立體形式來模擬生成,如圖 4.7. 政 治 大 及隨著疊代的次數增加、位移量與角度的累加,管狀物件則可慢慢地勾勒出平面 立. 之流程圖所示,而中間詳細的逐步生成過程可以再參考圖 4.8,從初始值設定以. ‧ 國. 學. 雲紋圖樣的外圍輪廓,模擬出具流線美感的立體雲紋圖樣,圖 4.9 則是系統所逐 步生成之動態結果。. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.8 朵雲紋 C1-B 幾何結構生成模擬步驟. 圖 4.9 朵雲紋 C1-B 系統生成之逐步結果. 31.

(43) L-system 語法規則(C1-B): /* ------------ C1B define ---------#define C1BR1 0.9 #define C1BR2 0.9 #define C1BWid1 1 #define C1BWid2 2 #define C1Bang1 9 #define C1Bang2 0.05. */. #define C1Bang3 12 Axiom : C1B(0). 立. [+(55)g(4)[-(75)C1Bcurve1(1)]] [-(40)g(4)[-(65)C1Bcurve1(1)]]. 學. C1B(T) . 政 治 大. Parameter : */ T : tail parameter */. ‧ 國. /* /*. ‧. [+(145)g(4.5)[-(70)C1Bcurve1(1)]] [-(130)g(4)[-(60)C1Bcurve1(1)]] [-(115)g(5)[-(120)C1Bcurve3(1)]]. sit. y. Nat. n. al. er. io. C1Bcurve1(s)  @#(4)#(C1BWid1)@Gr(1)@Gt(1.0)@GsC1Bcurve2(s) C1Bcurve2(s)  -(C1Bang1)/(C1Bang2)C1BLine1(s)C1Bcurve2(s*C1BR1) C1Bcurve3(s)  @#(3)#(C1BWid2)@Gr(1)@Gt(1.0)@GsC1Bcurve4(s) C1Bcurve4(s)  -(C1Bang3)\(C1Bang2)C1BLine2(s)C1Bcurve4(s*C1BR2) /*. Draw Cylinder. Ch. engchi. */. C1BLine1(s)  g(s)#(s*C1BWid1)@Gc(5) C1BLine2(s)  g(s)#(s*C1BWid2)@Gc(5). 32. i Un. v.

(44) C2:. 圖 4.10 朵雲紋 C2 生長規則流程圖. 圖 4.10 所示為朵雲紋 C2 之生成流程圖,中間則是系統在生成 C2 之許多參數的. 政 治 大. 設定,詳細的逐步模擬過程如圖 4.11 所示,而最後的逐步生成結果可以參考圖. 立. 4.12,利用倍數的設定可以將管狀物件隨著疊代的增加,使結果由寬變細,模擬. ‧ 國. 學. 出平面雲紋圖樣的圓弧勾勒狀觀感。. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.11 朵雲紋 C2 幾何結構生成模擬步驟. 圖 4.12 朵雲紋 C2 系統生成之逐步結果. 33.

(45) L-system 語法規則(C2): /* ------------ C2 define ---------#define C2R1 0.9 #define C2R2 0.92 #define C2Wid1 1 #define C2Wid2 1 #define C2ang1 14 #define C2ang2 0.5. */. #define C2ang3 18 #define C2ang4 0.5 Axiom : +(10)[C2(0)]. 立. Parameter : */ T : tail parameter */. 學. C2(T) . ‧ 國. /* /*. 政 治 大. [+(55)g(3)[-(55)C2curve1(1)]]. ‧. [+(145)g(3)[-(45)C2curve1(1)]] [-(50)g(3)[-(30)C2curve1(1)]] [-(225)g(3)[+(30)C2curve3(1)]] [+(135)g(1.5)milt-tail(T,T)]. er. io. sit. y. Nat. al. v. n. C2curve1(s) --> @#(1)#(C2Wid1)@GsC2curve2(s) C2curve2(s) --> -(C2ang1)/(C2ang2)C2Line1(s)C2curve2(s*C2R1) C2curve3(s) --> @#(1)#(C2Wid2)@GsC2curve4(s) C2curve4(s) --> +( C2ang3)/(C2ang4)C2Line2(s)C2curve4(s*C2R2). Ch. engchi. 34. i Un.

(46) C3 : 朵雲紋編號“C3”方法說明,根據所參考到的平面雲紋圖樣來看是稍微較 大朵的朵雲紋,可參考如圖 4.13 之流程圖最左方一張,我們將其生長結構定義 為從側面依螺旋狀路線來生長,與 C1-A 的主要差別之處在於其生長的方向及旋 轉角度不同,利用側面生長的方式模擬出較大朵的朵雲紋。. 立. 政 治 大. 圖 4.13 朵雲紋 C3 生長規則流程圖. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.14 朵雲紋 C3 幾何結構生成模擬步驟. 在 C3 之 L-system 語法規則上與 C1-A 相似,比較特別一提的是由於 C3 其生長 的方向是從側面螺旋狀旋轉,C3 函式當中之參數 d0、db 之用途與 C1-A 相同, 35.

(47) 主要第三個參數 n 的初始值設定在於其差異之處,使之進行迭代的 C3 的規則較 多次,生成球體物件較多,從 C3 之 Axiom 當中 n 的值可以看出,而 T 一樣為用 於傳遞雲尾生成所要的參數設定。圖 4.14 為朵雲紋 C3 之逐步生成示意圖,在每 一次的迭代都會根據規則當中所給的位移量與角度作變化,且球體的大小也會隨 時間成長,圖 4.15 則是系統逐步生成的朵雲紋 C3 的結果圖。. 政 治 大. 圖 4.15 朵雲紋 C3 系統生成之逐步結果. 立. ‧ 國. 學. L-system 語法(C3):. ‧. */. sit. n. er. io. al. y. Nat. /* ------------ C3 define ---------#define C3ang1 60 #define C3ang2 80. Axiom: [ ^(70) [ \(60) C3( 1.5 , 2.5 , 9 , T ) ] ]. Ch. engchi. i Un. v. /*Parameter : */ /*d0 : translate amount */ /*db : sphere size */ /*n : iteration count */ /*T : tail parameter */ C3(d0,db,n,T) : n == 0 && T != 0  [-(C3ang1)\(C3ang2)g(d0)][milt-tail(T,T)] C3(d0,db,n,T) : n > 0  \(C3ang1)+(C3ang2)g(d0)[O(db)]C3(d0,ran(0.2)+db,n-1,T). 36.

(48) C4 : 編號“C4”則是我們系統所要生成最大朵的朵雲紋, 在建構大朵的立體雲 紋時必須考慮整朵雲紋的大輪廓必須接近一個橢圓的外觀,而要將這個大範圍利 用的遞迴的方式生長出來不容易,參數也必須隨之改變,故在此利用既有的朵雲 紋 C1-A 生成規則加以組合,利用左右各一朵 C1-A 與正中間數個球體作為填充 以構成飽滿雲朵,而正中間則為主要 C4 遞迴規則模擬平面雲紋之螺旋捲曲樣貌, 詳細之流程圖如圖 4.16 所示。. 學 圖 4.16 朵雲紋 C4 生長規則流程圖. Nat. sit. y. ‧. ‧ 國. 立. 政 治 大. io. er. 朵雲紋 C4 之生成方式相較於先前的生長結構顯得複雜許多,也是利用前述的生 長概念,但在 C4 之 Axiom 之設定就較為複雜,首先將 Axiom 分成四個部分來. al. n. iv n C 看,首行與末行為針對 C1-A 的生成,但是必須組合出符合橢圓形飽滿的雲朵外 hengchi U. 觀故必須稍微作角度的調整;接下來第三行則是針對 C4 雲紋圖樣正中間之內捲 曲螺旋紋路,要生成更為捲曲的排利方式其球體大小初始值就必須大幅縮小,旋 轉之角度也必須隨之變動,最後一步為第二行直接畫球體以將整體朵雲紋 C4 之 立體感更為均勻且飽滿,另外一點對於 C4 雲尾的生成我們也一樣是設置在 C4( ) 規則當中的 T 來控制,而有呼叫到 C1-A( )函式則必須將 C1-A 的參數 T 設為 0, 以調整出單朵雲尾的生成,而使用者如果想要多條雲尾的生成,在此也可將 T 之參數皆選擇在 C1-A( )與 C4( )皆作設定,這邊的結果留至下一章結果討論再進 一步分析。 37.

(49) 圖 4.17 朵雲紋 C4 幾何結構生成模擬步驟. 治 政 圖 4.17 為朵雲紋 C4 之逐步模擬生長圖,圖中灰階的為 大 Axiom 中生成 C1-A 的 立 模擬圖,彩色的為模擬 C4 雲朵捲曲的部分,可以看出球體大小明顯較小,螺旋 ‧ 國. 學. 狀的位移也較明顯,圖 4.18 為朵雲紋 C4 之逐步生成結果圖,可根據語法規則及. ‧. 步驟圖比較參考。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.18 朵雲紋 C4 系統生成之逐步結果. 38.

(50) L-system 語法(C4): /* ------------ C4 define ---------#define C4ang1 58 #define C4ang2 5 #define C4ang3 80 #define C4ang4 11 #define ford3 3. */. Axiom: [+(90)g(ford3)[-(150)C41(2,2,5,0)]] [gO(2)]. 政 治 大. [^(110)g(ford3)[&(110)g(-ford3/2)C4(1,1,6,T)]]. 立. /* /* /*. db : sphere size n : iteration count T : tail parameter. ‧. Parameter : */ d0 : translate amount */. io. sit. y. */ */ */. er. Nat. /* /*. 學. ‧ 國. [-(90)g(ford3)[C42(2,2,5,0)]]. C41(d0,db,n,T) : n > 0  -(C4ang3)\(C4ang4)g(d0)[O(db)]C41(d0,ran(0.7)+db,n-1,T) C4(d0,db,n,T) : n = = 0  [-(20)/(30)g(d0)][milt-tail(T,T)] C4(d0,db,n,T) : n > 0  +(C4ang1)\(C4ang2)g(-d0)[dO(db)]C4(ran(0.3)+d0,ran(0.3)+db,n-1,T). n. al. Ch. engchi. i Un. v. C42(d0,db,n,T) : n > 0  -(C4ang3)\(C4ang4)g(d0)[O(db)]C42(d0,ran(0.7)+db,n-1,T). 39.

(51) 4.2.2 雲尾 L-system 語法 東方風格雲紋圖樣當中雲尾的走向與結構組合常常影響著雲紋的整體飄逸 流動感,所以我們的系統在生成雲尾時可以想像成 L-system 在模擬植物的分支, 一段一段的隨著時間變化拉長與角度變化的影響以生成出流暢的飄逸雲尾,在這 裡系統實作出的雲尾模擬可以分成兩大類,A.尾部分離;B.尾部密合,以上兩種 皆為套用 L-system 模擬植物枝幹莖的概念,根據語法規則的定義生長出平滑的 雲尾。. 「尾部-分離」:. 立. 政 治 大. 由圖 4.19 可以看的出來雲尾分離的生成方式從最左邊開始,平面雲紋尾部分離. ‧ 國. 學. 圖樣的參考資料、利用矩形來模擬立體圓柱體之立體雲尾、最後系統所生成的尾. ‧. 部分離雲尾結果,從中間的模擬過程圖來看,要產生連續平滑圓柱體的銜接,我. sit. y. Nat. 們必須將遞迴的次數拉高,才不至於產生圓柱體之間有銜接斷層的結果,以. io. er. L-system 的語法來說,產生單一條的連續平滑雲尾就定義為一個遞迴函式來處理, 搭配語法來看的話 tail(t) 這個函式就是針對平滑雲尾的遞迴呼叫生成連續圓柱. al. n. iv n C 體模擬雲尾,而另外一點則是分離雲尾的控制,勢必要有另一項參數與函式來重 hengchi U. 複的呼叫產生出多條的雲尾結果,搭配的函式則是 milt-tail(t) 用於遞迴呼叫 tail(t) 以產生多條的分離雲尾結果。. 圖 4.19 尾部-分離雲尾生成流程圖 40.

(52) 圖 4.20 尾部-分離雲尾生成流程圖. L-system 語法規則( tail - diverge): /* -------------- TAIL- ----------- */ #define WIDS 1.5 /* cylinder start width */ #define WIDE 0.01 /* cylinder end width */ #define WR 0.85 /* cylinder width scale factor*/ #define MAX0 5. 立. 政 治 大. ‧ 國. 學. Define { array len[MAX0]= { 8, 6, 4, 3, 2 } ; } /* define translate amount */ Axiom: multi -tail(4). n. Ch. engchi. y. sit er. io. al. */ */ */ */. ‧. Parameter : t : iteration count n : translate amount index w : cylinder width control. Nat. /* /* /* /*. i Un. v. multi-tail(t) : t > 0  -(5)g(0.1)[tail(t+3)] multi -tail(t-1) tail(t) : t > 1  tail_s(t) tail_e(15,WIDS) tail_s(t)  #(WIDS)@Gt(1)@Gs#(WIDE) tail_e(n,w): n > 0  +(5)f(len[n])#(w*WR)@Gc(60)tail_e(n-1,w*WR). 語法當中的許多參數都可以在更進一步的做調整,雲尾在與雲朵做搭配時,也會 有其相對應的參數關係,所以在接下來下一小節立體雲紋結構的許多複雜雲紋圖 樣結果當中其雲尾的參數也不盡相同,所生成出的雲尾更為多元化。 41.

(53) 「尾部-密合」: 尾部密合的生成規則也類似於分離的語法,只是生長的順序從細變寬,從圖 4.21 之流程圖可以看出由 root 點開始向上,每一段圓柱體搭配相對應的位移量與轉 角度,語法來看 tail(t)函式一樣是針對於圓柱體的遞迴呼叫並生成,並且在進行 疊代同時會將圓柱體之寬度隨著呼叫次數而變寬,最後成為單一條由細變寬的雲 尾,而 milt-tail(t)則是對於多重密合雲尾的呼叫控制,語法的概念與尾部-分離相 近,主要差別在於其圓柱體之初始寬度與結束寬度設定不同。. 立. 政 治 大. n. al. er. io. sit. y. ‧. ‧ 國. 學. Nat. 圖 4.21 尾部-密合雲尾生成流程圖. Ch. engchi. i Un. v. 圖 4.22 尾部-密合雲尾生成流程圖. 42.

(54) L-system 語法規則( tail – converge ): /* -------------- TAIL- ----------- */ #define WIDS 0.05 /* cylinder start width */ #define WIDE 0.3 /* cylinder end width */ #define WR 1.45 /* cylinder width scale factor*/ Axiom: multi -tail(4) /* /* /* /* /*. Parameter : T : tail cylinder count t : iteration count n : translate amount index w : cylinder width control. 立. */ */ */ */ */. 政 治 大. ‧ 國. 學. milt-tail(T):T==1#(0.3)@Gt(1)@Gs#(0.01)+(30)f(2)@Gc(60) milt-tail(T):T==2g(0.05)[tail(6)]+(3)g(0.05)[tail(6)] milt-tail(T):T==3-(5)g(0.05)[tail(6)]-(5)g(0.05)[tail(6)]. ‧. -(5)g(0.05)[tail(6)] milt-tail(T):T==4 …. y. Nat. sit. n. al. er. io. tail(t)  tail_s(t)tail_e(t,WIDE) tail_s(t)  #(WIDE)@Gt(1)@Gs#(WIDS) tail_e(n,w):n>0 -(10)\(30)g(0.3)#(w*WR)@Gc(60)tail_e(n-1,w*WR). Ch. engchi. 43. i Un. v.

(55) 4.2.3 雲紋結構. 以上介紹過東方風格雲紋對於 L-system 之雲頭與雲尾的語法生長規則,接 下來這一小節要介紹的是如何藉由結構化的方式將各式的立體雲紋組合起來,如 下一頁表 5 可以很清楚的看出,在我們的研究當中所定義的結構總類共有十種, 可以分為六個平面結構以及四個立體結構,藉由 L-system 最重要的遞迴概念, 我們也可以將結構與結構之間的遞迴成長利用 L-system 的語法所生成出來。 請參考表 5,符號表示. :root 點;. :畫雲紋/結構疊代點; :畫雲 治 政 紋; :平面位移,首先針對 I.平面結構依序地做介紹,編號 No.1 為生成 大 立 最為基本的單一雲朵結構;編號 No.2 為從 root 點分別向左向右旋轉 90 度,結果. ‧ 國. 學. 則呈現出對稱 180 度的結構,考慮到結構與結構也可以重複疊代的特性,會以左. ‧. 右各 90 度以組合出對稱 180 度的結果;No.3 為從 root 點分別向上一段位移量,. sit. y. Nat. 並從左右各旋轉 120 度再畫出雲朵,呈現出對稱 120 度的結果;No.4 為從 root. io. er. 點向上一段位移量並且分別向左右各旋轉 90 度及下方旋轉 180 度再畫出雲朵, 整體的組合則呈現出彼此對稱 90 度的結果;No.5 則是類似於山型結構,左右兩. al. n. iv n C 側各旋轉 130 度至下方,所夾之角度為 ,並再往下重複一次以上動作, h e n100g 度對稱 chi U 完成之結構就類似於三角狀的山形;No.6 則是較為簡單的直線型,初始位置上. 直接可以畫上雲紋並在左右兩側各旋轉 90 度畫上雲紋,而同時也是結構繼續疊 代的位置,以上是平面雲紋結構的簡單介紹。. 44.

(56) 表 5 立體雲紋結構表 分類. 結構 編號. 結構說明. 圖示. 單一雲朵 No.1 SYM 1 對稱 180 度 No.2 SYM 2. I 對稱 120 度 No.3 SYM 3. 政 治 大. 對稱 90 度 No.4. 立. SYM 4. 學. 夾角 100 度. ‧ 國. 二 維 平 面 結 構. No.5. SYM 5. ‧. 直線型. n. al. sit. SYM 6 正四面體. er. io No.7. y. Nat. No.6. II. i 7 n CSYM U hengchi 四角錐. No.8. 三 維 立 體 結 構. SYM 8. M型 No.9 SYM 9 W型 No.10 SYM 10. 45. v.

(57) 再來 II.立體結構的部分,由於立體結構包含許多的具有深度的旋轉量,所以在 此再額外定義立體結構的符號表示,. :具深度值的旋轉;. :具深度值. 的位移;No.7 為正四面體,從正四面體的頂端出發,分別向上並往後方旋轉 45 度,再依序左右旋轉 120 度並再向後方旋轉 45 度,呈現出四面體頂端為第一階 層,四面體底部的三個座標為第二階層的立體結構;No.8 四角錐的結構原理也 類似於正四面體,從四角錐頂部出發,分別向上並往後方旋轉 45 度,再依序左 右旋轉 90 度及向下 180 度並再向後方旋轉 45 度,呈現出四角錐頂部為第一階層, 四角錐底部四個座標為第二階層的立體結構;No.9 與 No.10 為針對傳統東方風. 政 治 大 方向出發,分別向左右旋轉 90 度,與起始位置的雲朵為 M 型結構的第一階層, 立 格雲紋所設計的立體結構,No.9 為 M 型,從起始位置畫一朵雲紋再依序從四個. ‧ 國. 學. 再往斜後方旋轉 60 度位移量接著分別旋轉左右各 30 度,這部分則是 M 型結構 中的第二階層,呈現出來的感覺就是三朵的平面雲紋與後方的兩朵雲紋所組合而. ‧. 成的 M 型結構,No.10 為 W 型結構,結構方式的生成也類似於 M 型,差別在於. n. al. er. io. sit. y. Nat. W 型為三朵平面雲紋與前方的兩朵雲紋組合而成。. Ch. engchi. 46. i Un. v.

(58) 4.2.4 立體雲紋 L-system 語法架構 接下來就必須將表 5 中之結構在空間中的幾何關係轉換到 L-system 的語法 當中,也就是將前兩小節對於雲朵及雲尾的組合,以結構化的方式組合起來,呼 應到第三章對於雲紋圖樣的分類來看,對於使用者來說只需要指定參數的動作即 可產生出其相對應的雲紋結構、雲朵範圍、雲尾的總類,利用結構的方式我們可 以透過不同的參數畫出單一雲朵、單一雲朵重複雲紋、單一雲朵複雜雲紋以及組 合式雲紋,如下一頁圖 4.23 所示,左半邊為平面傳統雲紋圖樣,右邊則是相對 應於要產生立體雲紋的 L-system 規則,從語法可以得知,透過一層一層往下迭. 治 政 代與組合,可將原本複雜沒有結構的雲紋圖樣慢慢組織建構起來。 大 立 ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 4.23 將傳統雲紋圖樣之分類套用至 L-system 語法結構示意圖 47.

(59) 以使用者來說只需要在 Axiom 指定使用 Cloud1( )與 Cloud2( )規則與參數的 初始設定,接著系統即會根據規則的流程做生成,如下方的部分規則所示, Cloud1( )用於重複生成相同結構的立體雲紋,括弧內的第三個參數即為指定在結 構式 str1 之下做 recr 次的生成;Cloud2( )用於將不同結構之雲紋做組合,括弧內 的第五個參數即為指定要疊代下一個結構式指定,使用者可以考量自己的需求選 擇參數做立體雲紋生成。. L-system 語法(System): /* ------------------------------ AXIOM -------------------------------Axiom: Cloud1( x , x , x , x ). 立. ---------------------- CLOUD1 & CLOUD2 -------------------------. */. 學. ‧ 國. /*. 政 治 大. */. Cloud1(str1,T,num,recr) --> SYM( str1, T, num, recr, str1). ‧. Cloud2(str1,T,num,recr,str2): recr>0 --> SYM( str1, T, num, recr, str2). io. sit. y. Nat. n. al. er. 我 們 的 規 則 撰 寫 採取 parameter L-system 之 語 法 結 構 , 規則 會 根 據 其. Ch. i Un. v. condition 所給的限制,依序往下跑相對應的語法規則,如下一頁語法結構圖所示,. engchi. 我們系統會依照動態生長的順序分類,語法架構 A:雲朵生長雲尾生長;語法 架構 B:雲尾生長雲朵生長,主要差別在於結構函式 SYM( )當中決定先生順 序,舉架構 A 為例,根據結構的參數跑相對應的規則,語法執行順序 SYM( ) C( )  C1( )  multi-tail( )  tail( ),這樣的動態生長會先生成出雲朵並且在雲朵生 長完全後緊接著雲尾的生成;而架構 B 則其生成順序則是 SYM( )  multi-tail( )  tail( )  C( )  C1( ),生長順序就會先順著雲尾拉長並在雲尾生成完成時同一 時間團聚的雲朵也逐漸慢慢生長出來,兩者的語法類似但是動態的感覺與流暢度 不盡相同,使用者也可以根據需求選擇何種動態的呈現。 48.

(60) 東方風格立體動態雲紋之 L-system 語法架構: #define STEPS. 25. /* total iteration */. Axiom: XXX Cloud1(str1, T, num, recr):  Cloud2(str1, T, num, recr, str2): . 架構 A:. 架構 B:. 政 治 SYM(type1,T, 大 num,Cnt,type2). SYM(type1,T, num,Cnt,type2) …C(num, T)… …C(num, T)…. ‧ 國. multi-tail(t) . n. al. er. io. sit. Nat. C(num, T) . C1(d0,db,n,T)  C2(d0,db,n,T) . …multi-tail(t)… …multi-tail(t)…. ‧. SYM 1 SYM 2 …. 學. SYM 1 SYM 2 …. y. 立. Ch. i Un. tail(t) . engchi. C3(d0,db,n,T) . v. C(num, T) . multi-tail(t) . C1(d0,db,n,T)  C2(d0,db,n,T) . tail(t) . C3(d0,db,n,T) . 49.

(61) 以上是本研究的雲紋生長結構在 L-system 語法上的實作架構,接下來會針對實 際的例子解說,從 Axiom 開始會根據指定的規則名稱與參數跑規則並呈現出動 態的雲紋逐步生長結果:. Example 1 架構 A Axiom : Cloud1( 1 , 參數 1 參數 2 參數 3參數 4-. 0,. 1,. 1). structure type 1:str1 =1  SYM 1 cloud tail: T =0  no cloud tail cloud type: num =1  C1-A cloud iteration: recr =1  recursion once. 政 治 大. 立. ‧ 國. 學. Front. Left. Right. Back. ‧. 圖 4.24 結構生成雲紋圖樣 Example 1 之結果圖. io. sit. y. Nat. Example 1 說明:. n. al. er. Cloud1 此函式為針對相同結構做遞迴生成,參數 1- str1 = 1 即為指定結構 SYM(1). i Un. v. 為單朵雲紋;參數 2 – T 即為指定雲尾之圓柱體個數,T = 0 表示無雲尾;參數. Ch. engchi. 3- num=1 表示所生成雲朵編號 C1-A 的雲紋;參數 4 – recr = 1 則是表示執行規則 一次。. Example 2 架構 A Axiom : Cloud1( 2 ,. 1,. 1,. 1). 參數 1 - structure type 1: str1= 2  SYM 2 參數 2 - cloud tail: T = 1  1 level (1 diverge cylinder) cloud tail 參數 3- cloud type: num = 1  C1-A cloud 參數 4- iteration: recr = 1  recursion once. 50.

(62) Front. Left. Right. Back. 圖 4.25 結構生成雲紋圖樣 Example 2 之結果圖 Example 2 說明: 一樣為 Cloud1,參數 1- str1 = 2 即為指定結構 SYM(2)為對稱 180 度結構;參數 2 – T 雲尾之圓柱體個數,採用架構 A 尾部分離,T = 1 生成單一圓柱體模擬雲. 治 政 尾;參數 3- num=1 生成雲朵編號 C1-A 的雲紋;參數 大4 – recr = 1 執行規則一次。 立 架構 A Axiom : Cloud1( 9 ,. 1,. 2). structure type 1:str1 = 9  SYM 9 cloud tail: T = 0  no cloud tail cloud type: num =1  C1-A cloud iteration: recr = 2  recursion twice. n. al. er. io. sit. y. Nat. 參數 1 參數 2 參數 3參數 4-. 0,. ‧. ‧ 國. 學. Example 3. Ch. engchi. Front. i Un. v. Back. Left. Right. 圖 4.26 結構生成雲紋圖樣 Example 3 之結果圖 51.

(63) Example 3 說明: 規則 Cloud1,參數 1- str1 = 7 即為指定結構 SYM(7)為 M 型立體結構;參數 2 – T = 0 無雲尾;參數 3- num=1 生成雲朵編號 C1-A 的雲紋;參數 4 – recr = 2 遞迴規 則二次。. Example 4 架構 A Axiom : Cloud2( 1 , 參數 1 參數 2 參數 3參數 4-. 0,. 1,. 2,. 3). structure type 1:str1 =1  SYM 1 cloud tail: T = 0  no cloud tail cloud type: num = 1  C1-A cloud iteration: recr = 2  recursion twice. 立. 政 治 大. 參數 5- structure type 2:str2 = 3  SYM 3. ‧. ‧ 國. 學 sit. y. Nat. io. n. al. Back. er. Front. Ch. engchi. Left. i Un. v. Right. 圖 4.27 結構生成雲紋圖樣 Example 4 之結果圖 Example 4 說明: 規則 Cloud2 用於生成雲紋結構與結構之間之組合,參數 1- str1 = 2 即為指定結構 SYM(2) 對稱 180 度結構;參數 2 – T = 0 無雲尾;參數 3- num=1 生成雲朵編號 C1-A 的雲紋;參數 4 – recr = 2 執行規則二次;參數 5 – str2 執行規則第二次所 要迭代的結構參數,str2 = 3 表示第二次生成 SYM(3)對稱 120 度結構。 52.

(64) Example 5 架構 B. Axiom : Cloud1( 1 ,. 3,. 1,. 1). 參數 1 - structure type 1:str1 =1  SYM 2 參數 2 - cloud tail: T = 3  3- level (3 converge cylinder) cloud tail 參數 3- cloud type: num = 1  C1-A cloud 參數 4- iteration: recr = 1  recursion once. 政 治 Right大 圖 4.28 結構生成雲紋圖樣 Example 5 之結果圖 立 Left. Back. 學. ‧ 國. Front. Example 5 說明:. ‧. 規則 Cloud1,參數 1- str1 = 1 即為指定結構 SYM(1)為單朵雲紋;參數 2 – T 採. n. al. er. io. 朵編號 C1-A 的雲紋;參數 4 – recr = 1 執行規則一次。. sit. y. Nat. 用架構 B 尾部密合,T = 3 生成三條圓柱體模擬雲尾結果;參數 3- num=1 生成雲. Ch. engchi. 53. i Un. v.

數據

圖  2.4 L-system  依語法定義生長示意圖
圖  4.3 Turtle interpretation of L-system  之方向軸
圖  4.26 結構生成雲紋圖樣 Example 3 之結果圖   架構 A    Axiom : Cloud1(    9 ,    0 ,    1 ,    2 )
圖  4.28 結構生成雲紋圖樣 Example 5 之結果圖  Example 5 說明:  規則 Cloud1,參數 1- str1 = 1 即為指定結構 SYM(1)為單朵雲紋;參數 2 – T  採 用架構 B 尾部密合,T = 3 生成三條圓柱體模擬雲尾結果;參數 3- num=1 生成雲 朵編號 C1-A 的雲紋;參數 4 – recr = 1 執行規則一次。   架構 B    Axiom : Cloud1(    1 ,    3,    1 ,    1 ) 參數 1 -    struc
+4

參考文獻

相關文件

Hemibungarus sauteri hatori 羽島氏帶紋赤蛇 2 Calliophis macclellandi formosensis 環紋赤蛇 2.

受雲林科技大學 王新衡教授邀請,共同策劃嘉大附小學生參加 518博物館日 結合舊屋力計畫,老屋活化藝術展之討論情形。...

國文模擬考大部分的考題都是 閱讀題 ,注重閱讀能力而非國學常識(佔極少 數)。如果在這方面的功力很淺,可以多買參考書的

之整合及阿里山觀光軸線延伸發展計畫 期中規劃階段 雲嘉南-4 雲林縣 臺灣宗教旅遊及宗教文化園區之規劃 期中規劃階段 雲嘉南-5 臺南縣 雲嘉南農業經濟發展計畫

A6: 本課將萬物比喻成像人一樣有 生命, 這樣讀起來,讓人感覺很 親切,且更為有趣。例如「風箏謝

只有貴族和與貴族同宗的國人才有資格上戰場,而且戰場上還必須遵守戰爭禮儀,例

只有貴族和與貴族同宗的國人才有資格上戰場,而且戰場上還必須遵守戰爭禮儀,例

舉例: 中一以隨筆一作前測診斷,發現 學生的描寫多欠具體清晰.