Apollonius1 (Punkt-Punkt-Punkt)

Wählen Sie drei Punkte.

Apollonius2 (Gerade-Gerade-Gerade)

Wählen Sie drei Geraden.

Apollonius3 (Punkt-Punkt-Gerade)

Wählen Sie zwei Punkte und eine Gerade.

Apollonius4 (Punkt-Punkt-Kreis)

Wählen Sie zwei Punkte und einen Kreis.

Apollonius5 (Punkt-Gerade-Gerade)

Wählen Sie einen Punkt und zwei Geraden.

Apollonius6 (Gerade-Gerade-Kreis)

Wählen Sie zwei Geraden und einen Kreis.

Apollonius7 (Punkt-Gerade-Kreis)

Wählen Sie einen Punkt, eine Gerade und einen Kreis.

Apollonius8 (Gerade-Kreis-Kreis)

Wählen Sie eine Gerade und zwei Kreise.

Apollonius9 (Punkt-Kreis-Kreis)

Wählen Sie einen Punkt und zwei Kreise.

Apollonius10 (Kreis-Kreis-Kreis)

Wählen Sie drei Kreise.

s_{P1P2} = LineBisector(P_1, P_2)
s_{P1P3} = LineBisector(P_1, P_3)
M_{c1} = Intersect(s_{P1P2}, s_{P1P3})
c_1 = Circle(M_{c1}, P_1)
w_{g1g2A}, w_{g1g2B} = AngularBisector(g_1, g_2)
w_{g2g3A}, w_{g2g3B} = AngularBisector(g_2, g_3)
w_{g1g3A}, w_{g1g3B} = AngularBisector(g_1, g_3)
M_{c1} = Intersect(w_{g1g3A}, w_{g1g2A})
M_{c4} = Intersect(w_{g1g3B}, w_{g2g3A})
M_{c3} = Intersect(w_{g2g3A}, w_{g1g2B})
M_{c2} = Intersect(w_{g1g2B}, w_{g1g3B})
s_{c1} = OrthogonalLine(M_{c1}, g_1)
s_{c2} = OrthogonalLine(M_{c2}, g_1)
s_{c3} = OrthogonalLine(M_{c3}, g_2)
s_{c4} = OrthogonalLine(M_{c4}, g_3)
F_{c3} = Intersect(g_2, s_{c3})
F_{c4} = Intersect(g_3, s_{c4})
F_{c2} = Intersect(g_1, s_{c2})
c_4 = Circle(M_{c4}, F_{c4})
c_3 = Circle(M_{c3}, F_{c3})
c_2 = Circle(M_{c2}, F_{c2})
F_{c1} = Intersect(g_1, s_{c1})
c_1 = Circle(M_{c1}, F_{c1})
g_{P1P2} = Line(P_2, P_1)
S = Intersect(g_1, g_{P1P2})
P_{fern} = If(Distance[P_1, S] > Distance[P_2, S], P_1, P_2)
P_{nahe} = If(Distance[P_1, S]  <  Distance[P_2, S], P_1, P_2)
M_{Thales} = Midpoint(S, P_{fern})
k_{Thales} = Circle(M_{Thales}, S)
g_{senkrecht} = OrthogonalLine(P_{nahe}, g_{P1P2})
T = Intersect(k_{Thales}, g_{senkrecht}, 2)
k_{Hilfskreis} = Circle(S, T)
K_2, K_1 = Intersect(k_{Hilfskreis}, g_1)
kk_1 = Apollonius1(P_1, P_2, K_1)
k_2 = Apollonius1(P_1, P_2, K_2)
m_{P1P2} = LineBisector(P_1, P_2)
K_3 = Intersect(g_1, m_{P1P2})
kk_3 = Apollonius1(P_1, P_2, K_3)
k_1 = If(g_{P1P2} ∥ g_1, kk_3, kk_1)
M_{c1} = Center(c_1)
h = Apollonius1(P_1, P_2, M_{c1})
H_1, H_2 = Intersect(h, c_1)
g_{P1P2} = Line(P_1, P_2)
g_h = Line(H_1, H_2)
S = Intersect(g_{P1P2}, g_h)
t_2, t_1 = Tangent(S, c_1)
K_1 = Intersect(c_1, t_1)
K_2 = Intersect(c_1, t_2)
kk_2 = Apollonius1(P_1, P_2, K_2)
kk_1 = Apollonius1(P_1, P_2, K_1)
m_{P1P2} = LineBisector(P_1, P_2)
K_3, K_4 = Intersect(c_1, m_{P1P2})
kk_3 = Apollonius1(P_1, P_2, K_3)
kk_4 = Apollonius1(P_1, P_2, K_4)
k_1 = If(g_{P1P2} ∥ g_h, kk_3, kk_1)
k_2 = If(g_{P1P2} ∥ g_h, kk_4, kk_2)
w_A, w_B = AngularBisector(g_1, g_2)
P_{1A}' = Mirror(P_1, w_A)
P_{1B}' = Mirror(P_1, w_B)
s_{Bereichstest} = Segment(P_1, P_{1B}')
S_{Bereichstest} = Intersect(s_{Bereichstest}, g_1)
P_1' = If(Defined[S_{Bereichstest}], P_{1A}', P_{1B}')
kk_1, kk_2 = Apollonius3(P_1, P_1', g_2)
w_P = If(P_1 ∈ w_A, w_A, If[P_1 ∈ w_B, w_B, {}])
s = OrthogonalLine(P_1', w_P)
w_4, w_3 = AngularBisector(g_2, s)
M_{kk3} = Intersect(w_P, w_3)
M_{kk4} = Intersect(w_P, w_4)
kk_3 = Circle(M_{kk3}, P_1')
kk_4 = Circle(M_{kk4}, P_1')
k_1 = If(Defined[w_P], kk_3, kk_1)
k_2 = If(Defined[w_P], kk_4, kk_2)
M_1 = Center(c_1)
G_2 = Point(g_2)
s_{g1g2} = OrthogonalLine(G_2, g_2)
G_1 = Intersect(g_1, s_{g1g2})
M_{G1G2} = Midpoint(G_2, G_1)
r_{kp} = Distance(M_{G1G2}, G_1)
dd_1: Distance[G_1, M_{G1G2}] + Radius[c_1]
kph_1 = Circle(M_1, dd_1)
m_{g1g2} = Line(M_{G1G2}, g_2)
M_{kp1}, M_{kp4} = Intersect(kph_1, m_{g1g2})
S = Intersect(g_1, g_2)
c_{parallel} = Circle(S, Radius[c_1])
s_{g1} = OrthogonalLine(S, g_1)
P_1 = Intersect(c_{parallel}, s_{g1}, 2)
P_2 = Intersect(c_{parallel}, s_{g1}, 1)
p_1 = Line(P_1, g_1)
p_2 = Line(P_2, g_1)
s_{g2} = OrthogonalLine(S, g_2)
P_3 = Intersect(c_{parallel}, s_{g2}, 2)
P_4 = Intersect(c_{parallel}, s_{g2}, 1)
p_3 = Line(P_3, g_2)
p_4 = Line(P_4, g_2)
s_{Bereich} = Ray(S, M_1)
S_1 = Intersect(p_1, s_{Bereich})
S_2 = Intersect(p_2, s_{Bereich})
S_3 = Intersect(p_3, s_{Bereich})
S_4 = Intersect(p_4, s_{Bereich})
d_M = Distance(S, M_1)
d_1 = Distance(S, S_1)
d_2 = Distance(S, S_2)
d_3 = Distance(S, S_3)
d_4 = Distance(S, S_4)
n1: Defined[d_1] ∧ (d_1  <  d_M)
n2: Defined[d_2] ∧ (d_2  <  d_M)
n3: Defined[d_3] ∧ (d_3  <  d_M)
n4: Defined[d_4] ∧ (d_4  <  d_M)
f1: Defined[d_1] ∧ (d_1 ≥ d_M)
f2: Defined[d_2] ∧ (d_2 ≥ d_M)
f3: Defined[d_3] ∧ (d_3 ≥ d_M)
f4: Defined[d_4] ∧ (d_4 ≥ d_M)
B1: n1 ∧ n4
B2: n2 ∧ n4
B3: n2 ∧ n3
B4: n1 ∧ n3
B14: f4 ∧ n1
B12: f1 ∧ n4
B21: f2 ∧ n4
B23: f4 ∧ n2
B34: f2 ∧ n3
B43: f1 ∧ n3
B41: f3 ∧ n1
BS1: f1 ∧ f4
BS2: f2 ∧ f4
BS3: f2 ∧ f3
BS4: f1 ∧ f3
B32: f3 ∧ n2
h_1 = If(B1 ∨ B4 ∨ B12 ∨ B23 ∨ B32 ∨ B43 ∨ BS1 ∨ BS4, p_1, p_2)
h_2 = If(B2 ∨ B3 ∨ B21 ∨ B23 ∨ B32 ∨ B34 ∨ BS2 ∨ BS3, p_1, p_2)
h_3 = If(B1 ∨ B2 ∨ B14 ∨ B12 ∨ B21 ∨ B23 ∨ BS1 ∨ BS2, p_3, p_4)
h_4 = If(B3 ∨ B4 ∨ B12 ∨ B21 ∨ B32 ∨ B41 ∨ BS3 ∨ BS4, p_3, p_4)
kk_1, kk_4 = Apollonius5(M_1, h_1, h_4)
M_{k1} = Center(kk_1)
M_{k4} = Center(kk_4)
s_{k1} = OrthogonalLine(M_{k1}, g_2)
s_{k4} = OrthogonalLine(M_{k4}, g_2)
B_{k1} = Intersect(g_2, s_{k1})
B_{k4} = Intersect(g_2, s_{k4})
ks_1 = Circle(M_{k1}, B_{k1})
ks_4 = Circle(M_{k4}, B_{k4})
kk_2, kk_3 = Apollonius5(M_1, h_3, h_2)
M_{k2} = Center(kk_2)
M_{k3} = Center(kk_3)
s_{k2} = OrthogonalLine(M_{k2}, g_2)
s_{k3} = OrthogonalLine(M_{k3}, g_2)
B_{k2} = Intersect(g_2, s_{k2})
B_{k3} = Intersect(g_2, s_{k3})
ks_2 = Circle(M_{k2}, B_{k2})
ks_3 = Circle(M_{k3}, B_{k3})
kk_5, kk_6 = Apollonius5(M_1, h_2, h_4)
kk_7, kk_8 = Apollonius5(M_1, h_3, h_1)
M_{k5} = Center(kk_5)
s_{k5} = OrthogonalLine(M_{k5}, g_2)
B_{k5} = Intersect(g_2, s_{k5})
ke_5 = Circle(M_{k5}, B_{k5})
M_{k7} = Center(kk_7)
s_{k7} = OrthogonalLine(M_{k7}, g_2)
B_{k7} = Intersect(g_2, s_{k7})
ke_7 = Circle(M_{k7}, B_{k7})
M_{k6} = Center(kk_6)
M_{k8} = Center(kk_8)
s_{k6} = OrthogonalLine(M_{k6}, g_2)
s_{k8} = OrthogonalLine(M_{k8}, g_2)
B_{k8} = Intersect(g_2, s_{k8})
B_{k6} = Intersect(g_2, s_{k6})
ke_6 = Circle(M_{k6}, B_{k6})
ke_8 = Circle(M_{k8}, B_{k8})
k_5 = If(BS1 ∨ BS2 ∨ BS3 ∨ BS4, ke_5, {})
k_6 = If(BS1 ∨ BS2 ∨ BS3 ∨ BS4, ke_6, {})
k_7 = If(BS1 ∨ BS2 ∨ BS3 ∨ BS4, ke_7, {})
k_8 = If(BS1 ∨ BS2 ∨ BS3 ∨ BS4, ke_8, {})
dd_2: Distance[G_1, M_{G1G2}] - Radius[c_1]
kph_2 = Circle(M_1, dd_2)
M_{kp2}, M_{kp3} = Intersect(kph_2, m_{g1g2})
kp_2 = Circle(M_{kp2}, r_{kp})
kp_3 = Circle(M_{kp3}, r_{kp})
kp_4 = Circle(M_{kp4}, r_{kp})
kp_1 = Circle(M_{kp1}, r_{kp})
k_1 = If(g_1 ∥ g_2, kp_1, ks_1)
k_2 = If(g_1 ∥ g_2, kp_2, ks_2)
k_3 = If(g_1 ∥ g_2, kp_3, ks_3)
k_4 = If(g_1 ∥ g_2, kp_4, ks_4)
M_1 = Center(c_1)
s = OrthogonalLine(M_1, g_1)
S = Intersect(g_1, s)
SS_1 = Intersect(c_1, s, 2)
SS_2 = Intersect(c_1, s, 1)
S_1 = If(Distance[SS_1, S]  <  Distance[SS_2, S], SS_1, SS_2)
S_2 = If(Distance[SS_1, S]  <  Distance[SS_2, S], SS_2, SS_1)
r_1': (Distance[S_2, S] * Distance[S_2, S_1] / Distance[S_2, P_1])
h_1 = Line(S_2, P_1)
hk_1 = Circle(S_2, r_1')
P_{1B}', P_{1A}' = Intersect(hk_1, h_1)
P_1' = If(Distance[P_1, P_{1A}']  <  Distance[P_1, P_{1B}'], P_{1A}', P_{1B}')
k_1, k_2 = Apollonius3(P_1, P_1', g_1)
r_2': (Distance[S_1, S] * Distance[S_1, S_2] / Distance[S_1, P_1])
hk_2 = Circle(S_1, r_2')
h_2 = Line(S_1, P_1)
P_{1A}'', P_{1B}'' = Intersect(hk_2, h_2)
P_1'' = If(Distance[P_1, P_{1A}'']  <  Distance[P_1, P_{1B}''], P_{1B}'', P_{1A}'')
k_4, k_3 = Apollonius3(P_1'', P_1, g_1)
cc_1 = If(Radius[c_1]  <  Radius[c_2], c_1, c_2)
cc_2 = If(Radius[c_1]  <  Radius[c_2], c_2, c_1)
G = Point(g_1)
hk = Circle(G, Radius[cc_1])
s = OrthogonalLine(G, g_1)
S_1 = Intersect(hk, s, 1)
S_2 = Intersect(hk, s, 2)
r_1 = Radius(cc_1)
r_2 = Radius(cc_2)
M_1 = Center(cc_1)
M_2 = Center(cc_2)
gg_1' = Line(S_1, g_1)
gg_1'' = Line(S_2, g_1)
g_1' = If(Distance[M_1, gg_1']  <  Distance[M_1, gg_1''], gg_1', gg_1'')
g_1'' = If(Distance[M_1, gg_1']  <  Distance[M_1, gg_1''], gg_1'', gg_1')
c_{2klein} = Circle(M_2, r_2 - r_1)
ka_1', ka_2', ka_3, ka_4 = Apollonius7(M_1, g_1'', c_{2klein})
kb_3, kb_4, kb_2', kb_1' = Apollonius7(M_1, g_1', c_{2klein})
c_{2gross} = Circle(M_2, r_2 + r_1)
kc_3, kc_4, kc_1, kc_2 = Apollonius7(M_1, g_1'', c_{2gross})
k_5 = Circle(Center[kc_1], Radius[kc_1] - r_1)
k_6 = Circle(Center[kc_2], Radius[kc_2] - r_1)
kd_1, kd_2, kd_3, kd_4 = Apollonius7(M_1, g_1', c_{2gross})
k_7 = Circle(Center[kd_1], Radius[kd_1] + r_1)
k_8 = Circle(Center[kd_2], Radius[kd_2] + r_1)
ka_1'', ka_2'' = Apollonius3(M_1, M_2, g_1'')
ka_1 = If(r_1 ≟ r_2, ka_1'', ka_1')
ka_2 = If(r_1 ≟ r_2, ka_2'', ka_2')
k_1 = Circle(Center[ka_1], Radius[ka_1] - r_1)
k_2 = Circle(Center[ka_2], Radius[ka_2] - r_1)
kb_1'', kb_2'' = Apollonius3(M_1, M_2, g_1')
kb_1 = If(r_1 ≟ r_2, kb_1'', kb_1')
kb_2 = If(r_1 ≟ r_2, kb_2'', kb_2')
k_3 = Circle(Center[kb_1], Radius[kb_1] + r_1)
k_4 = Circle(Center[kb_2], Radius[kb_2] + r_1)
M_1 = Center(c_1)
M_2 = Center(c_2)
t_1, t_2, t_3, t_4 = Tangent(c_2, c_1)
g = Line(M_1, M_2)
P_{aussen} = Intersect(g, t_1)
SS_{1A}, SS_{1B} = Intersect(c_1, g)
SS_{2B}, SS_{2A} = Intersect(c_2, g)
S_{1A} = If(Distance[SS_{1A}, M_2] > Distance[SS_{1B}, M_2], SS_{1A}, SS_{1B})
S_{2A} = If(Distance[SS_{2A}, M_1] > Distance[SS_{2B}, M_1], SS_{2A}, SS_{2B})
S_{2B} = If(Distance[SS_{2A}, M_1] > Distance[SS_{2B}, M_1], SS_{2B}, SS_{2A})
h_1 = Line(P_{aussen}, P_1)
hk_1 = Apollonius1(P_1, S_{1A}, S_{2A})
S_1', S_2' = Intersect(hk_1, h_1)
P_1' = If(P_1 ≟ S_1', If[P_1 ≟ S_2', false, S_2'], S_1')
kk_2, kk_1 = Apollonius4(P_1, P_1', c_1)
P_{innen} = Intersect(t_3, g)
h_2 = Line(P_1, P_{innen})
hk_2 = Circle(P_1, S_{1A}, S_{2B})
S_1'', S_2'' = Intersect(hk_2, h_2)
P_1'' = If(P_1 ≟ S_1'', If[P_1 ≟ S_2'', false, S_2''], S_1'')
k_3, k_4 = Apollonius4(P_1, P_1'', c_2)
cc_3 = Circle(P_1, Radius[c_1])
hk_{2B}, hk_{2A} = Apollonius4(M_1, M_2, cc_3)
M_{kk1'} = Center(hk_{2A})
M_{kk2'} = Center(hk_{2B})
kk_2' = Circle(M_{kk2'}, Distance[M_{kk2'}, P_1])
kk_1' = Circle(M_{kk1'}, Distance[M_{kk1'}, P_1])
k_1 = If(Radius[c_1] ≟ Radius[c_2], kk_1', kk_1)
k_2 = If(Radius[c_1] ≟ Radius[c_2], kk_2', kk_2)
unsortiert: {cc_1, cc_2, cc_3}
radien = Zip(Radius[a], a, unsortiert)
sortiert = Sort(unsortiert, radien)
c_1 = Element(sortiert, 1)
c_2 = Element(sortiert, 2)
c_3 = Element(sortiert, 3)
M_1 = Center(c_1)
M_2 = Center(c_2)
M_3 = Center(c_3)
r_1 = Radius(c_1)
r_2 = Radius(c_2)
r_3 = Radius(c_3)
hk_{2klein} = Circle(M_2, r_2 - r_1)
hk_{3klein} = Circle(M_3, r_3 - r_1)
kk_1, kk_2, ukk_1, ukk_2 = Apollonius9(M_1, hk_{2klein}, hk_{3klein})
hk_{2gross} = Circle(M_2, r_2 + r_1)
hk_{3gross} = Circle(M_3, r_3 + r_1)
kk_3, kk_4, ukk_3, ukk_4 = Apollonius9(M_1, hk_{2gross}, hk_{3gross})
ukk_5, ukk_6, kk_5, kk_6 = Apollonius9(M_1, hk_{2klein}, hk_{3gross})
ukk_7, ukk_8, kk_7, kk_8 = Apollonius9(M_1, hk_{2gross}, hk_{3klein})
k_{1A} = Circle(Center[kk_1], Radius[kk_1] + r_1)
k_{1B} = Circle(Center[kk_1], Radius[kk_1] - r_1)
k_{2A} = Circle(Center[kk_2], Radius[kk_2] + r_1)
k_{2B} = Circle(Center[kk_2], Radius[kk_2] - r_1)
k_{3A} = Circle(Center[kk_3], Radius[kk_3] + r_1)
k_{3B} = Circle(Center[kk_3], Radius[kk_3] - r_1)
k_{4A} = Circle(Center[kk_4], Radius[kk_4] + r_1)
k_{4B} = Circle(Center[kk_4], Radius[kk_4] - r_1)
k_{5A} = Circle(Center[kk_5], Radius[kk_5] + r_1)
k_{5B} = Circle(Center[kk_5], Radius[kk_5] - r_1)
k_{6A} = Circle(Center[kk_6], Radius[kk_6] + r_1)
k_{6B} = Circle(Center[kk_6], Radius[kk_6] - r_1)
k_{7A} = Circle(Center[kk_7], Radius[kk_7] + r_1)
k_{7B} = Circle(Center[kk_7], Radius[kk_7] - r_1)
k_{8A} = Circle(Center[kk_8], Radius[kk_8] + r_1)
k_{8B} = Circle(Center[kk_8], Radius[kk_8] - r_1)
k_1 = If((¬Defined[Intersect[k_{1A}, c_2, 2]]) ∧ (¬Defined[Intersect[k_{1A}, c_3, 2]]), k_{1A}, k_{1B})
k_2 = If((¬Defined[Intersect[k_{2A}, c_2, 2]]) ∧ (¬Defined[Intersect[k_{2A}, c_3, 2]]), k_{2A}, k_{2B})
k_3 = If((¬Defined[Intersect[k_{3A}, c_2, 2]]) ∧ (¬Defined[Intersect[k_{3A}, c_3, 2]]), k_{3A}, k_{3B})
k_4 = If((¬Defined[Intersect[k_{4A}, c_2, 2]]) ∧ (¬Defined[Intersect[k_{4A}, c_3, 2]]), k_{4A}, k_{4B})
k_5 = If((¬Defined[Intersect[k_{5A}, c_2, 2]]) ∧ (¬Defined[Intersect[k_{5A}, c_3, 2]]), k_{5A}, k_{5B})
k_6 = If((¬Defined[Intersect[k_{6A}, c_2, 2]]) ∧ (¬Defined[Intersect[k_{6A}, c_3, 2]]), k_{6A}, k_{6B})
k_7 = If((¬Defined[Intersect[k_{7A}, c_2, 2]]) ∧ (¬Defined[Intersect[k_{7A}, c_3, 2]]), k_{7A}, k_{7B})
k_8 = If((¬Defined[Intersect[k_{8A}, c_2, 2]]) ∧ (¬Defined[Intersect[k_{8A}, c_3, 2]]), k_{8A}, k_{8B})