Draw a curve of the given length passing through 2 points

I have 2 given points, the problem is how can I draw an arc through these 2 points with the given arc length, for example I want to draw an arc with length 10.20.30

Hi @dinhchien2103,

You can’t draw these arcs directly in Rhino because you have too many unknowns (radius and angle) to solve the curve equation. However, you can generate them in Grasshopper using the Galapagos solver to try different values until you get a solution.

Here’s an example where I have three pairs of start and end points and want them all joined with 50mm long arcs - I used an unsophisticated Grasshopper program to generate the arcs:

To use this, set an arc length, set StartPt and EndPt to a pair of points in the Rhino Top view, double click on the Galapagos component and go to the Solver tab in the panel that opens. Click on Run Solver. When the solver finishes, bake the arc component into Rhino. Repeat for each pair of points and length that you need. The Move slider is adjusted by Galapagos.

You could adapt this program to your needs, for example by changing the plane of the move vector so you are not limited to the top view, or changing the slider ranges to allow more arc sizes.

Remember there are actually two arcs for each pair of points. If you want the other one you can mirror the generated one, or you could adjust the program to give you more sophisticated generation options.

ArcsExample.3dm (49.5 KB)
arcsOfSpecifiedLength.gh (17.5 KB)


1 Like

tks very much.