The goal is to subdivide a given rectangle or square randomly by a given set of ratios of area.
The algorithm creates patterns similar to GH component Substrate but highly controllable in that it requires users to set the ratio of divisions and parameters like seed and shuffling strength which dramatically vary the patterns with the given set of ratio. It largely depends on our custom GH VB dot NET component Random Subdivision by Ratio which is made of a combination of 2 systems, a subdivisionpost type and a stochasticpost type system.
Use Case Manual Input at Ratio Set
Given that there is a rectangle and set of 10 ratios to divide it; i.g. 0.15, 0.07, 0.11, 0.31, 0.03, 0.10, 0.05, 0.08, 0.04, and 0.06. If the area of the input rectangle is 27200 sq/mm, the subdivision shall satisfy its output areas to be 1088, 4080, 2992, 1904, 1360, 2176, 2720, 8435, 1632, and 816 sq/mm. The algorithm generates any possible distribution patterns that meet this condition with use of random function. There are two random seeds to be adjusted: the first one “Seed A”(2) varies the tendency of pattern, the second one “Seed B”(1) shuffles the order of ratios and patterns in the tendency you chose in “Seed A”(2).
The example below shows the result when Seed B is kept 0 while Seed A is adjusted to 0, 20, 40, 60, 80 and 100 respectively.
Use Case Random Areas in Multiple Domains
In this running example, we use Domain to generate a variety of ratio sets. Case 1 is uniformly distributed; 20 divisions and every ratio is set to 0.05 and the corresponding area is 1360 sq/mm. On Case 2, the total number of divisions is 20 as well, measured by different scales of ratios – large (0.1~0.15), medium (0.04~0.06), and small (0.02~0.03), being 3, 7, and 10.
In Case 3, the total number of division is 60, measured by different scales of ratios – large (0.07~0.11), and small (0.007~0.013), being 5, and 55, respectively.
Case 4 is almost uniformly distributed; 60 divisions and every ratio ranges from 0.012 to 0.021 and the corresponding area is around 400~570 sq/mm respectively.