Page 1 of 1

Cosine

Posted: 01 Dec 2019, 22:38
by marcelk
My favourite method to do cosines and sines with just integer math.

Code: Select all

'Plot cosine
10 cls
20 input p:if p<1 goto 20
30 u=50*100:v=0:c=0
40 for x=0 to 159
50 y=68-u/100
60 poke y*256+x,c
70 u=u+v:v=v-u/p
80 next x
90 c=c+23:goto 40
Cosine.jpeg
Cosine.jpeg (166.19 KiB) Viewed 11928 times

It's stable in the sense that it seems to maintain its amplitude and period over many dozens of iterations. I'm always surprised that whenever I change line 70 to follow the "proper" update order, it immediately goes awry.

Code: Select all

70 t=u:u=u+v:v=v-t/p:'Bad