nada = 0
C: (13.72, nada)
A: (-1.32, nada)
M3 = Midpoint(A, C)
B: (10.34, 4.02 + nada)
γ = Angle(C, B, A)
β = Angle(A, C, B)
α = Angle(B, A, C)
angulos: {α, β, γ}
δ: Max[angulos] 180 ° / 3.141592653589793
M1 = Midpoint(C, B)
medianaA = Line(A, M1)
bisectrizV1 = AngularBisector(C, A, B)
simediana1 = Mirror(medianaA, bisectrizV1)
bisectrizV2 = AngularBisector(A, C, B)
M2 = Midpoint(A, B)
M = If(δ ≟ α, M1, If[δ ≟ β, M2, M3])
medianaC = Line(C, M2)
simediana2 = Mirror(medianaC, bisectrizV2)
Especial = Intersect(simediana1, simediana2)
rectaL = Line(M, Especial)
isleta, v3, v1, v2 = Polygon(A, C, B)
mediatriz2 = LineBisector(v1)
mediatriz1 = LineBisector(v2)
O = Intersect(mediatriz2, mediatriz1)
i = OrthogonalLine(C, bisectrizV2)
I1 = Intersect(bisectrizV1, i)
I = Intersect(bisectrizV1, bisectrizV2)
j = OrthogonalLine(A, bisectrizV1)
I3 = Intersect(i, j)
h1 = Conic(Especial, I, I3, I1, O)
semieje = FirstAxisLength(h1)
Foco2, Foco1 = Focus(h1)
h = Hyperbola(Foco1, Foco2, semieje)
asintota2, asintota1 = Asymptote(h)
R = Segment(O, B)
ortoI = OrthogonalLine(I, v1)
Ibase = Intersect(v1, ortoI)
r = Segment(I, Ibase)
P = (6.91747567887722, 3.68237122621395)
X110 = Center(h1)
yc: y(X110)
xc: x(X110)
d = 1.9 (slider from 0 to 10, step 0.1)
G: (A + C + B) / 3
g3 = OrthogonalLine(G, v3)
G3 = Intersect(v3, g3)
u3 = Vector(G, G3)
R312: P + u3
s312 = Ray(P, R312)
S312 = Intersect(v3, s312)
circuloP = Circle(P, d)
P31 = Intersect(circuloP, v3, 1)
P32 = Intersect(circuloP, v3, 2)
PM3 = Midpoint(P31, P32)
sM3 = Ray(P, PM3)
PCM3 = Intersect(circuloP, sM3)
sector2cE = CircumcircleSector(P31, PCM3, P32)
tri2c, z2c2, z2c3, z2c1 = Polygon(P, P31, P32)
aread: 3.141592653589793 d^(2)
areai = Area(A, C, B)
P11 = Intersect(circuloP, v1, 1)
p11 = If(P11 ≟ P11, true, false)
P12 = Intersect(circuloP, v1, 2)
p12 = If(P12 ≟ P12, true, false)
PM1 = Midpoint(P11, P12)
sM1 = Ray(P, PM1)
PCM1, D = Intersect(circuloP, sM1)
sector2aE = CircumcircleSector(P11, PCM1, P12)
tri2a, z2a2, z2a3, z2a1 = Polygon(P, P11, P12)
g1 = OrthogonalLine(G, v1)
G1 = Intersect(v1, g1)
u1 = Vector(G, G1)
R112: P + u1
s112 = Ray(P, R112)
P112, Cir1 = Intersect(circuloP, s112)
sector2a = CircumcircleSector(P11, P112, P12)
S112 = Intersect(v1, s112)
area2aE: sector2aE - tri2a
area2a = If(S112 ≟ S112, sector2a - tri2a, sector2a + tri2a)
P22 = Intersect(circuloP, v2, 1)
p22 = If(P22 ≟ P22, true, false)
P21 = Intersect(circuloP, v2, 2)
p21 = If(P21 ≟ P21, true, false)
PM2 = Midpoint(P21, P22)
sM2 = Ray(P, PM2)
PCM2, Cir2 = Intersect(circuloP, sM2)
sector2bE = CircumcircleSector(P21, PCM2, P22)
tri2b, z2b2, z2b3, z2b1 = Polygon(P, P21, P22)
g2 = OrthogonalLine(G, v2)
G2 = Intersect(v2, g2)
u2 = Vector(G, G2)
R212: P + u2
s212 = Ray(P, R212)
P212, Cir3 = Intersect(circuloP, s212)
sector2b = CircumcircleSector(P21, P212, P22)
S212 = Intersect(v2, s212)
area2cE: sector2cE - tri2c
area2bE: sector2bE - tri2b
area2b = If(S212 ≟ S212, sector2b - tri2b, sector2b + tri2b)
p32 = If(P32 ≟ P32, true, false)
p31 = If(P31 ≟ P31, true, false)
pos2E = If(p11 ∧ p12 ∧ p21 ∧ p22 ∧ p31 ∧ p32, true, false)
P312, Cir4 = Intersect(circuloP, s312)
sector2c = CircumcircleSector(P31, P312, P32)
area2c = If(S312 ≟ S312, sector2c - tri2c, sector2c + tri2c)
area2: aread - If[area2a ≟ area2a, area2a, 0] - If[area2b ≟ area2b, area2b, 0] - If[area2c ≟ area2c, area2c, 0]
area2E = If(pos2E, aread - area2aE - area2bE - area2cE, area2)
dV1 = Segment(P, A)
dV2 = Segment(P, C)
fuera3 = Ray(P, M3)
dV3 = Segment(P, B)
pos5 = If(dV1 ≤ d ∧ dV2 ≤ d ∧ dV3 ≤ d, true, false)
area5 = If(pos5, areai, 0)
area5T = If(area5 < areai, area5, areai)
Corte32 = Intersect(v2, fuera3)
Corte31 = Intersect(v1, fuera3)
P1 = If(p12 ∧ (¬p11), P12, P11)
p1 = If(P1 ≟ P1, true, false)
P21' = If(Distance[P21, P1] > Distance[P22, P1], P22, P21)
tri621, ztri621c, ztri621b, ztri621a = Polygon(P, P1, P21')
P22' = If(Distance[P21, P1] > Distance[P22, P1], P21, P22)
P2 = If(p22 ∧ (¬p21), P22, P21)
V3b = Midpoint(P2, P1)
sV3 = Ray(P, V3b)
V3c = Intersect(circuloP, sV3, 1)
sector1c = CircumcircleSector(P2, V3c, P1)
tri1c, z1c2, z1c3, z1c1 = Polygon(B, P1, P2)
tri01c, z01c2, z01c3, z01c1 = Polygon(P, P1, P2)
area1c = If(Distance[V3b, B] < dV3 ∧ Distance[A, P] < d, aread - sector1c + tri1c + tri01c, tri1c + sector1c - tri01c)
cuadri3, zcuadri3a, zcuadri3b, zcuadri3c, zcuadri3d = Polygon(C, A, P2, P1)
area4c: cuadri3 + sector1c - tri01c
P11' = If(Distance[P11, P2] > Distance[P12, P2], P12, P11)
tri611, ztri611b, ztri611a, ztri611c = Polygon(P, P2, P11')
P12' = If(Distance[P11, P2] > Distance[P12, P2], P11, P12)
p2 = If(P2 ≟ P2, true, false)
P31' = If(Distance[P31, P2] > Distance[P32, P2], P32, P31)
tri632, ztri632a, ztri632c, ztri632b = Polygon(P, P2, P31')
P32' = If(Distance[P31, P2] > Distance[P32, P2], P31, P32)
penta3, zpenta3e, zpenta3d, zpenta3c, zpenta3b, zpenta3a = Polygon(B, P1, P32', P31', P2)
tri631, ztri631b, ztri631c, ztri631a = Polygon(P, P1, P32')
pos6c = If(p31 ∧ p32 ∧ p1 ∧ p2 ∧ (¬p11 ∨ ¬p12) ∧ (¬p21 ∨ ¬p22), true, false)
pos2 = If(p11 ∧ p12 ∧ p21 ∧ p22 ∨ p11 ∧ p12 ∧ p31 ∧ p32 ∨ p21 ∧ p22 ∧ p31 ∧ p32, true, false)
P3 = If(p32 ∧ (¬p31), P32, P31)
penta2, zpenta2c, zpenta2b, zpenta2a, zpenta2e, zpenta2d = Polygon(C, P1, P21', P22', P3)
tri622, ztri622c, ztri622a, ztri622b = Polygon(P, P3, P22')
V2b = Midpoint(P1, P3)
sV2 = Ray(P, V2b)
V2c = Intersect(circuloP, sV2, 1)
sector1b = CircumcircleSector(P1, V2c, P3)
tri1b, z1b2, z1b3, z1b1 = Polygon(C, P1, P3)
tri01b, z01b2, z01b3, z01b1 = Polygon(P, P1, P3)
area1b = If(Distance[V2b, C] < dV2 ∧ Distance[A, P] < d, aread - sector1b + tri1b + tri01b, tri1b + sector1b - tri01b)
cuadri2, zcuadri2a, zcuadri2b, zcuadri2c, zcuadri2d = Polygon(A, B, P1, P3)
area4b: cuadri2 + sector1b - tri01b
penta1, zpenta1a, zpenta1b, zpenta1c, zpenta1d, zpenta1e = Polygon(A, P2, P11', P12', P3)
tri612, ztri612c, ztri612b, ztri612a = Polygon(P, P3, P12')
V1b = Midpoint(P2, P3)
sV1 = Ray(P, V1b)
V1c = Intersect(circuloP, sV1, 1)
sector1a = CircumcircleSector(P2, V1c, P3)
tri01a, z01a2, z01a3, z01a1 = Polygon(P, P2, P3)
tri1a, z1a2, tri1a3, z1a1 = Polygon(A, P2, P3)
area1a = If(Distance[V1b, A] < dV1 ∧ Distance[B, P] < d, aread - sector1a + tri1a + tri01a, tri1a + sector1a - tri01a)
area1 = If(area1a ≟ area1a, area1a, If[area1b ≟ area1b, area1b, area1c])
area1T = If(area1 < areai, area1, areai)
cuadri1, zcuadri1a, zcuadri1b, zcuadri1c, zcuadri1d = Polygon(C, B, P2, P3)
area4a: cuadri1 + sector1a - tri01a
area4: If[area4a ≟ area4a, area4a, 0] + If[area4b ≟ area4b, area4b, 0] + If[area4c ≟ area4c, area4c, 0]
area4T = If(area4 < areai, area4, areai)
p3 = If(P3 ≟ P3, true, false)
pos6b = If(p21 ∧ p22 ∧ p1 ∧ p3 ∧ (¬p11 ∨ ¬p12) ∧ (¬p31 ∨ ¬p32), true, false)
pos1c = If((¬p3) ∧ p1 ∧ (¬p11 ∨ ¬p12) ∧ p2 ∧ (¬p21 ∨ ¬p22), true, false)
pos1b = If((¬p2) ∧ p1 ∧ (¬p11 ∨ ¬p12) ∧ p3 ∧ (¬p31 ∨ ¬p32), true, false)
pos1a = If((¬p1) ∧ p2 ∧ (¬p21 ∨ ¬p22) ∧ p3 ∧ (¬p31 ∨ ¬p32), true, false)
pos1 = If(pos1a ∨ pos1b ∨ pos1c, true, false)
pos4c = If(pos1 ∧ dV2 ≤ d ∧ dV3 ≤ d, true, false)
pos4b = If(pos1 ∧ dV1 ≤ d ∧ dV3 ≤ d, true, false)
pos4a = If(pos1 ∧ dV1 ≤ d ∧ dV2 ≤ d, true, false)
pos4 = If(pos4a ∨ pos4b ∨ pos4c, true, false)
pos3 = If(p1 ∧ (¬p2) ∧ (¬p3) ∨ (¬p1) ∧ p2 ∧ (¬p3) ∨ (¬p1) ∧ (¬p2) ∧ p3, true, false)
pos6a = If(p11 ∧ p12 ∧ p2 ∧ p3 ∧ (¬p21 ∨ ¬p22) ∧ (¬p31 ∨ ¬p32), true, false)
pos6 = If(pos6a ∨ pos6b ∨ pos6c, true, false)
sector6c = CircumcircleSector(P2, P312, P1)
area6c = If(pos6c, penta3 + sector6c - sector2c - tri631 - tri632, 0)
sector6b = CircumcircleSector(P1, P212, P3)
area6b = If(pos6b, penta2 + sector6b - sector2b - tri621 - tri622, 0)
sector6a = CircumcircleSector(P2, P112, P3)
area6a = If(pos6a, penta1 + sector6a - sector2a - tri611 - tri612, 0)
area6: If[area6a ≟ area6a, area6a, 0] + If[area6b ≟ area6b, area6b, 0] + If[area6c ≟ area6c, area6c, 0]
area2T = If(area2E < areai, area2E, areai)
area6T = If(area6 < areai, area6, areai)
areaT: 0 + If[pos1 ∧ (¬pos4), area1T, 0] + If[pos2 ∨ pos3, area2T, 0] + If[pos4, area4T, 0] + area5T + If[pos6, area6T, 0]
fuera2 = Ray(P, M2)
Corte21 = Intersect(v1, fuera2)
Corte23 = Intersect(v3, fuera2)
fuera1 = Ray(P, M1)
Corte13 = Intersect(v3, fuera1)
Corte12 = Intersect(v2, fuera1)
simediana3 = Line(B, Especial)
sector2C = If(sector2c > aread / 2, sector2c + tri2c, sector2c)
OO = (0, 0)
area = If(areaT > 0 ∨ Corte12 ≟ Corte12 ∨ Corte13 ≟ Corte13 ∨ Corte21 ≟ Corte21 ∨ Corte23 ≟ Corte23 ∨ Corte31 ≟ Corte31 ∨ Corte32 ≟ Corte32, areaT, aread)
text1: "Eclipsada = " + area
ε, ζ, η = Angle(isleta)
medianaB = Line(B, M3)
I2 = Intersect(bisectrizV2, j)
circunscrita = Circle(O, R)
euler = Line(G, O)
eulerAB = Mirror(euler, v2)
eulerBC = Mirror(euler, v1)
H = Intersect(h1, rectaL, 2)
J = Intersect(h1, euler, 1)
a = Segment(J, I)
EE = Intersect(euler, eulerBC)
b = Segment(O, B)
f = Circle(I, Ibase)
text2: "Isleta = " + isleta
text3: area 100 / isleta + " %"
c = Line(I, B)
g = OrthogonalLine(B, c)
D = Point(asintota2)
E = Point(asintota1)
θ = Angle(D, X110, E)
eulerAC = Mirror(euler, v3)
P59: (7.09849, 0.43623 + nada)
P64: (6.82126, 0.30163 + nada)
P69: (6.54245, 0.16626 + nada)
P54: (7.38613, 0.57587 + nada)
P49: (7.67171, 0.71453 + nada)
P44: (7.96349, 0.85619 + nada)
P39: (8.26621, 1.00316 + nada)
P34: (8.57987, 1.15544 + nada)
P29: (8.93453, 1.40035 + nada)
P24: (9.31415, 1.63588 + nada)