Getting something to "run" X * Y times

I’m trying to get a graph mapper with a nosie function to output a unique value for each of my X * Y items which I managed to generate by grafting (so not just a multiplication, but unsure what it’s called in Grasshopper).

Now, I can’t wrap my head around how to get unique values before grafting, but I also can’t wrap my head around how to get the graph mapper to output the X * Y required number (and again, not just that total but in a “list of lists” or whatever it may be called).

Anyone understand my predicament and know the solution?

EDIT: I tried to graft a range onto a range but that somehow made over 35k results and crashed my computer… :laughing:

Kinda (I do hope).

You mean that you have, say, a Matrix R*C (rows, columns) of values and you apply some Noise (classic: Perlin/Simplex or some other - see snaps below ) ? An then … using N Matrices (or passes) you want the “average” noise per cell? (or the min/max or whatever) That said since any noise is random (while the min/max is defined [via a classic Remap]) … well … I can’t get the gist of the question.

Like this … but using many Matrices (or passes).


BTW: If the above are outside your goals, forget GH terminilogy (I don’t use it anyway - in real-life) and expose the issue in detail.

Oh, nothing as advanced as that! I’m really just a Grasshopper beginner:

Pattern 4.gh (22.5 KB)

I think the main issue you are facing is that the same ranges going inside the same graph mapper produce the very same final output, because there’s no “seed” value for a graph mapper: the graph is the “seed”

could you please localize in your GH definition the starting value of X and the starting value of Y that you would like to use to produce X times Y results?

and also please specify if you want those values to follow a particular graph function, or if you just want random ones?

Thanks, this helped me figure out what I needed:

image

Having said that, I don’t really understand what I’m seeing out of the mass addition here, but at least the end result looks like what I think I want…

EDIT: This is total amateur hour trial and error, but I think I had my X and Y switched and this is what I wanted… :sweat_smile:

happy you have found your way through it, even if I still not totally understand how the Perlin graph is being played by the Partial Result of Mass addition :slight_smile:

if you are looking for random values within a Range (which maybe what Perlin graph is used for) then I would go for Random component, and I would plug a different Seed for each family of variations you want to get

for instance:

Randoms.gh (12.1 KB)

Wait, how exactly do you know that each of the values mapped to a different circle is actually unique using this process? From what I can tell it’s just the product of two separate maps, there could be clashing. In fact there’s definitely clashing because each of the created lists starts with 0 and increases over a semi predictable interval.

Also this perlin mapping process seems to result in about 40 times more values than there are circles?

The attached grasshopper solution is of course wrong, but if you look in the subsequent screenshots I posted, you’ll see a series which produces unique values multiplied and paritioned in a way that produces the list of lists which has the correct amount of values.

However, if the perlin graph function repeats outside of the range I haven’t investigated. Maybe I need to remap the series to be between 0:1… I have to look into it, because right now I ended up going with a pattern which didn’t require randomness.