Set Points on Selected Curve Based upon Angle/Tangent


My grand plan is to have the ability to dynamically place points along a line (selected from my model) where the distance between the points is modified by the angle of the curve (e.g. distance at max at straight line and reduced along curves/bends). Fibonacci like.

My element would be a nurb curve and I’m trying to develop greater control on my point placement based upon curve characteristics.

The points in the model space give the appearance I desire but are produced by a simple number slider.

Appreciate the assistance Dynamo Community.

Hi @Sena.DuBois !
Maybe that kind of workflow could do the job :

Well…it looks like PointAtParameter is already placing points closer on the most bended parts of the curve…But to drop some points my previous workflow seems to work (to get a simplier diagram i used Curve.NormalAtParameter )


Thank you Francois. The workflow looks look a good solution to employee.
I’m still unsure why the output on my original graph had the points weighted towards the curves rather than equally spaced out. I also tried with some joined polylines in a similar shape as the ‘S’ we have been investigating but the result was a mess. I’m going to continue to progress this in my spare time until I grow my confidence in point placement along nurbscurves.

If you think of anything else or see any other threads worth looking into please share!

This is a function of how parameterization of a curve works. Each parameter is basically the vector at a given location as needed to define the shape, sort of like calculating every change in direction as you drive from point A to point B. If you speed up, it’s a new vector; if you slow down, it’s a new vector; turn the wheel, a new vector; make any change to the trajectory of the car in any way, a new vector.

Because nurbs curves are non-uniform, they allow for these changes in vectors which vary in angle and location along the curve. Conversely a uniform curve has a single vector along it’s entire domain (parameter 0 to parameter 1). Polycurves are unique in that they are built from either uniform or non-uniform curves, so parameterization will be skewed based on the types of curves involved.

This is not unique to Dynamo by any means - in fact this very analogy is borrowed from the IEatBugsForBreakfast blog authored by David Rutton which focuses more on the Rhino/Grasshopper tools offered by McNeel. It has two excellent and relevant posts on the topic worth reading. For something more dynamo centric, the topic was discussed and illustrated in the computational geometry section of the Dynamo Office Hours series, found here: https://www.youtube.com/watch?v=ATAUp2Xr1h4&list=PLdlF7MirPEC2yNFTGymESd3t7Xosfk9c2&index=6

2 Likes