Lindenmayer System(以下簡稱L-system)為一普遍運用於植物生長建模之迭代語法,可用於描述其生長形態和枝葉分叉規則。而以L-system 文法產生之植物模型雖能恰當的表現其外觀形態,卻無法敘述與表現植物結構在生長期間產生的外形變化行為。例如當植物生長枝幹與其本體的某一植物器官或者與外部的障礙物發生交會時,L-system並沒有辦法對碰撞的過程進行偵測與處理。 為了解決上述問題,我們對L-System進行了前置處理,建構出一個針對植物生長結構而設計的階層式Bounding Volume架構。用來在每一次植物生長完後進行碰撞偵測。 經由採用上述階層式的架構,使用者還可以有效率的利用本系統處理顯示大範圍的植被生長狀況。除此之外我們的階層式結構也可以用以處理植物的Level of Detail問題,針對不同等級的精細程度提供使用者多樣化的地表植被細節。
Lindenmayer System is a well-used algorithm which uses an iterative grammar set to simulate the growing status of plants. Although L-System is good at modeling the plant structure, it is inconvenient for describing and representing the changing shapes of plants during growing progress. For example, when a branch (or leaf) intersects with other organs or obstacle in the surrounding environment, there is no efficient mechanism to detect and avoid the collision. In order to solve the above-mentioned problem, we preprocess and build a hierarchical bounding volume structure for plants based on L-system. Our structure is then used to perform collision detections in each growing iteration of the L-grammar. By adopting this hierarchical structure, our system enables users to manipulate large-scale vegetation status in an efficient manner. Furthermore, our hierarchy data structures can be easily transformed into the format of Level of Detail, which is very useful for providing a multi-resolution landscape view for the users.