Calculate Center and Radius of Circle from 3 points on it

center, geometry

Solution

To calculate the circle parameters, have a look at:

http://paulbourke.net/geometry/circlesphere/ Look for "Equation of a Circle from 3 Points (2 dimensions)"

to determine orientation, you can use the polygon area formula:

http://paulbourke.net/geometry/polygonmesh/ Look for "Calculating the area and centroid of a polygon"

Please tell me if you need this in an specific programming language.

Problem

Could somebody please show code which would do this quickly? Assume we get three points p1, p2, p3 in left-->right order. Thus, the solution should also check whether or not the circle is valid, ie (p1, p2, p3) are counter-clockwise.

Original source