Overlapping Point Areas, Seperation

Hi, you can see a grid of points. I am trying to extract point fields from the main grid (rectangular). When it comes to an overlap of the fields, I have to separate the fields from each other. There are some different intersection variations possible, that you can see at the bottom of the Rhino window. I would like to receive one of all possible variations. Maybe there is the possibility of selecting randomly which fields are intersecting with each other.

I tried to do it with the “set intersection” or “set difference” components, but unfortunately, it does not work.

Thanks for your help!

190708-GHQuestion.gh (36.6 KB)

This “grid” pattern (a flat list of points) looks familiar:

But this description of your goals makes even less sense to me than the other thread, which wasn’t easy to understand. “point fields”? “Attractors per Curve”?

The rectangles shown in your image are nowhere to be found in your GH model. Seems to me they would be extremely useful for whatever you are trying to accomplish? Much more so than trying to pattern match “Attractors per Curve”, whatever they are?

It sounds to me like you could use help earlier in the process, formulating a better strategy to get what you really want, instead of painting yourself into a corner and asking for help with a contrived and difficult set of conditions.

The rectangles are just helping to visualize the three point fields that you can find at the end of the definition (Tree with three branches). You can see in the Rhino window, that all three groups are overlapping. I just want to know how to separate them. The four configurations at the bottom of the Rhino window are describing different variations of seperating the fields.

This image shows three “point fields” at the end of your model (two in blue, one in yellow). They don’t match the rectangles in your opening post. The question and code are too vague for me, sorry.

I try it until it is clear:

The picture below shows the overlap of three different “point fields”. At the yellow colored areas, the points are doubled.

Here you can see one option of separating the three fields.
B ![A|690x337]

The first question is how to find the duplicated points and sort them to one of the two corresponding, overlapping fields. In this case corresponding meas " field0 & field 1; field2 & field1"

I really hope that I can make it clear to you.

I get the general idea but your diagrams don’t match your data and I stand by my earlier comment:

Do you understand the BBox (Bounding Box) in my post above? Note the “Union Box” option is enabled to include all the points in each branch/list of the tree. Oh, and without specifying which variation of overlap/exclusion you want, the problem is just too vague.

Yes, I understood your idea of using bonding box (union), but I do not know how this can help me in my case.

I found a topic at the old forum that shows exactly in the first picture what I am trying to receive. The difference is that I would like to do that with points.

The only difference is that they subtracted the striped areas from all surfaces. I would like to subtract the overlap from one of both corresponding fields and add it to one of them.

This is how:

190708-GHQ_2019Jul8a.gh (43.5 KB)

But again - and I can’t emphasize this strongly enough - solving this much earlier in the model would be preferable.

I think that I could find the problem. Our defintions are different. I send you back the definition I refered to in my comments above. Please try to understand again what I meant with help of this defintion:

190708-GHQ_2019Jul8a-BACK.gh (35.9 KB)

No sir! It is you who needs to understand.

And there is a literal edge case in the code I posted above, where points on the edge of overlapped areas are included in more than one region when culled by “≠ 0”:

Fixed by using “= 2” instead, with the side effect that all edge points are excluded:

190708-GHQ_2019Jul8b.gh (44.3 KB)

Good luck!

1 Like

I’m done. It’s up to you whether or not you understand the code I posted.


Luckily, after my third visit Mr. Fujii invited me to be his student, and in 1996 he and I built a taraibune (tub boat). I knew almost no Japanese at the time but ironically this was not an obstacle, because Fujii, like all of my subsequent teachers, forbade talking in the workshop. My next uncomfortable lesson was understanding that I had to learn by observation alone. After work there might be time set aside for questions, but there was no teaching method. Rather there was a learning method, one the apprentice bears total responsibility for.

Maybe we should ban writing in the workshop (forum)? :wink:

@Joseph, you do have interesting takes on things, also about the learning process (interesting indeed).

But not all of us are exactly like you, not in size, not in shape, not in the way of thinking, and we also learn differently (which also depends on what level one is starting from).

I also couldn’t understand the OP in this case, but if I engage in a question I commit myself to asking for specific clarifications until things becomes clear to me. But the worst thing you can do is to begin with insulting someone asking a question.

To make my point very clear; While you gave one example of a learning method based on “no talking” (implying no questions asked by the student nor the teacher) there are also other very different methods out there. For example in Jewish tradition the teacher is asking so intelligent questions so that the student himself finally draws the conclusion, without anyone explaining the details for him.

I hope you see the point(s):

  • Questions-based teaching (opposite to your way)
  • Teacher ask the questions, student draws the (intended logical) conclusions (opposite of your way).

I didn’t practice this last method in this post, because the implication here is a different one which I leave to you (Joseph) to figure out.

// Rolf

1 Like

Hi, just one more question. I tried several ways of getting the edge points inside the fields, but it does not work. Did you know a way?

I have no idea what you tried but InCurve obviously does work, as shown in the code I posted. I just don’t know what more to say, sorry.

As I said before, if your code contained the rectangles (instead of deriving them as I was forced to do using BBox), it would not be difficult to use them to get what I think you want.

I upload my definition that consists of the generation of my fields. Maybe you know a better way how to define the fields, while keeping in mind to subtract the fields from each other when it comes to an overlap. As you mentioned, it could be easier when you know my beginning.

It is important to me that the fields are connecting directly together when it comes to an collision of the fields.

190713GHQuestion.gh (64.1 KB)


I still see no rectangles anywhere in your code. I will not respond any further.

You are right. There is no rectangle because I just have point fields, that are not generated by boundary curves. I can make rectangles from the point fields and put them into a region difference if you want. Here you go:

190713GHQuestion(a).gh (62.5 KB)