 # Arc of known length between two points

This seems so simple, but I can’t figure out how to do it I have an arc of known length (but unknown radius) that I want to strike between two points of known separation. The arc length is 920mm. The points are 840 apart. How do I fit the arc to the two points?

Here is an online calculator to determine the radius: enter the arc length and chord length = 628

http://www.cleavebooks.co.uk/scol/calsect.htm

HTH
(UK Rhino Reseller)

1 Like

And here is a slightly more accurate calculator: http://www.handymath.com/cgi-bin/arc18.cgi?submit=Entry

Keith

IMO this could be a good option to add to the Arc command

1 Like

I was surprised that I couldn’t do this within Rhino. I can acheive all of the elements, but not combine them within a single command. It looks like it would be simple to add it to the command line options for Arc, 3 points.

Here is a RhinoScript based on Newton’s Method: http://www.1728.org/newton.htm

NewtonsArc.rvb (883 Bytes)

Please let me know of any changes required or if you need this converted to Python.

(UK Rhino Reseller / Scripting and Support)

``````Option Explicit
'Script written by <Keith Reffell>
'Script version 23 May 2016 07:55:53

Call Main()
Sub Main()

Dim arc
arc = rhino.GetReal("Enter Arc length") / 2

If isNull(arc) Then
Exit Sub
End If

Dim chord
chord = rhino.GetReal("Enter Chord length") / 2

If isNull(chord) Then
Exit Sub
End If

Dim n
n = chord / arc

Dim x1
x1 = 1 - ((Sin(1) - (n * 1)) / (Cos(1) - n))

Dim x2
x2 = x1 - ((Sin(x1) - (n * x1)) / (Cos(x1) - n))

Do While round(x1, 6) <> round(x2, 6)

x1 = x2
x1 = x1 - ((Sin(x1) - (n * x1)) / (Cos(x1) - n))
x2 = x1 - ((Sin(x1) - (n * x1)) / (Cos(x1) - n))

Loop

This script can be very useful. 