
One of the most interesting landscape architects from the past 20 years is the French Designer Michel Desvigne. His approach to design and form is very contemporary, and he would generally be considered in the avante-garde of the field. He deals with and talks about issues of mathematical complexity, emergent form, intermediacy/in-determinancy, as well as processes of growth and change. At the same time, however, he, like many French designers, is a technological Luddite. He minimizes the role of the computer in his office, with a strict preference for analog methods. His firm, Michel Desvigne Paysagiste has a website, which contains only his contact information (*note, this was true in 2014 but is no longer true in 2025). Many of his projects depend on the aerial image, yet he denounces it in his writing. To try and recreate his design process using Grasshopper would probably be considered by him a cardinal sin. If he were to read this blog post, his blood pressure would go through the roof, and he would dismiss it as vomit. Which is why I will go ahead with it.. 🙂
A very nice project of his…I haven’t seen it personally, but the image is quite ubiquitous, is his design for the Noguchi foundation rooftop at Keio University in Tokyo, Japan. Being a rooftop, the landscape is completely artificial, and pretty much any pattern could theoretically have been used. His design is explained in quite detail in the book Intermediate Landscapes: The Landscapes of Michel Desvigne. I won’t explain all the nuances of it, for that you will have to read the book, but generally, what he choose to do was to use an aerial image to “simulate” the fractal complexity of the landscape. Based on the intensity of the lights and darks in the aerial image, one of 5 paver types is selected. I will walk through a general way to try and mimic his process, and then show an alternative way using attractors.
Step One – Basic Setup

The basic setup is very similar to the last case study. We setup a simple grid, and then “Cull” all the geometry that is outside of a certain line. In this case, I offset the original roof edge curve (drawn in Rhino) and then Cull based on a Point in Curve containment test using the paver centers. I adjusted the amount of offset to get the pavers as close to the edge as possible without going over.
First Variation – Determining Circle Sizes Based on an Aerial Image (Image Sampler)

The method Desvigne used for the Keio University Rooftop was to select an aerial image from somewhere in Japan. I’m not sure the scale of the aerial image he used, where it was selected, nor what his justification was for his image. I selected a random aerial image that I though would be good for this exercise. I adjusted the saturation/brightness/contrast in Photoshop before going ahead.
The Image sampler process is pretty much what is explained in example 2.5. Note that I drew a second rectangle around the entire rooftop, and then referenced this “surface” with the image, against the center points of each paver. The image sampler measures the intensity of the lights and darks, and then I remap these values to set a circle size.
This is a good start, but if you actually tried to build this, you would run into a problem. Sure, you could custom cut over 2000 pavers with almost as many circle sizes, but this would be extremely expensive, and unnecessary. What Desvigne did, in this case, was to establish 5 different paver types. One with no hole, and four with a hole of varying sizes from small to large. To simulate this process in Grasshopper, we will draw our circles with the Pick ‘n’ Choose component explained in example 3.5.

Before I set up the “Pick ‘n’ Choose” I am going to set up my five variations. In this case, i decided to draw the basic geometry in Rhino, and convert the edges to a Surface in Grasshopper.

Once these are drawn, i will hook up my first variation into Grasshopper. Here you can see, I remap the numbers coming out of the image sampler from the domain {0 to 1} (the default coming out of Image Sampler) to one between {-.49 to 4.49} which will be rounded off to a number between 0-4 (5 values total).
So each square now has one of 5 values. In the example above, only the values with “0” are shown (quite a few actually!).

And here I’ve finished attaching the other values. The biggest circles correspond to the lightest areas in the aerial, while the darkest correspond to the pavers with no hole. Notice that the overall effect is very similar to the one without using “Pick ‘N’ Choose”, but this one is much cleaner (and buildable!)
This approach that Michel Desvigne used is quite simple and effective, but depends on you selecting the right aerial. You could try out many different images…this is your way of controlling the final effect. It is not “parametric”, but the results, in some ways, are superior to the next method, since the image is by nature, “messier” than a pure, mathematical formula or process. But depending on your needs, you may want a bit more control over what is going on.
Variation 2 – Using Attractors
Another possible way this could be done is by using attractors. This would allow the designer a bit more control over the form, and liberate the design from the analog image. It also eliminates the messiness of the analog image, which could be seen as a good or a bad thing.

