Pulgarcito's Strategy

Pulgarcito's Strategy
Loading the math board and drawing, please wait…
2023-03-22 02:55
In collections Realidades de GeoGebra
This example demonstrates how to solve an optimization problem using geometric construction tools. Key mathematical concepts include triangles, medians, angle bisectors, and hyperbolas. Using GeoGebra commands like Midpoint, Line, and AngularBisector, the geometric model of the optimization problem is constructed. Suitable for high school mathematics education and learning.

GeoGebra Commands & Parameters

  1. Midpoint(C, B) → M1
  2. Line(A, M1) → mediana1
  3. AngularBisector(C, A, B) → bisectrizV1
  4. Mirror(mediana1, bisectrizV1) → simediana1
  5. OrthogonalLine(A, bisectrizV1) → j
  6. AngularBisector(A, C, B) → bisectrizV2
  7. Intersect(bisectrizV1, bisectrizV2) → I
  8. OrthogonalLine(C, bisectrizV2) → i
  9. Intersect(i, j) → I3
  10. Intersect(bisectrizV1, i) → I1
  11. Polygon(A, C, B) → isleta, v3, v1, v2
  12. LineBisector(v2) → mediatriz1
  13. LineBisector(v1) → mediatriz2
  14. Intersect(mediatriz2, mediatriz1) → O
  15. Midpoint(A, B) → M2
  16. Line(C, M2) → mediana2
  17. Mirror(mediana2, bisectrizV2) → simediana2
  18. Intersect(simediana1, simediana2) → Lemoine
  19. Conic(Lemoine, I, I3, I1, O) → h1
  20. Focus(h1) → Foco2, Foco1
  21. FirstAxisLength(h1) → semieje
  22. Hyperbola(Foco1, Foco2, semieje) → h
  23. Segment(O, B) → R
  24. OrthogonalLine(I, v1) → ortoI
  25. Intersect(v1, ortoI) → Ibase
  26. Segment(I, Ibase) → r
  27. Axes(h1) → eje2, eje1
  28. Slope(eje2) → m
  29. Center(h1) → X110
  30. OrthogonalLine(G, v3) → g3
  31. Intersect(v3, g3) → G3
  32. Vector(G, G3) → u3
  33. Ray(P, R312) → s312
  34. Intersect(v3, s312) → S312
  35. Circle(P, d) → circuloP
  36. Intersect(circuloP, v3, 1) → P31
  37. Intersect(circuloP, v3, 2) → P32
  38. Midpoint(P31, P32) → PM3
  39. Ray(P, PM3) → sM3
  40. Intersect(circuloP, sM3) → PCM3,
  41. CircumcircleSector(P31, PCM3, P32) → sector2cE
  42. Polygon(P, P31, P32) → tri2c, z2c2, z2c3, z2c1
  43. Area(A, C, B) → areai
  44. Intersect(circuloP, v1, 1) → P11
  45. If(P11 ≟ P11, true, false) → p11
  46. Intersect(circuloP, v1, 2) → P12
  47. If(P12 ≟ P12, true, false) → p12
  48. Midpoint(P11, P12) → PM1
  49. Ray(P, PM1) → sM1
  50. Intersect(circuloP, sM1) → PCM1,
  51. CircumcircleSector(P11, PCM1, P12) → sector2aE
  52. Polygon(P, P11, P12) → tri2a, z2a2, z2a3, z2a1
  53. OrthogonalLine(G, v1) → g1
  54. Intersect(v1, g1) → G1
  55. Vector(G, G1) → u1
  56. Ray(P, R112) → s112
  57. Intersect(circuloP, s112) → P112, Cir1
  58. CircumcircleSector(P11, P112, P12) → sector2a
  59. Intersect(v1, s112) → S112
  60. If(S112 ≟ S112, sector2a - tri2a, sector2a + tri2a) → area2a
  61. Intersect(circuloP, v2, 1) → P22
  62. If(P22 ≟ P22, true, false) → p22
  63. Intersect(circuloP, v2, 2) → P21
  64. If(P21 ≟ P21, true, false) → p21
  65. Midpoint(P21, P22) → PM2
  66. Ray(P, PM2) → sM2
  67. Intersect(circuloP, sM2) → PCM2, Cir2
  68. CircumcircleSector(P21, PCM2, P22) → sector2bE
  69. Polygon(P, P21, P22) → tri2b, z2b2, z2b3, z2b1
  70. OrthogonalLine(G, v2) → g2
  71. Intersect(v2, g2) → G2
  72. Vector(G, G2) → u2
  73. Ray(P, R212) → s212
  74. Intersect(circuloP, s212) → P212, Cir3
  75. CircumcircleSector(P21, P212, P22) → sector2b
  76. Intersect(v2, s212) → S212
  77. If(S212 ≟ S212, sector2b - tri2b, sector2b + tri2b) → area2b
  78. If(P32 ≟ P32, true, false) → p32
  79. If(P31 ≟ P31, true, false) → p31
  80. If(p11 ∧ p12 ∧ p21 ∧ p22 ∧ p31 ∧ p32, true, false) → pos2E
  81. Intersect(circuloP, s312) → P312, Cir4
  82. CircumcircleSector(P31, P312, P32) → sector2c
  83. If(S312 ≟ S312, sector2c - tri2c, sector2c + tri2c) → area2c
  84. If(pos2E, aread - area2aE - area2bE - area2cE, area2) → area2E
  85. Segment(P, A) → dV1
  86. Segment(P, C) → dV2
  87. Midpoint(A, C) → M3
  88. Ray(P, M3) → fuera3
  89. Segment(P, B) → dV3
  90. If(dV1 ≤ d ∧ dV2 ≤ d ∧ dV3 ≤ d, true, false) → pos5
  91. If(pos5, areai, 0) → area5
  92. If(area5 < areai, area5, areai) → area5T
  93. Intersect(v2, fuera3) → Corte32
  94. Intersect(v1, fuera3) → Corte31
  95. If(p12 ∧ (¬p11), P12, P11) → P1
  96. If(P1 ≟ P1, true, false) → p1
  97. If(Distance[P21, P1] > Distance[P22, P1], P22, P21) → P21'
  98. Polygon(P, P1, P21') → tri621, ztri621c, ztri621b, ztri621a
  99. If(Distance[P21, P1] > Distance[P22, P1], P21, P22) → P22'
  100. If(p22 ∧ (¬p21), P22, P21) → P2
  101. Midpoint(P2, P1) → V3b
  102. Ray(P, V3b) → sV3
  103. Intersect(circuloP, sV3, 1) → V3c
  104. CircumcircleSector(P2, V3c, P1) → sector1c
  105. Polygon(B, P1, P2) → tri1c, z1c2, z1c3, z1c1
  106. Polygon(P, P1, P2) → tri01c, z01c2, z01c3, z01c1
  107. If(Distance[V3b, B] < dV3 ∧ Distance[A, P] < d, aread - sector1c + tri1c + tri01c, tri1c + sector1c - tri01c) → area1c
  108. Polygon(C, A, P2, P1) → cuadri3, zcuadri3a, zcuadri3b, zcuadri3c, zcuadri3d
  109. If(Distance[P11, P2] > Distance[P12, P2], P12, P11) → P11'
  110. Polygon(P, P2, P11') → tri611, ztri611b, ztri611a, ztri611c
  111. If(Distance[P11, P2] > Distance[P12, P2], P11, P12) → P12'
  112. If(P2 ≟ P2, true, false) → p2
  113. If(Distance[P31, P2] > Distance[P32, P2], P32, P31) → P31'
  114. Polygon(P, P2, P31') → tri632, ztri632a, ztri632c, ztri632b
  115. If(Distance[P31, P2] > Distance[P32, P2], P31, P32) → P32'
  116. Polygon(B, P1, P32', P31', P2) → penta3, zpenta3e, zpenta3d, zpenta3c, zpenta3b, zpenta3a
  117. Polygon(P, P1, P32') → tri631, ztri631b, ztri631c, ztri631a
  118. If(p31 ∧ p32 ∧ p1 ∧ p2 ∧ ((¬p11) ∨ (¬p12)) ∧ ((¬p21) ∨ (¬p22)), true, false) → pos6c
  119. If(p11 ∧ p12 ∧ p21 ∧ p22 ∨ p11 ∧ p12 ∧ p31 ∧ p32 ∨ p21 ∧ p22 ∧ p31 ∧ p32, true, false) → pos2
  120. If(p32 ∧ (¬p31), P32, P31) → P3
  121. Polygon(C, P1, P21', P22', P3) → penta2, zpenta2c, zpenta2b, zpenta2a, zpenta2e, zpenta2d
  122. Polygon(P, P3, P22') → tri622, ztri622c, ztri622a, ztri622b
  123. Midpoint(P1, P3) → V2b
  124. Ray(P, V2b) → sV2
  125. Intersect(circuloP, sV2, 1) → V2c
  126. CircumcircleSector(P1, V2c, P3) → sector1b
  127. Polygon(C, P1, P3) → tri1b, z1b2, z1b3, z1b1
  128. Polygon(P, P1, P3) → tri01b, z01b2, z01b3, z01b1
  129. If(Distance[V2b, C] < dV2 ∧ Distance[A, P] < d, aread - sector1b + tri1b + tri01b, tri1b + sector1b - tri01b) → area1b
  130. Polygon(A, B, P1, P3) → cuadri2, zcuadri2a, zcuadri2b, zcuadri2c, zcuadri2d
  131. Polygon(A, P2, P11', P12', P3) → penta1, zpenta1a, zpenta1b, zpenta1c, zpenta1d, zpenta1e
  132. Polygon(P, P3, P12') → tri612, ztri612c, ztri612b, ztri612a
  133. Midpoint(P2, P3) → V1b
  134. Ray(P, V1b) → sV1
  135. Intersect(circuloP, sV1, 1) → V1c
  136. CircumcircleSector(P2, V1c, P3) → sector1a
  137. Polygon(P, P2, P3) → tri01a, z01a2, z01a3, z01a1
  138. Polygon(A, P2, P3) → tri1a, z1a2, tri1a3, z1a1
  139. If(Distance[V1b, A] < dV1 ∧ Distance[B, P] < d, aread - sector1a + tri1a + tri01a, tri1a + sector1a - tri01a) → area1a
  140. If(area1a ≟ area1a, area1a, If[area1b ≟ area1b, area1b, area1c]) → area1
  141. If(area1 < areai, area1, areai) → area1T
  142. Polygon(C, B, P2, P3) → cuadri1, zcuadri1a, zcuadri1b, zcuadri1c, zcuadri1d
  143. If(area4 < areai, area4, areai) → area4T
  144. If(P3 ≟ P3, true, false) → p3
  145. If(p21 ∧ p22 ∧ p1 ∧ p3 ∧ ((¬p11) ∨ (¬p12)) ∧ ((¬p31) ∨ (¬p32)), true, false) → pos6b
  146. If((¬p3) ∧ p1 ∧ ((¬p11) ∨ (¬p12)) ∧ p2 ∧ ((¬p21) ∨ (¬p22)), true, false) → pos1c
  147. If((¬p2) ∧ p1 ∧ ((¬p11) ∨ (¬p12)) ∧ p3 ∧ ((¬p31) ∨ (¬p32)), true, false) → pos1b
  148. If((¬p1) ∧ p2 ∧ ((¬p21) ∨ (¬p22)) ∧ p3 ∧ ((¬p31) ∨ (¬p32)), true, false) → pos1a
  149. If(pos1a ∨ pos1b ∨ pos1c, true, false) → pos1
  150. If(pos1 ∧ dV2 ≤ d ∧ dV3 ≤ d, true, false) → pos4c
  151. If(pos1 ∧ dV1 ≤ d ∧ dV3 ≤ d, true, false) → pos4b
  152. If(pos1 ∧ dV1 ≤ d ∧ dV2 ≤ d, true, false) → pos4a
  153. If(pos4a ∨ pos4b ∨ pos4c, true, false) → pos4
  154. If(p1 ∧ (¬p2) ∧ (¬p3) ∨ (¬p1) ∧ p2 ∧ (¬p3) ∨ (¬p1) ∧ (¬p2) ∧ p3, true, false) → pos3
  155. If(p11 ∧ p12 ∧ p2 ∧ p3 ∧ ((¬p21) ∨ (¬p22)) ∧ ((¬p31) ∨ (¬p32)), true, false) → pos6a
  156. If(pos6a ∨ pos6b ∨ pos6c, true, false) → pos6
  157. CircumcircleSector(P2, P312, P1) → sector6c
  158. If(pos6c, penta3 + sector6c - sector2c - tri631 - tri632, 0) → area6c
  159. CircumcircleSector(P1, P212, P3) → sector6b
  160. If(pos6b, penta2 + sector6b - sector2b - tri621 - tri622, 0) → area6b
  161. CircumcircleSector(P2, P112, P3) → sector6a
  162. If(pos6a, penta1 + sector6a - sector2a - tri611 - tri612, 0) → area6a
  163. If(area2E < areai, area2E, areai) → area2T
  164. If(area6 < areai, area6, areai) → area6T
  165. Ray(P, M2) → fuera2
  166. Intersect(v1, fuera2) → Corte21
  167. Intersect(v3, fuera2) → Corte23
  168. Ray(P, M1) → fuera1
  169. Intersect(v3, fuera1) → Corte13
  170. Intersect(v2, fuera1) → Corte12
  171. Line(B, Lemoine) → simediana3
  172. Angle(B, A, C) → α
  173. Angle(A, C, B) → β
  174. Angle(C, B, A) → γ
  175. If(δ ≟ α, M1, If[δ ≟ β, M2, M3]) → M
  176. Line(M, Lemoine) → e
  177. If(sector2c > aread / 2, sector2c + tri2c, sector2c) → sector2C
  178. If(areaT > 0 ∨ Corte12 ≟ Corte12 ∨ Corte13 ≟ Corte13 ∨ Corte21 ≟ Corte21 ∨ Corte23 ≟ Corte23 ∨ Corte31 ≟ Corte31 ∨ Corte32 ≟ Corte32, areaT, aread) → area
  179. Angle(isleta) → ε, ζ, η
  180. Line(B, M3) → mediana3
  181. Intersect(bisectrizV2, j) → I2
  182. Circle(O, R) → circunscrita
  183. Line(G, O) → euler
  184. Mirror(euler, v2) → euler2
  185. Mirror(euler, v1) → euler1
  186. Intersect(h1, e, 2) → H
  187. Intersect(h1, euler, 1) → J
  188. Segment(J, I) → a
  189. Intersect(euler, euler1) → EE
  190. Segment(O, B) → b
  191. Circle(I, Ibase) → f
  192. Line(O, I) → c
  193. Circle(O, P59, I) → g

AI Drawing Prompt Reference

Draw a geometric figure consisting of a triangle, an ellipse, and a circle. The triangle should have its centroid, angle bisectors, and perpendicular lines marked. The triangle and ellipse should be connected by intersection points. The ellipse's foci and axes should be labeled. The circle should intersect the ellipse to form a sector. The overall figure illustrates the optimization relationship between the triangle and the ellipse, suitable for mathematical education.
The prompt above was compiled from the original drawing commands and is for reference only.