algorithmic modeling for Rhino
Hello
I am trying to place points along a curve, specifically I want the point density to increase as the curvature increases.
The method I was thinking about is to take vectors along the curve and measure the distance along the vector to the point where the curve has deviated from the vector by an X distance (or degrees) that could be determined by a slider, and place the next point there, hence where curvature is high, points are close together.
I have found this:
http://www.grasshopper3d.com/forum/topics/divide-curve-by-curvature
but it is not really what I need.
Thanks for your attention
P.S. It would be great if someone could think of a way to determine if curvature is positive or negative and have high density of points in the positive and low density where curvature is negative or viceversa.
Thanks again
Tags:
Positive and Negative curvature only make sense in 2D I think, not 3D. But it's possible to do the maths in a plane rather than XYZ world space.
The problem with adding a point and then picking the next point based on the previous one is that it requires iteration with communication between loops. Grasshopper cannot handle that. You can probably do it using the HoopSnake plugin, but I don't know how.
I don't think your algorithm will work though, curves that nearly* intersect themselves will start to skip entire loops (see attached).
--
David Rutten
david@mcneel.com
Poprad, Slovakia
* where "nearly" means within a tolerance of X, where X equals the length of the tangent vector.
Thank you for your reply.
I am unable to open your attached file, I get a "Object reference not set to an instance of an object" error message.
However, my curve is flat on the XY plane, as a matter of fact my "several curves" are contour lines and I want elements to be distributed along each individual curve in a way that "ridges" are more densely populated, and "valleys" have almost no population at all, hence the positive and negative curvature.
I would really appreciate any suggestion on how to achieve this.
Thank you again
Which version do you have?
--
David Rutten
david@mcneel.com
Poprad, Slovakia
Version August-02, 2012
Build 0.9.0006
Rhino 4 sr9
Hmm, I would have been worried if it didn't open on 0.9.0013 or 0.9.0014, though forward file compatibility was never an important consideration for GH development.
The file I posted contained a VB script that performed the iteration, but as mentioned it doesn't work very well at all because
--
David Rutten
david@mcneel.com
Poprad, Slovakia
I do realize that the method I proposed requires loops and iteration to work, therefore any suggestion that will achieve the expected result will be appreciated.
thnks
Thanks Chris,
Will use it as a base to try a few ideas
I was unable to open your .gh, so I copied it from the image, however, the Evaluate(Eval) element turns orange, did you assign any value to the F variable?
thanks
My grasshopper version was too old, I have updated it now and am able to open new .gh files, but thanks anyway
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by