Terrain Generator
Last year, for the midterm assignment in our first-year basic design studio, we gave our students a range of different, randomly generated contexts to work with. For this purpose, I developed a small Grasshopper tool that makes the graph of a function look as much like a terrain model as possible. This tool is not really a procedural terrain generator. I would genuinely like to build one, someday. What we have here is simply a function surface. At the inputs, you specify how flat or rugged the terrain should be, whether its overall form should resemble a hill or a valley, and its dimensions. The diagram looks rather complicated for such a simple operation. This is because the aim was to provide the students with a clean, solid model that was ready for contouring and physical model-making. For this reason, the generated surface is trimmed and converted into a solid.

If you examine the code, you will see that there is actually no random calculation involved. Points on a grid are displaced upward according to a function. In fact, the code could have been written in a much simpler way. If you move the function parameter I called “Seed” very slowly, the transitions in the surface reveal that the calculation is not actually random.

Working with such hypothetical terrains can sometimes be useful in architectural design studios. In this case, it offered an opportunity to introduce basic design students, who had not yet encountered architectural space, to the subject through surface geometry. Of course, the context of a site has much more than the geometric surface alone. In the stduio, as we move on, it was possible to incorporate layers of information into this surface geometry. In the following weeks, we gave the students a few more tools to help them analyze these models and make design decisions based on their findings. I’ll publish those tools soon.







