Grasshopper

algorithmic modeling for Rhino

Dear Fellows,

I've been struggling since few days on a ( I believe ) very simple operation.

I'd like to divide a curve, in different segments, with a minimum and a maximum value.

For example, I'd like to divide a 100m long curve in segments from 3m to 1m, that means the first division on the curve is at 3m from the starting point of the curve, and the last one 1m from the ending point of the curve. All other segments are making the transition between those 2 values. (max and min), furthermore, I'd like to control that progression in segment length change through a graphmapper...

Seems so simple and tried so many different ways, but can't achieve it...

Any help would be extremely appreciated,

Thanks in advance,

greenhophop

Views: 2430

Replies to This Discussion

I just noticed I ran the divisions from small to large when I should have done the opposite.

Attachments:

Here's the corrected file.

Attachments:

Hi Chris,

Thanks a lot for your Grasshopper file, been looking at it.

I think i explained my problem in an unclear way.My bad

I'd like the curve to be divided in segments with a length varying from a minimum to a maximum value. In a way that could be re-adjusted through the graph mapper.

For example, the 100m line is being divided in multiple segments length, varying from 3m on a side, gradually to segments of 1m long.

I definitely can't figure it out...Seems so simple...

arg

If I'm understanding you correctly you want control of the first segment length and the last segment length and then have growth between those two lengths ...and you also want the first and last segment lengths and the growth rate to be controlled by a graphmapper component?

It doesn't sound simple to me at all. First of all this algorithm fails the 'is it always possible?' test. This does not mean anything concrete, it's just typically an indicator that a fair amount of conditional logic and possibly even iteration/recursion is required to solve it. If you have a curve that is 3.5 units long and you want to divide it with the first segment being 3.0 and the last one 1.0 then there's no solution.

If the division is measured along the curve as opposed to straight from point to point then it does sound do-able, as you can then treat each curve as a straight line. However it will still be tricky because your division lengths are floating point values while your division count is an integer. However they both depend on each other. You cannot just pick any division count as that will most likely not permit a solution where all the in between segments have a length between 3.0 and 1.0. In fact, once again it is possible that there is no possible solution because one integer would result in segments that are longer than 3.0 whereas the next integer up would result in segments that are shorter than 1.0. I think. Anyway, the only thing I am sure of is that this is not an easy problem.

If you have found an algorithm already that can be expressed in plain English then please post it, but I can't come up with a good way of solving it in however long I've been thinking about this. Granted, my thinking is pretty confused today so that might not mean much.

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Geometrtic growth

I think re-adjusted through the graph mapper is difficult.
i think it needs to compensate the length factor to cover the length domain. I cannot think how to do that

maybe whit a function and not the graph mapper

Attachments:

This probably doesn't help much.  It gives a solution sometimes depending on the fixed input parameters but on a curve that is not the length of your original curve. 

Attachments:

Thanks a lot for all the replies.

Very interesting to read those. I actually realized that it's not a simple problem at all.

cheers,

greenhophop

I think I am close to a clean solution, but it still messy.

You have to make sure the 2 graph mappers are the same one (copy paste and replace)

Also it's getting late and perhaps I totally missed the point/bugs.

Attachments:

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