List Management Question from a Newbie

Hello World! This is my first question on the forum and I am new to Dynamo, so be easy on me!

I am trying to color a surface by a distance to TWO or more points. I would like the surface to be, for instance, red if it is near a point and then a gradient to blue if it is farther away. Then, red near point two, three, four, etc. One point is easy, two is presenting a road block for me. I figure if I can get two, I’ll be able to carry it to three and four. What I have concluded so far is:

  • The surface will color according to the point it is closest to. So, if a portion of the surface is closest to Point A, then it will use the “distance to” point A as the color value to color by. If closer to Point B, use the Point B value, etc.
  • In order to do this, I:
    • created 2 lists: one for distance to Point A, another for distance to Point B
    • compared if distance from one list is shorter than the other and vice versa
    • if true, then filter by bool mask (although I’m not sure if this is the way to go) because I want all the “trues” from both lists

I think I need to merge the true values from each list without changing the order of points in the overall list. If I try to get ONLY the true values from each list, it ends up being two separate lists that, if merged, would result in the points being out of order. I also thought it might work if I told all the “false” values to be 0 and then just sum the two values at each point, from each list. I have read through the list management portion in the Primer (which has been EXTREMELY helpful, and the one thing that has actually made me start understanding Dynamo, so thank you tremendously to the makers of it), but I don’t think it quite answers this question.

Here is what I have so far:

Try measuring the distance to each point and getting the nearest:

(note the cross lacing)

Sometimes it’s easier to just break down your list structure and then rebuild it again :slight_smile:

5 Likes

Thank you for the response, Dimitar! Will give it a shot and will report back :slight_smile:

This worked perfectly - thanks again!