Cosine
Posted: 01 Dec 2019, 22:38
My favourite method to do cosines and sines with just integer math.
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
'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
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