从底层数据结构的角度讨论了上下文相关L-系统实现中的几个关键问题.结合L-系统的语法,解释了以二叉树为底层数据结构的新系统设计机理,提出了生长方式树和生长状态树的概念,给出了新的数据结构形式下生长状态演化算法的实现.与采用线性数组实现的L系统相比,新系统很好地模拟了L-系统本身的树形逻辑结构,简化了L系统中上下文搜索的过程,在生长模拟环节有更高的时空效率,且具备更好的可扩展性.以虚拟植物生长为背景,介绍了如何基于新数据结构进行虚拟植物绘制和绘制优化,并通过实例验证了新算法的有效性.
Some key problems were addressed about the context-sensitive L-system in terms of the fundamental data structure. Associated with the syntax of L-system, new solutions based on binary tree were explored, including two new concepts, growth-state tree and growth-manner tree, based on which a context-sensitive L-system was re-implemented. Compared with the L-system based on the linear array, the new system captures the essence of logical structure in L-systems, and simplifies the context search process, so as to obtain better timing and spacing performance in the simulation, as well as better extendibility. Finally, the optimization of rendering process was investigated with applications in virtual plants, and some plant samples demonstrated the effectiveness of the new implementation.