[Houdini]L-System 初步了解

L-System語法 緣由 經過朋友分享Houdini的學習過程時,了解到裡面可以使用Lindenmayer 個系統,也就是L-System,他是由荷蘭生物學和植物學家 Aristid Lindenmayer 所提出的數學模型,可以廣泛應用於植物生長過程的研究,而在3D軟體,則可以依照這些規則來產生需要的植物。 符號 F 往前一步,並畫一條線 f 往前一步,不畫線 + 左轉 δ 度 - 右 轉 δ 度 [ 開始一個分支 ] 完成一個分支 X,Y 為變數,變數不畫線,但是要記得他們的存在 有其他語法不過目前我們先用這些就好 依 維基百科 所寫 L-System 應該會像: 變數: AB 常量: 公理(Axiom): A 規則: (A->AB),(B->A) 所謂的公理,就是系統的初始點,像是這裡的公理為A,所以我們由A開始走 然後再依規則進行疊代。 示範 矩形路徑 下面來簡單的示範 我們的 δ 在此設為 90 度,也就是我們目前的轉彎都是單純的正左轉正右轉。 n = 3 F F->F[-XF]F X->F[x] 開始畫吧: n = 0 因為我們的公理定為 F,所以一開始為向前走一步並且有畫線。 我們以紅色為起點向前走一步吧! n = 1 進行第一次疊代,這時我們要依照給的兩條規則來執行。 由於沒有X在場上,所以我們這次只跟隨規則 F->F[-XF]F 注意一點是,我們有箭頭符號對吧。 你可以把他想成變身,我們的F變身成F[-XF]F了,所以會直接取代原本的F, 而不是繼續畫上去。 在這張圖我用了3步驟來解釋是怎麼變成最右邊那張圖的, 便更好的解釋規則語法。 F[-XF]F a. F : 我們裡所當然的畫一條線F 1 b. [-XF] : 中括號的意思就是 分支 ,也就是新的樹枝,我們想像在目前位置跟目前的方向,開啟一個獨立的 工作站 ,且 不會影響 到本體。 我們再來看他的要求是什麼: 指令是 -XF ,所以我們先向右...