Two point curve with restricted length how to?

unhandled

(Juanstefani) #1

I have two points and I want to connect them with a bezier curve. The curve must have a certain length.

I need these for pattern making. So I need to be a certain length to match the lenght of other curves.


(David Rutten) #2

There will be an infinite number of solutions if you allow the two interior bezier points to be fully variable. If you restrict yourself to arcs within a plane, there’ll be only two solutions (or exactly one, or zero depending on how far apart the end-points are). What sort of additional constraints do you want on your bezier? Tangent directions? Symmetry?

Either way, the length of a bezier does not change linearly with control-point positions, so there will not be an analytic solution. But you may still be able to get an acceptable answer by generating N bezier, plotting their lengths and intersecting that plot with the desired length. That does require you simplify your problem to a single variable though, rather than the 4 variables you have now.


(Juanstefani) #3

Hello David!

I need the curve to be in a plane, and restricted by a vector director on each point.

These is for making patterns for bags where you have to match a straight line with a curve. and the curve has to have the same lenght.

I don t know I I made myself clear.

Thank you!


(David Rutten) #4

Locking down the end-points and the tangent directions reduces your problem to 2 variables, still giving you a whole family of solutions.


(Juanstefani) #5

Well I need just one. jajajaja


(Juanstefani) #6

I would like to know them and choose one


(David Rutten) #7

Here’s a file for creating a bezier from a 4-point set, with control over tangent lengths: bezier_curve.gh (15.4 KB)

And here’s that file embedded as a cluster into another file which generates a whole bunch of solutions with different tangent lengths, measures all the resulting bezier lengths, plots that data as a mesh (x = start-tangent-length, y = end-tangent-length, z = bezier-length) and intersects it to find the family of bezier curves that are all equally long: bezier_curves.gh (17.6 KB)


#8

Start with a model - any model!


(Juanstefani) #9

Hello Joseph where do you input the lenght of the curve_


#10

You don’t! Curve length is a result of start/end points, vector directions and magnitudes.


(Juanstefani) #11

If I have 2 points start and end and I have 2 vector directions for each point, I need the curve to be x long. Magnitud can change.


#12

Make your own model! Post the model if you have a question about it.