Weber and Penn model

The Weber and Penn model is a procedural model for generating trees. It was developed by Weber and Penn in 1995 [WP95]. In contrast with previous model, this model is not based on L-systems. Instead, it is based on a recursive procedure that generates a tree by adding branches to a trunk. The model is based on a set of parameters that control the shape of the tree. These parameters, listed in the appendix, describe with precision the main characteristics of the tree. The model is able to generate a wide variety of trees, from conifers to deciduous trees. The model is also able to generate trees with different shapes, such as weeping willows, quaking aspens, and black tupelos.

The [tree diagram] below shows the structure of the model. The trunk is generated first, and then branches are added recursively. The radius of each stem is calculated with the following expresion

wp tree diagram
Figure 1. tree diagram (reproduced from [WP95])
expl wp
Figure 2. Example of Trees generated by Weber and Penn in their paper (reproduced from [WP95])

Appendix: Weber and Penn Parameter List

Table 1. Parameter List (reproduced from [WP95])
Parameter Description Quaking Aspen Black Tupelo Weeping Willow CA Black Oak

Shape

general tree shape id

7

4

3

2

BaseSize

fractional branchless area at tree base

0.4

0.2

0.05

0.05

Scale, ScaleV, ZScale, ZScaleV

size and scaling of tree

13, 3, 1, 0

23, 5, 1, 0

15, 5, 1, 0

10, 10, 1, 0

Levels

levels of recursion

3

4

4

3

Ratio, RatioPower

radius/length ratio, reduction

0.015, 1.2

0.015, 1.3

0.03, 2

0.018, 1.3

Lobes, LobeDepth

sinusoidal cross-section variation

5, 0.07

3, 0.1

9, 0.03

5, 0.1

Flare

exponential expansion at base of tree

0.6

1

0.75

1.2

0Scale, 0ScaleV

extra trunk scaling

1, 0

1, 0

1, 0

1, 0

0Length, 0LengthV, 0Taper

fractional trunk, cross-section scaling

1, 0, 1

1, 0, 1.1

0.8, 0, 1

1, 0, 0.95

0BaseSplits

stem splits at base of trunk

0

0

2

2

0SegSplits, 0SplitAngle, 0SplitAngleV

stems splits & angle per segment

0, 0, 0

0, 0, 0

0.1, 3, 0

0.4, 10, 0

0CurveRes, 0Curve, 0CurveBack, 0CurveV

curvature resolution and angles

3, 0, 0, 20

10, 0, 0, 40

8, 0, 20, 120

8, 0, 0, 90

1DownAngle, 1DownAngleV

main branch: angle from trunk

60, -50

60, -40

20, 10

30, -30

1Rotate, 1RotateV, 1Branches

spiraling angle, # of branches

140, 0, 50

140, 0, 50

-120, 30, 25

80, 0, 40

1Length, 1LengthV, 1Taper

relative length, cross-section scaling

0.3, 0, 1

0.3, 0.05, 1

0.5, 0.1, 1

0.8, 0.1, 1

1SegSplits, 1SplitAngle, 1SplitAngleV

stem splits per segment

0, 0, 0

0, 0, 0

0.2, 30, 10

0.2, 10, 10

1CurveRes, 1Curve, 1CurveBack, 1CurveV

curvature resolution and angles

5, -40, 0, 50

10, 0, 0, 90

16, 40, 80, 90

10, 40, -70, 150

2DownAngle, 2DownAngleV

secondary branch: angle from parent

45, 10

30, 10

30, 10

45, 10

2Rotate, 2RotateV, 2Branches

spiraling angle, # of branches

140, 0, 30

140, 0, 25

-120, 30, 10

140, 0, 120

2Length, 2LengthV, 2Taper

relative length, cross-section scaling

0.6, 0, 1

0.6, 0.1, 1

1.5, 0, 1

0.2, 0.05, 1

2SegSplits, 2SplitAngle, 2SplitAngleV

stem splits per segment

0, 0, 0

0, 0, 0

0.2, 45, 20

0.1, 10, 10

2CurveRes, Curve, 2CurveBack, 2CurveV

curvature resolution and angles

3, -40, 0, 75

10, -10, 0, 150

12, 0, 0, 0

3, 0, 0, -30

3DownAngle, 3DownAangleV

tertiary branch: angle from parent

45, 10

45, 10

20, 10

45, 10

3Rotate, 3RotateV, 3Branches

spiraling angle, # of branches

77, 0, 10

140, 0, 12

140, 0, 300

140, 0, 0

3Length, 3LengthV, 3Taper

relative length, cross-section scaling

0, 0, 1

0.4, 0, 1

0.1, 0, 1

0.4, 0, 1

3SegSplits, 3SplitAngle, 3SplitAngleV

stem splits per segment

0, 0, 0

0, 0, 0

0, 0, 0

0, 0, 0

3CurveRes, 3Curve, 3CurveBack, 3CurveV

curvature resolution and angles

1, 0, 0, 0

1, 0, 0, 0

1, 0, 0, 0

1, 0, 0, 0

Leaves, LeafShape

number of leaves per parent, shape id

25, 0

6, 0

15, 0

25, 0

LeafScale, LeafScaleX

leaf length, relative x scale

0.17, 1

0.3, 0.5

0.12, 0.2

0.12, 0.66

AttractionUp

upward growth tendency

0.5

0.5

-3

0.8

PruneRatio

fractional effect of pruning

0

0

1

0

PruneWidth, PruneWidthPeak

width, position of envelope peak

0.5, 0.5

0.5, 0.5

0.4, 0.6

0.5, 0.5

PrunePowerLow, PrunePowerHigh

curvature of envelope

0.5, 0.5

0.5, 0.5

0.001, 0.5

0.5, 0.5