A python script to procedurally generate a landscape, forest and village in Blender.
Uses numpy and sin to create a random landscape. Then a coordinate system is used generate trees and ensure that no 2 trees use the same position.
This is then repeated for the village. The village placement also keeps the houses pointed towards the center.