ω = Circle((0, 0), 1)
O = Center(ω)

Tool: Kolmá kružnica (command Kolmákružnica)
Vyber dva body
Input: B, A
Output: k

P2 = Intersect(Circle[(0, 0), 1], Line[A, B], 2)
P1 = Intersect(Circle[(0, 0), 1], Line[A, B], 1)
o = LineBisector(P1, P2)
O1 = Intersect(Circle[(0, 0), 1000], o, 1)
Diameter = Circle(O1, 1000)
A' = Mirror(A, Circle[(0, 0), 1])
B' = Mirror(B, Circle[(0, 0), 1])
Oblúk = If(Length[A] ≟ 1, Circle[A, B, B'], Circle[A, B, A'])
p1 = OrthogonalLine(A, Line[(0, 0), A])
p2 = OrthogonalLine(B, Line[(0, 0), B])
O3 = Intersect(p1, p2)
Ideál = Circle(O3, A)
k = If(AreCollinear[(0, 0), A, B], Diameter, If[Length[A] ≟ 1 ∧ Length[B] ≟ 1, Ideál, Oblúk])