Grasshopper

algorithmic modeling for Rhino

I am flowing onto a surface and trying to create a work around so that the proportions of my flowed geometry remain constant (or close to constant).

There are several examples of subdividing a surface into SubSrf based on an equal number of UV intervals.

My thought is to have the SubSrf's divided based on a given ratio rather than equal segments. For example, Let the number of V divisions remain 1. The U interval would be calculated based on the average V height of the U Interval.

I want to set the function of the U interval to V/3 or something similar.

We could have a problem if it is done linearly and the last interval is too short or too long. Possibly it could be done based on a weighted average so that the 'extra' space is averaged into the other intervals.

I made a sample drawing of what I am trying to achieve. See the "adjusted" version. The sections are made proportionally rather than equal...

Any ideas or sample grasshopper files? Thank you! walter.

Views: 4980

Attachments:

Replies to This Discussion

Hi,
your question is really interesting and the solution would be really useful.. I'm trying to do exactly the same thing.
Take a look to this discussion http://www.grasshopper3d.com/forum/topics/unevenly-divided-surface?... and maybe you'll have the right inspiration.
JJ found a way but the division is still based on specifical distances along the iso curves.

I want to subdivide a surface in equal dimensioned portions not of a predefined number and also populate it with equal dimensioned component. So a precise distance between patterns not an equal number of intervals.

Actually I have no idea about this type of surface control. I'm doing some experiments but...nothing done :(
Hi Walter,

It's an interesting problem indeed.
One way we can solve it is by using the definition for "equi-aerial" subdivisions, which I posted here.

Simply by adding one component, you get what you need:


The explanation why it works is a bit tricky though:

Let h be the average "height" of a subsurface, and a - the span.
We're looking for such a division, that for every SubSrf the a/h ratio would remain the same.
Now let's imagine a "hyphotetical surface" that has the "height" inverted at every single point.
For this new surface h' equals 1/h.

And now the interesting part:

Let's divide this new surface into equi-aerial subsets.
Each one has an area of a*h' which equals a*(1/h) = a/h - making our ratio constant.

So we can use the intervals of these subsets to divide our base surface in the desired way.
Attachments:
Hi Jacek -

So nice! Thank you! I have had a bit of time to work on a solution as well. Attached is today's latest version. The outputs are remarkably similar, though I think yours is more precise.

Rather than area, it calculates the lengths of a bunch of isocurves, then groups them into the same number of subsets as panels. Using the average isocurve length for each subset, it assigns the subset a value/percentage of the whole surface.

I am going to try adding a UV toggle/ I had not figured out how to do that yet.

ty again.
walter.
Attachments:
regarding to your post, equi-aerial is the best way.
Amir Aafzali, (aa)
Hi Amir -

Can you explain how the equi-aerial approach is better than averaging isocurve length? I had a feeling this is true but have not grasped why.

Thank you,
w

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service