To get this started, I’ve gone back to the squares after the Containment test and “Cull”. I then drew a bunch of attractor points in Grasshopper. What I am doing is very similar to example 2.2 except this time all the points are manually drawn. I measure the distance from each cell to the attractors. Since the logic of attractors is a bit different than what I did for the image sampler, before doing the “pick ‘n’ choose”, I want to separate the pavers that are far away from a point and right off the bat, fill these cells with a solid paver. I can later change this range to make the attractors have more or less of an effect. This is done by dispatching all the cells that are further from a point than a changeable “Cutoff threshold”. The other cells will go into the Pick’N’Choose.

Here the “Pick ‘n’ Choose” is pretty much the same as in the last variation, except instead of 5 variations I have only 4 since I already took one of the variations out. You’ll see now my new surface with circles decreasing in size with increasing distance from the “Attractor” points.

Now you can play around with the attractor distance, draw new points, or move existing points around to introduce variation into the surface. You’ll notice it is much more logical than the aerial based image, but also looses some richness. The aerial also picks up on some complexities in landscape that a careless designer playing with attractors might miss. But I think the attractor script could become equally rich, or moreso, with some additional math and manipulation. One problem is that each attractor demands the largest circles next to it, but you might want some points to have only mid-range circles right next to them, and then have it decrease. You could rewrite this so that, for example, the largest circles need to be within a certain range of at least 3 different points. If you are close to only one point, the largest you could get might be the intermediate circle. This could create a much richer surface, but also would require more attention from the designer.

When you are happy with your pattern, you can reference it into a Rhino massing model, or you could try doing something with the vegetation (which is very important in this project). Maybe in the future I’ll do some more on this, but I hopefully the idea comes across. Of course, now you can’t use this exact idea again or else you’ll be considered a hack! but the logic has many other potential design applications.

Comments
9 responses
hello, now my congratulations on your site. clean and pleasant to visit.
I wonder if there would be a chance to tutorial in video this exercise. Im new to the world of grasshopper and tried to reproduce the exercise but never got it to work.
berst regard
Hi! Thanks for visiting the site and glad you enjoy it. I may add some video tutorials in the future…i did some already for many of the early exercises for my class, but I haven’t done one for the Keio Roof yet. i will send you an email though if I get around to doing it! Best, Joseph
thanls for the reply. not wanting to bother, there is the possibility to share the definition? i am developing my thesis and would like to use something very simi, changing certain things. if possible leave you my email.
Big Hug
What is the “con” component? I can’t find it anywhere? I’ve never heard of it before.
This script image is from an older version of Grasshopper. Sorry! The “Con” component is now Called “Point in Curve”, abbreviated to “InCurve”
haha, funny to read this. he was a professor of mine at GSD, and has clearly stated that he hates grasshopper (maybe not so much for paving pattern).
I remember doing a large scale planting scheme started with grasshopper, and he absolutely hated it, and of course I had to stated over implementing more than 2000 trees manually (and i have to say, pattern looks much better done manually lol)
It’s great to see the grasshopper process of his Keio roof though! Thank you for sharing!
Thanks for your story! It would be interesting to see your Grasshopper plan vs. your analog plan, and what your logic for each was, as a comparison.
But yes, I agree it is often harder to make a convincing pattern in GH than by using an analog logic. Some of the most interesting drawings, however, come from people who do hand drawings, but with the discipline of a computational process.
i guess the question for him and as well as for me is that: is it possible to find a logic for atheistic?
Very nice blog you have there, Joscalg. I’d like to congratulate you for that.
I’d like to ask you a few questions about some of your GH definition, if you would. I can’t find a way other than that to contact you privately. You can also contact me via my personal email you just had in the form.
Regards,