Branching patterns: the simulation of plant architecture