Therein lies the entire problem. Discontinuities are an artefact of a flawed model and do not truly appear in nature.
The whole problem would go away if we counted in base pi and went back to having no zero. --- In [email protected], "Gordon Smith" <[EMAIL PROTECTED]> wrote: > > That would be a bad idea because it would lead to discontinuities. The > function should be smooth at pi/2, pi, etc. > > - Gordon > > ________________________________ > > From: [email protected] [mailto:[EMAIL PROTECTED] On > Behalf Of Guido > Sent: Monday, September 17, 2007 1:46 PM > To: [email protected] > Subject: Re: [flexcoders] Math.cos...? > > > > Math.cos() (and every other trig function) should check the argument > being PI (or any other of its own constants) before calculating, since > it would better reflect the mathematical function and maybe even save up > on some performance. > > > On 9/17/07, Gordon Smith <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > > wrote: > > > > In addition to Math.PI not being able to store the exact value > of pi, the computation of trig functions involves approximations. For > example, one definition of a cosine is in terms of an infinite series, > and a computer can't calculate an infinite number of terms. Even if the > argument passed to Math.cos() is exact, the result generally won't be. > > - Gordon > > ________________________________ > > From: [email protected] > [mailto:[email protected] <http://yahoogroups.com> ] On Behalf > Of Jon Bradley > Sent: Sunday, September 16, 2007 2:49 PM > To: [email protected] > Subject: Re: [flexcoders] Math.cos...? > > > That's pretty much it. > > > To a computer Math.cos(Math.PI/2) is not 0. It's really close to > 0, because PI is an infinite sequence and a computer can "only" store it > as a double precision floating point number (ie, a fixed value). > > What you get back from this calculation is the error bound of > the computer basically, which you can then use for numerical > calculations, ie, MathLib.ERROR_BOUND = Math.cos(Math.PI/2). Then you > can feasibly use if you need numerical accuracy. > > IE, if result == MathLib.ERROR_BOUND, result = 0. > > Numerical accuracy in AS2 is not equivalent to that of AS3. I > ran into this while porting the Mersenne Twister algorithm to AS2 - I > couldn't even store 2^32 as a hex value in AS2 (0x100000000, which > equals 4294967296). > > At least we can be somewhat numerically accurate now... > > good luck, > > jon > > > On Sep 16, 2007, at 5:15 PM, Troy Gilbert wrote: > > > > Why does Math.cos(Math.PI/2) not return zero? > > Round-off error in the Math libs? It does return a value > very close to > 0 (1.7xe-17). > > Troy. >

