O = (1.8, 1.98)
B = (-0.16, 3.04)
c = Circle(O, B)
P = (1.4285957184165787, -2.2819735306997786)
a_1 = Ray(O, P)
A = Point(Circle[O, Distance[O, B]^(2) / Distance[O, P]])
b_1 = Segment(O, A)
d = Circle(O, Distance[O, A])
P' = Intersect(d, a_1, 1)
e = OrthogonalLine(P', a_1)
a = Intersect(c, e, 1)
b = Intersect(c, e, 2)
v = Point(c)
N_1 = Point(c)
M_1 = Point(c)
f = Line(P, M_1)
g = Line(P, N_1)
N_2 = Intersect(c, g, 2)
M_2 = Intersect(c, f, 2)
h = Line(v, M_1)
i = Line(v, M_2)
j = Line(v, N_2)
k = Line(v, N_1)
PN_1 = Intersect(e, k)
PN_2 = Intersect(e, j)
PM_2 = Intersect(e, i)
PM_1 = Intersect(e, h)