Law of Cosines Extending Pythagorean Theorem
Loading the math board and drawing, please wait…
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
Point(Circle[A, scale]) → arcrightLine(A, arcright) → hPoint(h) → CDistance(A, C) → acPoint(Circle[A, scale]) → arcleftCircleArc(A, arcright, arcleft) → c_1Point(c_1) → BDistance(B, C) → bcAngle(B, C, A) → angleCSegment(A, arcleft) → fSegment(A, arcright) → gSegment(C, A) → bSegment(A, B) → cSegment(B, C) → aPolygon(A, B, 4) → csquared, j, k, l, m, D, EPolygon(B, C, 4) → asquared, n, p, q, r, F, GPolygon(C, A, 4) → bsquared, s, t, a_1, d, H, IAngle(B, C, I) → αAngle(F, C, A) → βRotate(C, (-β), C) → C'Rotate(A, (-β), C) → A'Segment(C', A') → b'_1Rotate(B, α, C) → B'Rotate(C, α, C) → C'_1Segment(B', C'_1) → a'_1Vector(C, I) → uTranslate(B', u) → B''Translate(C'_1, u) → JSegment(B'', J) → a''Vector(C, F) → vTranslate(C', v) → C''Translate(A', v) → A''Segment(C'', A'') → b''Dilate(B'', cosc, J) → B'''Dilate(J, cosc, J) → J'Segment(B''', J') → a'''Dilate(C'', cosc, C'') → C'''Dilate(A'', cosc, C'') → A'''Segment(C''', A''') → b'''Vector(J, H) → wTranslate(B''', w) → KTranslate(J', w) → J''Segment(K, J'') → iVector(C'', G) → eTranslate(C''', e) → LTranslate(A''', e) → MSegment(L, M) → f_1Polygon(C'', A''', M, G) → poly1, c'', a'''_1, m_1, g_1Polygon(B''', K, H, J) → poly2, b'''_1, k_1, h_1, j_1Line(H, J) → i_1Line(G, C'') → l_1Mirror(C'', l_1) → C'''_1Mirror(A''', l_1) → NMirror(M, l_1) → M'Mirror(G, l_1) → G'Polygon(C'''_1, N, M', G') → poly1', bcosc, a'_2, m', g'Mirror(B''', i_1) → OMirror(K, i_1) → K'Mirror(H, i_1) → H'Mirror(J, i_1) → J'_1Polygon(O, K', H', J'_1) → poly2', b'_2, acosc, h', j'_1Area(csquared) → ccArea(asquared) → aaArea(bsquared) → bbSum({aa, bb}) → aaplusbbDistance(A, B) → abOrthogonalLine(B, b) → n_1OrthogonalLine(B, h) → p_1Intersect(h, p_1) → QPoint(t) → RIntersect(b'_2, acosc) → SSegment(R, S) → s_1Intersect(b'_2, acosc) → TIntersect(b'_2, j'_1) → USegment(T, U) → t_1Segment(R, T) → acosCSegment(T, U) → b'Segment(C'''_1, N) → bcosCSegment(N, M') → a'Angle(A, B, C) → γRay(A, C) → q_1