Gradual size increase/decrease across horizontal axis

Hi all,

I’m working on a frit pattern that needs to fade from opaque to clear vision glass over a few different glass sizes. The simple way to achieve this would be to use a halftone pattern with a dot that starts large, and fade to nothing on the opposite end. My question is whether there is a script or grasshopper method that could achieve this. See attached image of our current randomized dot pattern that is achieved through randomly deselecting a percentage of objects across a grid. We would like to incrementally decrease the size of the dot across a horizontal axis.

Any tips?


This is going to be a Grasshopper thing so I changed the message category.

Simple line attractor. Can also be point attractor. You can also use random points as input for circle Location.

line (5.5 KB)

Thanks Tim!

I’ve got the line attractor set up with my desired dimensions and sizes. Now I’m trying to randomize that patterns a bit. Would you be able to tell me where to insert the radomizing component? I’d like to take just a small percentage of circles out from the overall grid, to give a slightly more organic grid feel. See attached def. and result

Thanks for your help!

You’re welcome. Two solutions for example.

line (10.6 KB)

1 Like

This is really great Tim, thanks. I’m having trouble getting the definition to display in rhino when the ‘cull index’ component isn’t selected. I’m sure this is a super simple fix… any tips?


Top right at the canvas is a green-white brep Icon. You can click on it to preview all or just selected components.

1 Like


I have one additional question regarding this definition you helped me out with a while back. Currently it’s allowing me an even gradient across a variety of widths (This is a frit pattern for a curtain wall by the way), but we’d like to manipulate the the gradient moves across the width now. So basically we’re trying to get a little more scope of the mid section density, while having less of the very dense. Is there a slider that would allow us to manipulate the location of the incremental size change of the dot?

Thank you if you’re able to offer advice!


2018_07_19 - Even (11.0 KB)

Presumably the change in radii is a linear one. If you want more detailed control over the progression, you will either have to run your linear values through some sort of equation, or use a Graph Mapper object. The latter allows for manual fine-tuning, the former gives you exact control.

custom (18.4 KB)

Thanks David! This works great. In my original definition i was able to allow the larger dots to overlap on the dense side. I’m having a hard time adding this back into your modification. Any tips on getting that back in?