Speaker mesh - increasing spacing and scale of dots within a boundary

Hi,

Grasshopper newbie here looking for some help! I’m creating a flat speaker grill and want to play around with how the dots of the grill spread from the perimeter of my surface to the centre where the speaker is located

The ideal things to control would be

  • Centre curve (blue line - where the speaker is)
  • Outer boundary curve (green line - my surface edge)
  • Spacing of dots at the centre (within blue line)
  • Spacing of dots at the outer
  • Scale of dots at the centre
  • Scale of dots at the outer
  • How quickly the dots gradiate from dense to sparse

Any help on this one would be hugely appreciated!

Thanks again,
Simon

Hi! give your rhino file

this has been done before and I believe it is done with circle packing!
Imagine loads of circles packed into that space. Smaller radii inside the blue line and gradually increasing as you move outwards.
Then put a dot at the centre of the circles!
You can do this with some tools in the Kangaroo plugin,
It has been done on this forum a lot if you search circle packing.
From the dots on a golf ball to dome structures and I’m pretty sure there was a speaker design.

https://discourse.mcneel.com/t/equal-point-spacing-within-confind-space-incl-borders/155991

The Image based circle packing tool in Kangaroo is amazing. You could create a simple graduated greyscale image which controls the radii of your circles…
Image-based Circle Packing within a polygonal limit - Grasshopper / Kangaroo - McNeel Forum

Thanks for the quick response! File attached
GH Definition.3dm (866.6 KB)

Thanks for the idea! I’ve taken a look through though haven’t found one that has the function built in where you can play with the spacing and dot size, have you seen something that exists like that? Thanks again!

Does anyone know a way that I could achieve this? Thanks all for your help in advance!

Tween curve could help, from Grasshopper, Pufferfish or Tweener


Circles.gh (20.4 KB)

Circle packing on an image can also do the job but it seems it doesn’t suit you. You’ll have to invent methods that better suit what you want.



2 Likes

Hi @laurent_delrieu , thanks for this, looks perfect for what I’m after!

Bit of a novice with GH so excuse the ignorance but I’m struggling to get the function to work - I’m inputting my boundary curves to the two curves here, is that correct?

Thanks again

As you curves hadn’t the same direction I used a flip curve.
As curves had not the same “topology” I used a rebuild curve …

So many components are just there to just take into account the “bad” (for use in Tween Curve) curves . If the 2 curves are just scaled you could surely feed directly tween curve with them.

Ways of making the curve COUNT