This may be too trivial, but I couldn't find a relevant thread on SE. Given 3 points, how one can draw an arc? Of course, I can implement a function like:
arc3[pts_List] :=
Module[{x0, y0, r, eqns, center, radius, theta1, theta2},
eqns = Table[(First@pts[[i]] - x0)^2 + (Last@pts[[i]] - y0)^2==r^2, {i, 3}];
sols = Quiet@Solve[eqns, {x0, y0, r}];
center = {x0, y0} /. sols[[1]];
radius = Abs[r] /. sols[[1]];
theta1 = VectorAngle[{1, 0}, First@pts];
theta2 = VectorAngle[{1, 0}, Last@pts];
Circle[center, radius, {theta1, theta2}]
]
and then call it
Graphics@arc3[{{1, 0.5}, {0, 1}, {-.7, 0.9}}]
But this seems to be too much effort for a standard geometrical primitive. Is there a better way?


Solvefails. – Mr.Wizard Dec 02 '16 at 23:12