Grasshopper

algorithmic modeling for Rhino

i have a 2 lists of numbers as follows. i would like to combine them to select uv points from surface points, and interpolate them.

i have managed to do that for 1 curve, im struggling to repeat it though.
the sequence is (0,0) (4,1) (7,4) (11,7) (14,8) that goes on as (1,0) (5,1) (8,4) (12,7) (15,8) and (2,0) (5,1) .... etc

http://www.grasshopper3d.com/forum/topics/sequencing-a-spiral?comme... is the original post where a graph mapper was suggested but i cant get close to the curve that i plotted.

http://www.grasshopper3d.com/forum/topics/shift-data-points-with-br...

this post discusses something really similar but i cant get it to work for me. can anyone please tell me where im going wrong? its frustrating to be almost there :P

i have removed everything else except that which works and have attatched it, and would really appreciate some guidance.

Views: 1896

Attachments:

Replies to This Discussion

hey man! are you able to see the surface alright though?


what im doing is dividing the v curves which should be along the length of the surface. i used the duplicate lines components because i was getting 627 V parameters and i just wanted as many as the number of V divisions. does that make sense?

ok, I got what you are trying to do.

Still, when I open the file [dupLn] is not working because it expects straight lines but it gets curves. This is a component from kangaroo plugin so it could be that we have different versions of kangaroo, or...

In my opinion, it is better to avoid components from plugins unless it is really necessary (this error I am getting kind of proves my point).

So, the reason you are getting multiple V isocurves is because you are calculating them for every point generated by [SDivide]. You can avoid that by getting only one point for every row, like this:

Another thing is that I am still getting some strange curves at the top of the surface but I will not get into this since Danny has done that already.

So, to finally get to your question,

I think if you want more control over those curves you would have to change your definition to something closer to Daniel's proposal.

Here is what I am thinking: instead of getting messy with trees, branches etc, you could take the 11 V isocurves and extend/trim each one with different values and then just divide them and interpolate curves through these points. this way you can chose to control the top and bottom of the stairs independently and get a result similar to the one you want (play around with the graph mappers and the settings in orange).

Also I added a small part at the end to remove the curves that start or end outside of the handrail (I don't know if you want that or would rather trim the parts that fall outside the surface).

Hope this definition makes sense and please get back with any questions.

Cheers,

Nikos

Attachments:

in case you are working with duplicate curves djordje has developed a very nice python component.

cheers

alex

Hey Nikos thanks for your inputs. such a silly thing that V values thing :P (shame on me!) this looks like a very interesting approach, to extend the curves at the end and then interpolate. It does allow for a degree of variation that my previous option was not allowing. There are two problems with this however.

1. i need to restrict the minimum and maximum distance of the curves  at 30<100 mm respectively.

2. i also need to repeat the cycle of waves, so i dont think that splitting the curves at the cycle change and doing this method.would be useful because this would cause overlaps right?

3. most annoying constraint that I have is that the length of the elements cannot exceed 1500. :(

so basically there is limited room to play in the extent of the wave but, there is scope in repetition.

thanks for all your help so far man! once this is done I would like to make my definition as neat and communicative as yours and share it with everyone!

i was thinking if its possible to create a gradient of points on the curves(top and bottom) from 30<100>30<100 and so on for the number of cycles. and keep the middle curve divided at 100 mm fixed and use that to interpolate?

Hey,

1. If you mean the distance between the curves, then this is easy to solve. Instead of connecting a slider on the N input of [divide] you can get the length of one isocurve, divide it by the distance you wish to have(this could be a slider), turn this into an integer and plug it into N.

2. By "repeat the cycle of waves" you mean to have this gradient change between curves multiple times instead of 1 time from bottom to top, right? This would need some thought, I might think about it later if I find the time.

3. I can't understand what you mean here. Please clarify this.

@alex: thanks for the link, it can be very useful!

1: i did that already.

2: im trying to split it into parts and do it, and will probably have to fill in the gaps manually.

3: the length of these interpolated curves between the top and bottom rail cannot exceed 1500 mm, but that i guess would be taken care of if im able to break the gradient.

in the meanwhile im trying an approach as i showed in my sketch where i create a point gradient. do you think that could work?

thanks a bunk nikos!

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