Post Reply 
(12C Platinum) Length of An Ellipse
07-07-2019, 05:44 AM (This post was last modified: 07-07-2019 05:47 AM by Gamo.)
Post: #1
(12C Platinum) Length of An Ellipse
Calculate the Length of an ellipse according to this series formula:

   

   

-------------------------
Example: FIX 5
a = 50
b = 10

50 [ENTER] 10 [R/S] display 210.08595

------------------------
Program: RPN mode: "Program run this formula in three terms"
Code:
 
001 STO 2
002 R↓
003 STO 1
004 RCL 2
005  -
006 RCL 1
007 RCL 2
008  +
009 STO 3
010  ÷
------------
011 STO 0
012 X^2
013  4
014  ÷
015  1
016  +
017 RCL 0
018  4
019 Y^X
020  6
----------
021  4
022  ÷
023  +
024 RCL 0
025  6
026 Y^X
027  2
028  5
029  6
030  ÷
---------
031  +
032  3
033  5
034  5
035 ENTER
036  1
037  1
038  3
039  ÷
040 RCL 3
041  x
042  x

Gamo
Find all posts by this user
Quote this message in a reply
07-07-2019, 10:35 AM
Post: #2
RE: (12C Platinum) Length of An Ellipse
Attached a number of approximations & infinite series to calculate the perimeter of an Ellipse.


Attached File(s)
.pdf  Perimeter of an Ellipse.pdf (Size: 581.42 KB / Downloads: 11)

Denny
Visit this user's website Find all posts by this user
Quote this message in a reply
07-07-2019, 04:06 PM
Post: #3
RE: (12C Platinum) Length of An Ellipse
(07-07-2019 05:44 AM)Gamo Wrote:  Program: RPN mode: "Program run this formula in three terms" ...

You might consider Ramanujan's approximation, less code and almost 2 extra terms!

Replace steps 011-031 with this:
Quote:011 Enter
012 x ; h = ((a-b)/(a+b))^2
013 3
014 x
015 Enter
016 Enter
017 4
018 -
019 CHS
020 SQRT
021 1
022 0
023 +
024 /
025 1
026 + ; correction = 1 + 3h / (10 + sqrt(4-3h))

Using your example, a=50, b=10, FIX 5, we get ellipse perimeter = 210.10028, absolute error = -0.00017
Find all posts by this user
Quote this message in a reply
07-08-2019, 04:51 AM
Post: #4
RE: (12C Platinum) Length of An Ellipse
Thanks Albert Chan

That formula is much simple as stated in the link

"The simplest formula possible for the circumference of a general ellipse"

Gamo
Find all posts by this user
Quote this message in a reply
07-08-2019, 02:53 PM
Post: #5
RE: (12C Platinum) Length of An Ellipse
(07-07-2019 04:06 PM)Albert Chan Wrote:  a=50, b=10, FIX 5, we get ellipse perimeter = 210.10028, absolute error = -0.00017

FYI, absolute error based on ellipse perimeter AGM2 method:

(50, 10) repeated AGM:
→ (30 , √(500) ≅ 22.36067977), gap = 7.63932023
→ (26.18033989, 25.90020064), gap = 0.28013825
→ (26.04027027, 26.03989355), gap = 0.00037672
→ (26.04008191, 26.04008191)

effective radius = (30² - (0.5)(7.63932023²) - (1)(0.28013825²) - (2)(0.00037672²)) / 26.04008191 = 33.43852445

ellipse perimeter = 2 * pi * 33.43852445 = 210.1004455 ≅ 210.10045
Find all posts by this user
Quote this message in a reply
07-23-2019, 05:06 PM (This post was last modified: 07-23-2019 05:35 PM by John Keith.)
Post: #6
RE: (12C Platinum) Length of An Ellipse
I have tried several of these methods and I believe that Ramanujan's approximation is the clear winner. It gives 6 - 9 digits of accuracy for reasonable ellipses and is small and fast. For exact solutions, Albert's AGM2 program is fastest by far, almost 200* as fast as numerical integration on the HP 50! The Gauss-Kummer infinite series (series 2 from the PDF in post #2) looks good but the terms are very slow to compute and the program is large and complicated.

At the risk of trolling this thread I am posting HP-48 versions of the programs for those who may be interested.

Ramanujan:

Code:

\<< DUP2 - ROT ROT + DUP \pi \->NUM * ROT ROT / SQ 3. * 4. OVER - \v/ 10. + / 1. + *
\>>

For the HP 50, ROT ROT can be replaced by UNROT.

AGM2:

Code:

\<< DUP2 SQ SWAP SQ + .5 * .25 0. 0. \-> a b s t k s1
  \<<
    WHILE b a - 'k' STO s t k SQ * - 's1' STO s s1 \=/
    REPEAT a b * \v/ 'b' STO 'a' k .5 * STO+ s1 's' STO t 't' STO+
    END \pi \->NUM 2. * s * k .5 * a + /
  \>>
\>>

This is just a straightforward translation of Albert's Lua code which could be made smaller and faster by moving local variables to the stack at the cost of readability (and effort!).
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)