Calculation of the center of a circle given two points and one tangential angle?

Suppose a circle in a 2 dimensional plane, given two points on the circle, i.e. $(x, y)^T, (x', y')^T$ and the angle between the tangle line at $(x, y)^T$ and horizontal axis is $\theta$. We have the coordinates of the center of the circle as follows

$\begin{pmatrix}x_c \\ y_c\end{pmatrix} = \begin{pmatrix}\frac{x + x'}{2} + \frac{1}{2}\frac{(x-x')\cos(\theta)+(y-y')\sin(\theta)}{(y-y')\cos(\theta)-(x-x')\sin(\theta)}(y - y') \\ \frac{y + y'}{2} + \frac{1}{2}\frac{(x-x')\cos(\theta)+(y-y')\sin(\theta)}{(y-y')\cos(\theta)-(x-x')\sin(\theta)}(x' - x)\end{pmatrix}$

How to derive this formula ? The only hint that "this results from the center of circle lies on a ray that lie on the half-way point between $(x, y)^T$ and $(x', y')^T$ and is orthogonal to the line between these coordinates. "

: From the diagram, $$\frac ap=\tan(\theta-\alpha)=\frac{\sin\theta\cos\alpha-\cos\theta\sin\alpha}{\cos\theta\cos\alpha+\sin\theta\sin\alpha}$$

Furthermore, $$a\cos\alpha=\frac 12(x-x')$$ and $$a\sin\alpha=\frac 12(y-y')$$

Hence $$p=a\frac{(x-x')\cos\theta+(y-y')\sin\theta}{(x-x')\sin\theta-(y-y')\cos\theta}$$

Now $$\overrightarrow {MC}=\left(\begin{matrix}-p\sin\alpha\\p\cos\alpha\end{matrix}\right)$$

And $$\overrightarrow {OM}=\left(\begin{matrix}\frac 12(x+x')\\\frac 12(y+y')\end{matrix}\right)$$

From which the result follows immediately.

Are you sure this formula is correct? it should have symmetry in $x$ and $y$, so the first term in the $y_c$ term should involve $y$ values.

Testing $(x,y)=(2,0)$ and $(x',y')=(0,0)$ doesn't give the right answer....

• Sorry, I had a typo there. The formula is revised. – Xingdong Jun 3 '15 at 13:18

I can get this formula but only if the bracket at the end of the expression for the $x_c$ coordinate is $(y'-y)$ rather than the way you have given it. is your formula correct?

• Yes, the formula is correct. Do you use the parametric form of the line to express it ? – Xingdong Jun 3 '15 at 16:27
• Hmm I will have to check my working. I just used trigonometry. If I het a chance I will post a solution soon. – David Quinn Jun 3 '15 at 17:31