POV-Ray : Newsgroups : povray.advanced-users : Gaussian 2F1 Hypergeometric function : Re: Gaussian 2F1 Hypergeometric function Server Time
20 Jul 2024 00:30:03 EDT (-0400)
  Re: Gaussian 2F1 Hypergeometric function  
From: Bald Eagle
Date: 23 Jun 2024 13:35:00
Message: <web.66785bf47cb6be781f9dae3025979125@news.povray.org>
Cousin Ricky <ric### [at] yahoocom> wrote:

> Hey, at least it's not Fortran IV.

I don't recall seeing any of that - what year was that?

The last thing I tried to convert was Fortran90,  This, I believe is Fortran77.

> Although, DO WHILE was already part of the Fortran standard when this
> code was written, so I'm a little surprised to see GO TO in there.

Update:
Although we've played a bit recently with some complex number math with regard
to the Apollonian gasket, I needed quite a few more functions to do everything
required for this algorithm.  So I now have 19 macros to do +, -, *, /, ^, =, as
well as mixed complex / real operations, and stuff like conjugate, abs, log,
sqrt, and argument.

The macro runs from lines 517 to 1044, and although Fortran had inbuilt complex
number handling back in 1977, we don't have that in POV-Ray (yet).  So I had to
go through and replace all of the simple / naive operators with a few extra
lines of code calling the aforementioned complex number macros.

I still have to pick through to make sure my indenting is correct (all of the
#end directives ought to be intact, though not properly indent-aligned) and then
code my way out of the handful of GO TO statements.

Then I'll probably "just" need to clean up some floating mixed-number type
operations and whatever else trips the parser.

Then I can see if it does anything proper and useful.


I do believe that all of this somehow started with some of the mathematical
greats trying to compute the perimeter of an ellipse.  Which gave us elliptic
integrals, and then elliptic functions, and then hypergeometric functions....

- BE


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.