Law of Cosines Extending Pythagorean Theorem

Law of Cosines Extending Pythagorean Theorem
Loading the math board and drawing, please wait…
2017-06-06 04:43
This illustration demonstrates how the -2abcosC term in the Law of Cosines adds to or subtracts from (a^2) + (b^2) to maintain equality with c^2. Note the several cases where the relationship changes, providing a deeper understanding of the theorem. Key math concepts include the Law of Cosines, Pythagorean Theorem, triangles, and inequalities. The construction uses GeoGebra commands and objects such as Point, Line, Distance, CircleArc, Angle, Segment, Polygon, Rotate, Vector, Translate, Dilate, Mirror, Area, Sum, OrthogonalLine, Intersect, Ray. Suitable for high school and above, for understanding and applying the Law of Cosines and Pythagorean Theorem.

GeoGebra Commands & Parameters

  1. Point(Circle[A, scale]) → arcright
  2. Line(A, arcright) → h
  3. Point(h) → C
  4. Distance(A, C) → ac
  5. Point(Circle[A, scale]) → arcleft
  6. CircleArc(A, arcright, arcleft) → c_1
  7. Point(c_1) → B
  8. Distance(B, C) → bc
  9. Angle(B, C, A) → angleC
  10. Segment(A, arcleft) → f
  11. Segment(A, arcright) → g
  12. Segment(C, A) → b
  13. Segment(A, B) → c
  14. Segment(B, C) → a
  15. Polygon(A, B, 4) → csquared, j, k, l, m, D, E
  16. Polygon(B, C, 4) → asquared, n, p, q, r, F, G
  17. Polygon(C, A, 4) → bsquared, s, t, a_1, d, H, I
  18. Angle(B, C, I) → α
  19. Angle(F, C, A) → β
  20. Rotate(C, (-β), C) → C'
  21. Rotate(A, (-β), C) → A'
  22. Segment(C', A') → b'_1
  23. Rotate(B, α, C) → B'
  24. Rotate(C, α, C) → C'_1
  25. Segment(B', C'_1) → a'_1
  26. Vector(C, I) → u
  27. Translate(B', u) → B''
  28. Translate(C'_1, u) → J
  29. Segment(B'', J) → a''
  30. Vector(C, F) → v
  31. Translate(C', v) → C''
  32. Translate(A', v) → A''
  33. Segment(C'', A'') → b''
  34. Dilate(B'', cosc, J) → B'''
  35. Dilate(J, cosc, J) → J'
  36. Segment(B''', J') → a'''
  37. Dilate(C'', cosc, C'') → C'''
  38. Dilate(A'', cosc, C'') → A'''
  39. Segment(C''', A''') → b'''
  40. Vector(J, H) → w
  41. Translate(B''', w) → K
  42. Translate(J', w) → J''
  43. Segment(K, J'') → i
  44. Vector(C'', G) → e
  45. Translate(C''', e) → L
  46. Translate(A''', e) → M
  47. Segment(L, M) → f_1
  48. Polygon(C'', A''', M, G) → poly1, c'', a'''_1, m_1, g_1
  49. Polygon(B''', K, H, J) → poly2, b'''_1, k_1, h_1, j_1
  50. Line(H, J) → i_1
  51. Line(G, C'') → l_1
  52. Mirror(C'', l_1) → C'''_1
  53. Mirror(A''', l_1) → N
  54. Mirror(M, l_1) → M'
  55. Mirror(G, l_1) → G'
  56. Polygon(C'''_1, N, M', G') → poly1', bcosc, a'_2, m', g'
  57. Mirror(B''', i_1) → O
  58. Mirror(K, i_1) → K'
  59. Mirror(H, i_1) → H'
  60. Mirror(J, i_1) → J'_1
  61. Polygon(O, K', H', J'_1) → poly2', b'_2, acosc, h', j'_1
  62. Area(csquared) → cc
  63. Area(asquared) → aa
  64. Area(bsquared) → bb
  65. Sum({aa, bb}) → aaplusbb
  66. Distance(A, B) → ab
  67. OrthogonalLine(B, b) → n_1
  68. OrthogonalLine(B, h) → p_1
  69. Intersect(h, p_1) → Q
  70. Point(t) → R
  71. Intersect(b'_2, acosc) → S
  72. Segment(R, S) → s_1
  73. Intersect(b'_2, acosc) → T
  74. Intersect(b'_2, j'_1) → U
  75. Segment(T, U) → t_1
  76. Segment(R, T) → acosC
  77. Segment(T, U) → b'
  78. Segment(C'''_1, N) → bcosC
  79. Segment(N, M') → a'
  80. Angle(A, B, C) → γ
  81. Ray(A, C) → q_1