Dividing a surface into a number of equal area surfaces


(Jared Parker) #1

I’m new in to GH so I’m not sure if this is a doable task.

I have a circular surface that I’m dividing into five equal sections.

I want to further subdivide these surfaces into a set number of equal area surfaces. I’ve done this without success as seen below.

I want these surfaces to each share a certain point (not the centroid) that is defined by projections of points onto these surfaces.

I want to continue to do this a set number of times. It is important that the points don’t have to be the centroids.

Eventually I think I need to figures out a way to loop this process.

Help would be really appreciated. I’m in a bit stuck on how to figure this out.

(Jared Parker) #2

Also, I eventually need this same process to be done to a “dome” shaped mesh or surface. That would be extremely helpful!

(Andy Vanmater) #3

This problem is no joke and you started out with perhaps a harder problem than the dome or the looping. I have attached my finest attempt to use galapagos to reduce the difference as much as possible. Unfortunately once you start dealing with trimmed surfaces a looping routine becomes non-trivial because the domain changes. To get around that I rebuilt a guide surface from the points of the brep. This is not a good method but it does work for the first generation of splits.That’s it though, After the first split the method you choose to connect the “center” point to the edges can differ so much that computing an equal area solution might not even be possible.So like I said before, not a good solution. Good luck

On a different note, there is a topological benefit with spheres (domes) and mathematicians might be able to help you with papers like this: https://www.sciencedirect.com/science/article/pii/S0898122114000133 or https://maths-people.anu.edu.au/~leopardi/Macquarie-sphere-talk.pdf
Your 5 part thing isn’t going to help you but I understand that as a design thing and not so flexible (but if it is than you should switch to something that doesn’t require a search algorithm and has regular tiling)

Ultimately what you’re doing is equal area panelization. There are a lot of brilliant people on here and many have dealt with this in one respect or another. Search here and at the old site for that. Code is likely the answer and I will probably continue to think about this so I’ll let you know if I come up with anything.EqualAreaPanelize.gh (23.3 KB)

Also this: https://www.youtube.com/watch?v=GNcFjFmqEc8&t=

(Jared Parker) #4

Wow! Thank you for all of this information. It’s important to the process I’m developing, but it isn’t as important as being able to loop the process or doing a similar division on a dome surface.
I need to quickly subdivide the surfaces again (a predefined number of times), which will generate new locus points for the divisions.