From a beginner's doubt

How to weave branches of two lists with tree structure?One has 7 branches, the other has only 6 branches, but the result is 7 branches.
How can I make the result 6 branches, which is the shortest one in between?

How do you want your final tree to look - like this blue list?

First of all, I’m honored to hear from you. However, your example doesn’t describe the problem I’m having well enough, these lists only have single branches, while mine ones have 6 or even 7 branches. I guess we should start at the branch level and not specifically at their children. Finally, look forward to your reply.

They have multiple.

But anyway, this is all pointless without you posting some code.

texture.gh (56.7 KB)
This is the result of its ideal state, but it is full of loopholes

Oh guy, the param viewer in my figure is just convenient to observe the data structure of these two lists, and it is not really used for calculations. Well, I should upload some more images to clarify it.

Hi luctin -

No, you should internalize data when posting a .gh file.
-wim

Oh my god, I didn’t even notice this feature because I only learned Grasshopper for two days. Next, all the batteries I’ve internalized, and I don’t know if it’s okay to upload it again
texture.gh (58.5 KB)

I’m so sorry I’m just reacting now. The re-uploaded file is in my reply and WIM below

Maybe I’m overthinking that it’s too complicated, and that we should use relative items to handle diagonal connections

this is the very first thought I had:

texture_Re.gh (40.8 KB)

it works by trimming away -for each “column” of circles- the portion of cirle that is overlapped to the column of circles to its left/right depending on how you set the number slider of the Shift List:

for sure improvable :slight_smile: for instance: once you have generated the first pattern of 4 circles you can just repeat it forever without need of calculating intersections each time… which is the reason why it becomes slow for a high number of points also in the above video :upside_down_face:

1 Like

this is so coooooooool! :kissing_heart:
Thank you very much for your answer, it has benefited me a lot. And of course, thank you to the other community members who are willing to answer enthusiastically and patiently

happy to help :slight_smile:

as mentioned above, if you want to speed things up, it would just be a matter of repeating this pattern:

and probably it would just be easier to repeat that pattern based on a 1 cell basis, instead of the previous 2x2 cells basis:

here is the definition, it first creates a one-cell pattern:

then orients it for each grid point:

texture_Re_Re.gh (43.7 KB)

it’s MUCH FASTER than the previous one :+1:

1 Like

Yes. I need to keep this in mind for the future.

So clean!

I tried my hand at this:


texture_vr.gh (59.6 KB)

wanting to stray from the approach of tiling geometry that exists purely in a square tile. I thought if the arcs that are half-circles did not get broken down into quarter-circles, less geometry gets arrayed, and the process is faster. If it is or not, I don’t know, but this script allows for half tiles in the X direction. With work, it could be amended to do the same in the Y.

One thing I learned in doing this is what the Function component is good for.

1 Like