Skip to content

02::Root

Introduction

The Root cluster provides a series of components that draw parametric diagrams of multi-phased root systems, in both sectional and planar approaches, based on the given soil conditions.

The growing roots will also respond to different environmental conditions that are either benign or malignant. These conditions will accordingly either encourage or discourage the growth.

Similar to the reality, a root needs some soil to grow upon. To grow roots, the components require a soil map that utilize the information extracted from the Soil cluster.

Component Usage

Please refer to the following sections for each component from this cluster.

Soil Map for Root

This component computes a soil map for root drawing. It does not generate a diagram, but generates a generic class that can be connected to the components.

Parameter Abbreviation I/O Optional Explanation
Plane P Yes The base plane where the soil and roots exist, using Top as the default value. For soil that is not aligned with the world coordinate system, the soil boundary should be used.
Soil Geometry soilGeo No Geometric representation of the soil. For sectional soil, only triangles are considered; for planar soil, users can use any tessellation (triangle, square, hexagon, etc.) or point collection.
SoilMap sMap The output generic soil map, used as one of the inputs of the root drawing components.
  • Context Menu: This component provides an additional option in the context menu to choose between sectional soil map or planar soil map. The selection will trigger different algorithm inside the component for computing the soil map for different purposes.

Sectional Root

This component generates a sectional root diagram based on the given soil map, anchor point and root radius. Users can also specify the specific root topology. Due to the various stages of root growth this allows the user to control the number of levels roots will branch off of the primary or initial roots. For example the figure, from An Architectural Approach to the Comparative Ecology of Plant Root Systems1, below demonstrates both single level branching and multi level branching.

In addition to topological adjustments, users can adjust various variables to simulate the root's growing process with enabled environmental affectors, including both attracting factors (water, resource, etc.) and repelling factors (dryness, poison, etc.). If the environmental affectors are turned off, the root will branch out uniformly based on the given soil conditions.

Topological Brancing Multi Level

Topological Brancing Single Level

Topological Brancing None

Parameter Abbreviation I/O Optional Explanation
SoilMap sMap No The generic soil map that contains the geometric information a root can grow on.
Anchor A No The location near which a root start growing. The component will find the nearest on-map point to this anchor point.
Steps S No The growing steps of the root. This is used to control the depth of root growth incrementally.
BranchN n Yes Root branching number. Initial number of roots that branch from the anchor (n >= 2).
seed s Yes Int seed to randomize the generated root pattern.
Env Attractor envA Yes A curve or list of curves that represent environmental attracting area. (water, resources, etc.)
Env Reppeller envR Yes A curve or list of curves that represent environmental repelling area. (dryness, poison, etc.)
Env DetectionRange envD Yes The range (to unit length of the grid) that a root can detect surrounding environment.
RootSec-Primary root-main The sectional root drawing for primary branches of the roots.
RootSec-Secondary root-rest The sectional root drawing for secondary elements, or elements that brach off the main roots.
  • Context Menu: This component provides an additional option in the context menu choose between Topological Root: Level 2, Topological Root: Level 1, or Topological Root: None. The selection will trigger different algorithm inside the component for drawing the corrosponding diagram.
Parameter Abbreviation I/O Options Explanation
Topological Branching Topological Branching None/Level 1/Level 2 The number of branching levels for roots off of the primary roots.

Planar Root

This component generates a phased planar root diagram based on a given soil base. Users can adjust various variables to simulate the root's growing process with enabled environmental affectors, including both attracting factors (water, resource, etc.) and repelling factors (dryness, poison, etc.).

If the environmental affectors are turned off, the root will branch out uniformly to all directions.

Root Growth Phases Diagram

Parameter Abbreviation I/O Optional Explanation
SoilMap sMap No The generic soil map that contains the geometric information a root can grow on.
Anchor A No The location near which a root start growing.
Scale S No Root scaling to match the root size with the soil size.
Phase P No The growth phase ( [1, 5] ) of the root, allowing adjustment of the maturity of the root.
Division Num divN No The number of branches grown from the root centre.
Env Attractor envA Yes Environmental attracting area (water, resource, etc.).
Env Repeller envR Yes Environmental repelling area (dryness, poison, etc.).
Env DetectionRange envD Yes The range (to unit length of the grid) that a root can detect surrounding environment.
"EnvAffector Toggle" envToggle Yes Toggle the affects caused by environmental factors. Default value false.
RootPlanar rootALl The planar root drawing, collection of all level branches.
RootPlanarLevel-1 rootLv1 Level 1 root components.
RootPlanarLevel-2 rootLv2 Level 2 root components.
RootPlanarLevel-3 rootLv3 Level 3 root components.
RootPlanarLevel-4 rootLv4 Level 4 root components.
RootPlanarLevel-5 rootLv5 Level 5 root components.
RootPlanarAbsorb rootAbsorb Absorbent roots.

Tree Root

This component is used to generate sectional diagrams of tree root systems based on their height and phase. The component requires inputs from a soil map and tree component to compute the diagrams.

Tree Root Growth Phases Diagram

Parameter Abbreviation I/O Optional Explanation
TreeInfo tInfo No The tree info output from the tree component, used to generate the roots diagram
SoilMap sMap No The output generic soil map, used as one of the inputs of the root drawing components.
All Roots rootAll The sectional root drawing, collection of all level branches.
RootMain rootM Primary root components of roots grown in previous the phase.
RootNew rootN Secondary root components and new roots grown in current phase.
Dead Roots rootD Dead roots in later phases of a tree's life.

Demo File

The Root Demo (.gh file) is a grasshopper file that contains example definitions for Sectional Root and Planar Root diagram generation. For Tree Root diagram generation, see Tree demo file.

Note: By adding additional points to the soil grid, the sectional root growth can be adjusted to deviate from the soil grid. This allows the simulated root to appear more natural or dynamic as depicted above in figure 2. For example review Natural Root Demo (.gh file).


  1. Fitter, A. H. "An architectural approach to the comparative ecology of plant root systems." New phytologist 106 (1987): 61-77.