skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · undergraduate program · senior project · projects · 

Senior Project - Growth


Three-Dimensional Botanical-Design Tool for Children

Senior Project: 2004-2005
Derek Andersen, Carrigan Bennett, Pha Huynh, Laura Caitlin Rassbach de Vesine and Scott Reardon

Michael Eisenberg is an associate professor in the Computer Science Department at the University of Colorado Boulder. He has taught a wide range of special-topics and artificial intelligence courses and also is involved in a variety of projects at the university's Discovery Learning Center (DLC). For quite a long time, one of his goals was to provide a software botanical-design tool for use by middle school students. His vision was for this software program to have two main functions:

  • First, it would be an educational tool that allows students to develop their own botanical shapes. They would see their visual results on a graphical display as they make simple adjustments in a parameter panel that allows them to change the design of the plant. As students design their own plant shapes, they can learn about the "math" (i.e. the recursive properties) that is characteristic of natural plantlife.

  • Second, the software tool would allow for simple conversion of generated plant shapes to a printable format. Students could then save their designs and print them out on a 3D printer, such as the 3D plaster printer available in the DLC.

This project is a software tool that employs the concept of L-Systems to generate virtual 3D tree-like shapes. Any generated tree can then be exported to a printable format. The software provides four L-System models, with each model having its own set of unique tree-shape variations. Each model has a unique set of associated adjustable parameters, allowing users to adjust different properties of their trees, such as branching angles, through a simple interface. The system also has an error checker feature, which analyzes a generated tree shape with respect to its suitability for printing.

The software was implemented in Java using the OpenGL graphics system. It was designed to be easily extensible so that additional L-System models or new features may be easily added in the future.

Main Window
Main Window
User Tutorial
User Tutorial
Printed Trees
Printed Trees
See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (14:07)