I’ve been working on an expression within Grasshopper that allows me to scale circles from a center outwards, creating a blurred effect. However, I’m looking to incorporate variations into this design by using different shapes or patterns. I’ve attached an image of the basic pattern I want to use.
My goal is to replace the circles in my design with the shape you see in the attached photo. I’d like to achieve the same scaling effect for this shape as the circles in my current expression.
Could anyone provide guidance on the feasibility of achieving this and how it could be done? I would greatly appreciate any help in this regard. Looking forward to your suggestions
Use far less points when working on models like this until everything works as desired. Then you can crank up the point density. I reduced your count slider from 300 (90K points!!) to 30 until I was satisfied with my algorithms, then bumped it up to 100 (10K points) for this image. I also tried 300, of course, but the circles and “leaf patterns” overlap and look messy. What’s the point? And it’s SLOW.
I added a ‘cull circles by Min Radius’ feature (yellow group) because they get so small at the edges you can’t see them anyway. This could be done instead with a proper ReMap domain, as you did with rotation angles, but you don’t have one for circle radius.
I created the “leaf pattern” in place at each point (‘Leaf Angle’, blue group), though it is faster to use Orient and Scale as @magicteddy did - unless you want to modify the pattern as a function of distance from the center, as you did with radius and rotation.
I did that (blue group) without a Graph Mapper and added ‘rotate circle planes’ (orange group) that rotates the base plane for all circles, which makes sense for leaf or star patterns, not circles. The first image below shows both effects:
If you implement ReMap for the radius Graph Mapper output (as you should!), the yellow group and three Cull Pattern components that it feeds can be deleted. I might have done that but noticed that you modified the default ‘0 To 1’ domain of both graph mappers, which is always a bad idea as far as I’m concerned because it hides an important detail.
You’re welcome @Joseph_Oster and @magicteddy !
Yes, the truth is that the idea of this “leaf pattern” is just an example. My intention was to easily replace it, similar to what @magicteddy did. However, I find all the points you mentioned interesting, and I will incorporate them into my work.
Regarding the minimum size circle, it’s actually somewhat what I’m aiming for with this exercise – that the shape I use becomes so small that it almost disappears. Obviously, I might be able to achieve this in other ways to make the file much lighter and faster to work with. I’m currently working on that and researching as well!
Thank you very much for your help! I’ll also keep exploring to make this even more complex.
The extremely tiny patterns completely disappear, for all practical purposes, yet they consume the same compute resources as large patterns, which is a waste if no one can see them. Of course, it matters what size is intended for the final presentation.
P.S. Set the ‘Min_radius’ slider to zero (yellow group) to see them all, and notice the increased time required, especially if you enable Boundary in the green group.
This is with count = 200 and ‘Min_radius’ slider = zero. VERY SLOW!
Reset both Graph Mapper domains to the default ‘0 To 1’.
Implemented ReMap for the radius Graph Mapper.
Deleted yellow group and removed three Cull Pattern components.
Modified Shatter to use a reparameterized curve (circle) with a text panel list of ‘t’ values that results in four equal length edges for NetSurf. Way better!
Note: you can change the text panel value ‘4’ to 2, 3, 5, 6 or whatever to affect number of leaves.
This is with ‘U Count’ set to only 20, yielding 400 points.