python math problem

Joel Goldstick joel.goldstick at gmail.com
Fri Feb 15 14:49:29 EST 2013


On Fri, Feb 15, 2013 at 2:39 PM, Kene Meniru <Kene.Meniru at illom.org> wrote:

> I am trying to calculate the coordinates at the end of a line. The length
> and angle of the line are given and I am using the following formula:
>
> x = (math.sin(math.radians(angle)) * length)
> y = (math.cos(math.radians(angle)) * length)
>
> The following are sample answers in the format (x, y) to the given
> length/angle values of the line:
>
> 120/0  = (0.0, 25.0)
> 120/89 = (24.9961923789, 0.436310160932)
> 120/90 = (25.0, 1.53075794228e-15)
>

This is not a string, it is scientific notion for 1.53... times 10 to the
-15th power.  Because of rounding errors caused by doing floating point
math on in binary, you get a very small number instead of 0.

> 120/91 = (24.9961923789, -0.436310160932)
>
> Why am I getting a string number instead of the expected answer  for 120/90
> which should be (25.0, 0.0). This happens at all multiples of 90 (i.e. 180
> and 270)
>
> --
>
> Kene
> ::::::::::::::::::
> KeMeniru at gmail.com
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>



-- 
Joel Goldstick
http://joelgoldstick.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130215/ec81fd63/attachment.html>


More information about the Python-list mailing list