piclist 1998\11\20\080937a >
www.piclist.com/techref/method/math.htm?key=sin
BY : Peter L. Peres email (remove spam text)

On Wed, 4 Nov 1998, Scott Dattalo wrote:

{Quote hidden}

No, it's an incremental algorythm that computes the y for a given x in a
Cartesian space such that when x varies from 0 to N y is the corresp.
sinus. If you plot x,y as you calculate them you obtain 1/8 circle.

There is also one for ellipses, straights and some more stuff. Look it up,
you will like it VERY much, I am sure ;)

> equiangular) steps. If that's the case, then it's not too unsimilar to the
> goertzel algorithm. The problem I've found with the goertzel algorithm is

I don't know the Goertzel. I'll look it up.

> that round off errors gradually increase to the point where sines and
> cosines are no longer produced. If you're computing a few cycles of sines
> and cosines, then the goertzel algorithm is great: it's fast and
> efficient.

Nono. The Bresenham computes nicely. The only problem is the joinery for
1/8 circles which includes a parity problem and must be solved separately
(for 1 point per circle).

> And I suspect because of round off errors you'd have to repeat this
> quarter circle calculation every quarter of a circle - unless of course
> you store the results in an array. But if you do that, you might as well
> implement the array...

It's incremental, mister. You compute it for 1/8 circle = 1/8 sine = 45
degrees. The trick is, that it does not yield a sine directly, but the
sine is included in the result (already scaled and integer). I'll try to
elaborate on this. imho this algorythm can divide the required table space
for a 1/4 sine by 4. On a PIC this should be significant. Later.

Peter

<Pine.LNX.3.95.981105174418.736A-100000@plp4.plp.home.org>