algorithmic modeling for Rhino
Hello all,
I'm glad to be one of grasshopper community :)
I've just begun a project on patterning
but I've got some obstacles in scripting
I need to fill the black area with a gradient of squares in which their width ranges incrementally (0.2,0.4,0.6,0.8,............ so on)
and the distances between the squares ranges from 0.1 and its multipliers
how can i add this in the script and at which stage
Thank you
Tags:
hello maiabdelsalam,
I am afraid your description is not very clear.
You have posted a definition with attractors defining the size of the squares. Yet in the description you say you want the squares' size to range incrementally. the first question is:
incrementally in which direction?
-Near or far from attractors?
-top to bottom?
-left to right?
You also ask for the distance between the squares to vary. Do you mean like the squares on the left of your drawing? This is just linear though. How would this pattern grow in 2 dimensions?
I can't see how you can achieve both these conditions in x and y axis.
Maybe you could post a simple sketch of what you have in mind? Like a rectangle filled with the pattern you want. Then it will be easier to get some help.
cheers, nikos
hi maiabdelsalam,
This is what I understand you want:
create a 1mx1m grid on the floor area and scale down the grid cells around the attractors from 1mx1m to 0.2mx0.2m.
The only thing that doesn't fit is the gap distance. Instead of 0.1/0.2/0.3/... it is 0.1/0.3/0.5/...
I don't know if this is a problem but changing this would require each attractor to alter the grid around it and with multiple attractors this would become too complicated (if not impossible).
So here is the definition that does the above, hope it's ok.
That is with 4 attractor points. If you want to change their number you should modify the red group of components accordingly.
good luck with your project,
nikos
Hello Nikos,
That's wonderful, It is very near to What i'm thinking of :)
Many thanks again
Regards,
Mai
Is it applied on 1m * 1m only
what If I tried to decrease the spaces between grids ?
the 1m*1m grid came from your sketch. The final square that has a gap from a neighbor square is 1m*1m. So I assume that outside this square, all squares are 1*1 and touch each other. If you want a different grid you will have to change all the sizes of the squares I guess.
The main problem with your requirements is that if you apply these numbers then you can't use a normal grid (the squares' centers don't have the same distance from each other). You can see that in the following image (check the dimensions on the bottom)
So the question is: Do you want the attractors to deform your grid like this? And how is this possible with multiple attractors?
No, I don't want it like this
The first solution is closer.
I like this solution you did by offset (It's easier) , I was thinking in another way like filtering the squares and converting their dimension (after the effect of attractors) to the nearest value to 0.2 , 0.4 ,........so on, with a grid spaces that could vary according to a Numslider .
It's not important that the in-between spaces to be successive.It should be just multiply of 0.1
the sketch is an approximation to the idea , the last square is not supposed to be 1*1 , the series may continue to next values 1.2 and more.
I don't know if it's clear or not
In all cases, I appreciate your help
Ok, we might get it eventually,
In this definition the initial grid size can be any number with 1 decimal (1.0/1.1/1.2/...)
The attractors scale down the squares around them starting from 0.2 and going up until the reach the grid size.
Is this closer to what you wanted?
ps. I also modified the definition so that you can define as many attractors as you want without having to change anything else.
Yes exactly :) that's great
Many thanks
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by