# Distribute points along a 2D airfoil curve

I have a 2D curve which represents an airfoil shape, e.g, LE & TE (Leading and Trailing Edges), CC & CV (Concave and Convex).

I need to distribute points along this curve however I don't want an even distribution, I need more points on the LE and TE than I do on the CC and CV.

I would be grateful for any suggestions on how to work my work along the curve and determine whether to increase the density of points being output.

I guess it might be something to do with Rhino.CurveCurvature.

Thanks.

Keith

Views: 520

### Replies to This Discussion

Hi Keith- I guess I'd try to cook up some rule to march along the curve testing curvature- at each point mark a point and move along the curve X amount, check curvature again- if the curvature > the last point , mark a point and check again with a reduced X along the curve; if it is less curved, mark a point and move along at an increased X and check again, etc. Something like that. The increase in distance traveled along the curve can be tied to the amount of curvature, or the change in curvature...  Details to be worked out...

-Pascal

pascal@mcneel.com

Re-reading this, I think you might want to sample points according to parallel-ness of the curve tangent to the wing forward direction- the more parallel, the lower point density. But, I am not sure... this may work well on the leading edge but not the trailing- can you post an example of the desired distribution, even roughly plotted? I'm trying to think of what the rule should be...

-Pascal

pascal@mcneel.com

-Pascal

A cheap way out, to map point density to curvature, is to FitCrv the airfoil (a copy) to a really tight tolerance and then extract the edit points (EditPtOn, then select these and ExtractPt)

Or, Convert, with Output=Lines and all settings at zero except Tolerance. ExtractPt from the result.

-Pascal

pascal@mcneel.com

You can have fun with this and see the results in realtime in Grasshopper, unfortunately there is no Convert component yet, so I wrote my own with Python...  David has just added a ConvertToPolyline component for the next version of GH.

----H