title: Draw an arc between two points on a tkinter canvas
body: <p>My problem is very simple: I have two oval which centers are (x0, y0) and (x1, y1). 
  If I wanted to draw a line between them, I would simply do
  create_line(x0, y0, x1, y1).</p>
  
  <p>But I want to draw an arc between them. I'm struggling with the maths here. Here is the situation:</p>
  
  <ul>
  <li>I have these two centers: they must be part of the ellipse</li>
  <li>There is an infinity of ellipses going through these two points, but with tkinter, we can only draw horizontal ellipses. (right ?)</li>
  </ul>
  
  <p>I need: </p>
  
  <ul>
  <li>the top-left and lower-right coordinates of the rectangle that contains the ellipse</li>
  <li>the start angle and the extent of the arc</li>
  </ul>
  
  <p>I'm also thinking that maybe drawing an arc is the wrong way to go ? I could do something equivalent with a line, for which I specify a lot of points on that arc (even though it wouldn't be an actual arc)</p>
  
  <p>Edit to answer Blindman:</p>
  
  <p>With tkinter, you can define an arc like so:
  <a href="http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/create_oval.html" rel="nofollow noreferrer">http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/create_oval.html</a>
  We don't define the ellipse per se, but only the top-left and lower-right corners coordinates of the rectangle that contains the ellipse.</p>
  
  <p>How the two ovals relate to each other: they don't. You just have two oval at a random position on the canvas, and you want an arc between them.
  I want the arc joining the two centers of these ovals.</p>
  
  <p>Finally, here is an idea of what I want, in case the two oval have the same y coordinates:</p>
  
  <p><img src="https://s32.postimg.org/krn18k0i9/stackoverflow.png" alt="ellipse"></p>
  
  <p>What I want is exactly this, for any position.</p>
  
  <p>And the tkinter code:</p>
  
  <pre><code>import tkinter as tk
  
  class SampleApp(tk.Tk):
  
      def __init__(self, *args, **kwargs):
          tk.Tk.__init__(self, *args, **kwargs)
  
          self.canvas = tk.Canvas(width=400, height=400)
          self.canvas.pack(fill="both", expand=True)
  
          self._create_token((100, 100), "white")
          self._create_token((200, 100), "pink")
  
          self.canvas.create_arc(100, 100 + 10, 200, 100 - 10, extent=180, style=tk.ARC)
  
      def _create_token(self, coord, color):
          '''Create a token at the given coordinate in the given color'''
          (x,y) = coord
          self.canvas.create_oval(x-5, y-5, x+5, y+5, 
                                  outline=color, fill=color, tags="token")
  
  if __name__ == "__main__":
      app = SampleApp()
      app.mainloop()
  </code></pre>