Cosine Formula Proof Without Words: Area Decomposition in a Triangle

Cosine Formula Proof Without Words: Area Decomposition in a Triangle
Loading the math board and drawing, please wait…
2024-11-06 11:19
This example provides a “proof without words” visualization of the Cosine Rule (Law of Cosines). It constructs a geometric setup where triangle-side and included-angle relationships are made comparable through transformed segments and area/length decompositions. Key concepts include the cosine function (cos), triangle geometry, and converting an algebraic identity into an observable geometric equivalence. The construction uses GeoGebra commands such as Polygon and Semicircle to build the base triangle and circular components, Intersect to locate critical points, Angle to tie the configuration to the marked included angle, If to handle case-based choices, and Dilate and Rotate to produce scaled/rotated copies that align the needed parts. The model centers on vertices A, B, C, auxiliary points (e.g., P, A′, B′, C′), and parameters representing sides/lengths (a, b, c, d, t, etc.) and angles (α, β, γ and their transformed versions). Suitable for high-school to early undergraduate trigonometry, theorem visualization, and exploratory learning.

GeoGebra Commands & Parameters

  1. Polygon(A, B, C) → t1, c, a, b
  2. Semicircle(A, B) → d
  3. Intersect(d, OrthogonalLine[C, c]) → D,
  4. Angle(A, C, B) → α
  5. Angle(B, A, C) → β
  6. Angle(C, B, A) → γ
  7. If(t ≤ 1, t, 1) → t_1
  8. Segment(A, O) → f
  9. Dilate(Translate[A, Vector[A, P]], 1 - t_1 + (c * t_1), P) → A_1
  10. Dilate(Translate[B, Vector[A, P]], 1 - t_1 + (c * t_1), P) → B_1
  11. Dilate(Translate[C, Vector[A, P]], 1 - t_1 + (c * t_1), P) → C_1
  12. Segment(A_1, B_1) → g
  13. Segment(B_1, C_1) → h
  14. Segment(C_1, A_1) → i
  15. Angle(A_1, C_1, B_1) → α_1
  16. Angle(B_1, A_1, C_1) → β_1
  17. Angle(C_1, B_1, A_1) → γ_1
  18. If(t < 1, 0, If[t ≥ 1 ∧ t < 2, t - 1, 1]) → t_2
  19. If(t_2 < 0.2, (5 * t_2), 1) → t_{21}
  20. If(t_2 < 0.2, 0, If[t_2 ≥ 0.2, ((t_2 - 0.2) * 1.25), 1]) → t_{22}
  21. Rotate(C + (a, 0), (-α), C) → B'
  22. Polygon(A', B', C) → t2, c_1, a', b'
  23. Segment(B', O) → j
  24. Dilate(Translate[B', Vector[B', Q]], 1 - t_{22} + (b * t_{22}), Q) → B_2
  25. Dilate(Translate[A', Vector[B', Q]], 1 - t_{22} + (b * t_{22}), Q) → A_2
  26. Dilate(Translate[C, Vector[B', Q]], 1 - t_{22} + (b * t_{22}), Q) → C_2
  27. Segment(A_2, B_2) → k
  28. Segment(B_2, C_2) → l
  29. Segment(C_2, A_2) → m
  30. Angle(B_2, C_2, A_2) → ε
  31. Angle(C_2, A_2, B_2) → ζ
  32. Angle(A_2, B_2, C_2) → η
  33. Rotate(C - (b, 0), α, C) → A''
  34. Polygon(A'', B'', C) → t3, c_2, a'', b''
  35. If(t < 2, 0, If[t ≥ 2 ∧ t < 3, t - 2, 1]) → t_3
  36. If(t_3 < 0.2, (5 * t_3), 1) → t_{31}
  37. If(t_3 < 0.2, 0, If[t_3 ≥ 0.2, ((t_3 - 0.2) * 1.25), 1]) → t_{32}
  38. Segment(B'', C_1) → n
  39. Dilate(Translate[B'', Vector[B'', R]], 1 - t_{32} + (a * t_{32}), R) → B_3
  40. Dilate(Translate[A'', Vector[B'', R]], 1 - t_{32} + (a * t_{32}), R) → A_3
  41. Dilate(Translate[C, Vector[B'', R]], 1 - t_{32} + (a * t_{32}), R) → C_3
  42. Segment(A_3, B_3) → p
  43. Segment(B_3, C_3) → q
  44. Segment(C_3, A_3) → r
  45. Angle(B_3, C_3, A_3) → θ
  46. Angle(A_3, B_3, C_3) → ι
  47. Angle(C_3, A_3, B_3) → κ
  48. If(t < 3, 0, If[3 ≥ 2 ∧ t < 4, t - 3, 1]) → t_4
  49. Segment(A_1, ((1 - t_4) * A_1) + (t_4 * (x(A_1), y(C_1)))) → s
  50. Segment(B_1, ((1 - t_4) * B_1) + (t_4 * (x(B_1), y(C_1)))) → e
  51. Angle(C_2, (x(A_1), y(C_1)), A_1) → λ
  52. Angle(B_1, (x(B_1), y(C_1)), C_3) → μ
  53. Segment(C_3, (x(B_1), y(C_1))) → f_1
  54. Segment((x(A_1), y(C_1)), C_2) → g_1

AI Drawing Prompt Reference

Draw a triangle with vertices labeled A, B, and C, showing its three interior angles. Construct a semicircle with diameter AB, and drop a perpendicular from C to AB, intersecting the semicircle at a point. Then, create three similar triangles to the original, each rotated and scaled about one vertex (A, B, or C), and translate them so their sides align with the original triangle's sides. Use distinct colors or transparencies for these triangles and display their corresponding angles. Finally, include a slider or parameter to control the unfolding of these triangles, visually demonstrating the area decomposition that proves the Law of Cosines.
The prompt above was compiled from the original drawing commands and is for reference only.