title: Circle estimation from 2D data set
body: <p>I am doing some computer vision based hand gesture recognising stuff. Here, I want to detect a circle (a circular motion) made by my hand. My initial stages are working fine and I am able to get a blob whose centroid from each frame I am plotting. This is essentially my data set. A collection of 2D co-ordinate points. Now I want to detect a circular type motion and say generate a call to a function which says "Circle Detected". The circle detector will give a YES / NO boolean output.
  Here is a sample of the data set I am generating in 40 frames<img src="https://i.stack.imgur.com/TI0Mv.png" alt="The x, y values are just plotted to a bitmap image using MATLAB"> </p>
  
  <p>The x, y values are just plotted to a bitmap image using MATLAB.
  My initial hand movement was slow and later I picked up speed to complete the circle within stipulated time (40 frames). There is no hard and fast rule about the number of frames thing but for now I am using a 40 frame sliding window for circle detection (0-39) then (1-40) then (2-41) etc.
  I am also calculating the arc-tangent between successive points using:</p>
  
  <pre><code>angle = atan2(prev_y - y, prev_x - x) * 180 / pi;
  </code></pre>
  
  <p>Now what approach should I take for detecting a circle (This sample image should result in a YES). The angle as I am noticing is not steadily increasing from 0 to 360. It does increase but with jumps here and there.</p>