title: Python cos(90) and cos(270) not 0
body: <p>What is going on??</p>
  
  <p>Testing out sin and cos functions to find out why I get so beautiful positioning on the wrong places when outputting my coordinates into a SVG file. So I made this test code, which I can predict what the answer is to find out why. Oddly nothing that effects the calculation it self adds this behavior but simply the position of where I'm about to stay. If the position is 0 and will become 0 after the calculation it won't work, but if position is 1 and will become 1 after the calculation it works.</p>
  
  <p>First Test:</p>
  
  <pre><code>import math
  
  cX = 2
  cY = 2
  r = 2
  
  rcX = cX + (r * math.cos(math.radians(0)))
  rcY = cY + (r * math.sin(math.radians(0)))
  
  print rcX #4
  print rcY #2
  r = 1
  
  rlX = rcX + (r * math.cos(math.radians(90)))
  rlY = rcY + (r * math.sin(math.radians(90)))
  
  print rlX #4
  print rlY #3
  r = 4
  
  flX = rlX + (r * math.cos(math.radians(180)))
  flY = rlY + (r * math.sin(math.radians(180)))
  
  print flX #0
  print flY #3
  r = 2
  
  print r * math.cos(math.radians(270))
  print flX + (r * math.cos(math.radians(270))) #-3.67394039744e-16 should be 0
  print flY + (r * math.sin(math.radians(270))) #1
  </code></pre>
  
  <p>Now I change cX to 3 and it works even if it doesn't effect the calculation which is:</p>
  
  <pre><code>r * math.cos(math.radians(270))
  </code></pre>
  
  <p>The result of that calculation is added to the x coordination</p>
  
  <pre><code>import math
  
  cX = 3
  cY = 2
  r = 2
  
  rcX = cX + (r * math.cos(math.radians(0)))
  rcY = cY + (r * math.sin(math.radians(0)))
  
  print rcX #5
  print rcY #2
  r = 1
  
  rlX = rcX + (r * math.cos(math.radians(90)))
  rlY = rcY + (r * math.sin(math.radians(90)))
  
  print rlX #5
  print rlY #3
  r = 4
  
  flX = rlX + (r * math.cos(math.radians(180)))
  flY = rlY + (r * math.sin(math.radians(180)))
  
  print flX #1
  print flY #3
  r = 2
  
  print r * math.cos(math.radians(270))
  print flX + (r * math.cos(math.radians(270))) #1
  print flY + (r * math.sin(math.radians(270))) #1
  </code></pre>