Find circle from normal vector and second point

911 Views Asked by At

I'm given two points on a circle:

  • a point $(x_1, y_1)$ with corresponding normal vector $(u_1, v_1)$ and
  • a second point $(x_2, y_2)$ (without normal vector).

How can I compute the circle? (Especially the radius. The center is rather trivial.)


My thoughts so far:

The first point with normal vector defines a straight line containing the center. So I'd need to find the point $(x_c, y_c)$ on that line having the same distance $r$ to both given points.

1

There are 1 best solutions below

1
On BEST ANSWER

The centre is given by the intersection of the lines $l_1(t) = \left ( {x_1+x_2\over 2}, {y_1+y_2\over 2} \right ) + t(y_1 - y_2, x_2 - x_1)$ and $l_2(t) = (x_1, y_1) + t(u_1, v_1)$

The first line is the perpendicular bisector of the segment joining $(x_1, y_1)$ and $(x_2, y_2)$ and the second line is the is the line passing through $(x_1, y_1)$ along the direction of the normal vector, You may solve for $$l_1(t_1) = l_2(t_2)$$ and find $t_1$ and $t_2$ by equating the components of the vector on both sides of the equation to find $l_1(t_1)$ which is the position vector of the center of the circle.