Skip to content

AlasdairMott/Blocks

Repository files navigation

Blocks

Build Action License: GPL v3

Markovian generative 3d modelling for Grasshopper.

Reading

Provided with an example model that uses 3d instances, the algorithm will read the relationsips (transforms) between adjancent instances.

Generating

In the generative stage the algorithm will generate a new block assembly that retains features from the example assembly.

To start, the algorithm will choose a block at random from the pool of available blocks. Based on the learned relationships it will choose a canditate block. If the canditate does not collide with the existing geometry it will be added to the generated assembly. Repeat this step as required.

Running Blocks on PC

A copy of Rhino 3d is required. A free trial version is available. An example file is provided.

Reading existing objects:

var reader = new ReadTransitions();
var transitions = reader.Read(instances, distanceThreshold);

Generating a new assembly:

var generator = new GenerateBlockAssembly(seed);
var assembly = generator.Generate(transitions, obstacles, steps);

License

This project is licensed under the GPL v3 License - see the LICENSE file for details.

About

Markov Building Blocks

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages