A = (0.7421779347265905, -0.32169419909729546)
B = (-0.7702182215609465, -0.40599168977561706)
d = hPriamka(A, B)
e = hkruznica(B, A)
f = hkruznica(A, B)
C = Intersect(e, f, 2)
D = Intersect(e, f, 1)
E = hPriamka(C, D)
S, F = Intersect(d, E)

Tool: hPriamka
Ukáž na dva body
Input: B, A
Output: hPriamka

A' = Mirror(A, Circle[(0, 0), 1])
B' = Mirror(B, Circle[(0, 0), 1])
k = If(Length[A] ≟ 1, Circle[A, B, B'], Circle[A, B, A'])
Q = Intersect(k, Circle[(0, 0), 1], 1)
P = Intersect(k, Circle[(0, 0), 1], 2)
M = If(Length[A] ≟ 1, B, A)
Obluk = CircumcircleArc(P, M, Q)
Diameter = AreCollinear((0, 0), A, B)
D = Intersect(Circle[(0, 0), 1], Line[A, B], 1)
S_P: (1000 * Rotate[D, 90°])
k_P = Circle(S_P, 1000)
P_D = Intersect(Circle[(0, 0), 1], k_P, 1)
Q_D = Intersect(Circle[(0, 0), 1], k_P, 2)
OblukD = CircumcircleArc(P_D, (0, 0), Q_D)
Nevlastne: Length[A] ≟ 1 ∧ Length[B] ≟ 1
t_{1N} = OrthogonalLine(A, Line[(0, 0), A])
t_{2N} = OrthogonalLine(B, Line[(0, 0), B])
S_N = Intersect(t_{1N}, t_{2N})
k_N = Circle(S_N, A)
M_N = Intersect(k_N, Ray[S_N, Midpoint[A, B]])
OblukN = CircumcircleArc(A, M_N, B)
hPriamka = If(Diameter, OblukD, If[Nevlastne, OblukN, Obluk])

Tool: hkruznica
Zadaj stred a potom bod kružnice
Input: B, A
Output: p

d = hPriamka(A, B)
f = Line((0, 0), B)
E = Center(d)
e = Circle(E, A)
i = Tangent(A, e)
G = Intersect(f, i)
p = Circle(G, A)

Tool: hStredUsecky1
Zvoľte krajné body úsečky
Input: A, B
Output: S

d = hPriamka(A, B)
e = hkruznica(B, A)
f = hkruznica(A, B)
C = Intersect(e, f, 2)
D = Intersect(e, f, 1)
E = hPriamka(C, D)
S = Intersect(d, E)

Tool: Nástroj4
Input: A, B
Output: F, S

d = hPriamka(A, B)
e = hkruznica(B, A)
f = hkruznica(A, B)
C = Intersect(e, f, 2)
D = Intersect(e, f, 1)
E = hPriamka(C, D)
S, F = Intersect(d, E)