Cosine Formula Proof Without Words: Area Decomposition in a Triangle
Loading the math board and drawing, please wait…
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
Polygon(A, B, C) → t1, c, a, bSemicircle(A, B) → dIntersect(d, OrthogonalLine[C, c]) → D,Angle(A, C, B) → αAngle(B, A, C) → βAngle(C, B, A) → γIf(t ≤ 1, t, 1) → t_1Segment(A, O) → fDilate(Translate[A, Vector[A, P]], 1 - t_1 + (c * t_1), P) → A_1Dilate(Translate[B, Vector[A, P]], 1 - t_1 + (c * t_1), P) → B_1Dilate(Translate[C, Vector[A, P]], 1 - t_1 + (c * t_1), P) → C_1Segment(A_1, B_1) → gSegment(B_1, C_1) → hSegment(C_1, A_1) → iAngle(A_1, C_1, B_1) → α_1Angle(B_1, A_1, C_1) → β_1Angle(C_1, B_1, A_1) → γ_1If(t < 1, 0, If[t ≥ 1 ∧ t < 2, t - 1, 1]) → t_2If(t_2 < 0.2, (5 * t_2), 1) → t_{21}If(t_2 < 0.2, 0, If[t_2 ≥ 0.2, ((t_2 - 0.2) * 1.25), 1]) → t_{22}Rotate(C + (a, 0), (-α), C) → B'Polygon(A', B', C) → t2, c_1, a', b'Segment(B', O) → jDilate(Translate[B', Vector[B', Q]], 1 - t_{22} + (b * t_{22}), Q) → B_2Dilate(Translate[A', Vector[B', Q]], 1 - t_{22} + (b * t_{22}), Q) → A_2Dilate(Translate[C, Vector[B', Q]], 1 - t_{22} + (b * t_{22}), Q) → C_2Segment(A_2, B_2) → kSegment(B_2, C_2) → lSegment(C_2, A_2) → mAngle(B_2, C_2, A_2) → εAngle(C_2, A_2, B_2) → ζAngle(A_2, B_2, C_2) → ηRotate(C - (b, 0), α, C) → A''Polygon(A'', B'', C) → t3, c_2, a'', b''If(t < 2, 0, If[t ≥ 2 ∧ t < 3, t - 2, 1]) → t_3If(t_3 < 0.2, (5 * t_3), 1) → t_{31}If(t_3 < 0.2, 0, If[t_3 ≥ 0.2, ((t_3 - 0.2) * 1.25), 1]) → t_{32}Segment(B'', C_1) → nDilate(Translate[B'', Vector[B'', R]], 1 - t_{32} + (a * t_{32}), R) → B_3Dilate(Translate[A'', Vector[B'', R]], 1 - t_{32} + (a * t_{32}), R) → A_3Dilate(Translate[C, Vector[B'', R]], 1 - t_{32} + (a * t_{32}), R) → C_3Segment(A_3, B_3) → pSegment(B_3, C_3) → qSegment(C_3, A_3) → rAngle(B_3, C_3, A_3) → θAngle(A_3, B_3, C_3) → ιAngle(C_3, A_3, B_3) → κIf(t < 3, 0, If[3 ≥ 2 ∧ t < 4, t - 3, 1]) → t_4Segment(A_1, ((1 - t_4) * A_1) + (t_4 * (x(A_1), y(C_1)))) → sSegment(B_1, ((1 - t_4) * B_1) + (t_4 * (x(B_1), y(C_1)))) → eAngle(C_2, (x(A_1), y(C_1)), A_1) → λAngle(B_1, (x(B_1), y(C_1)), C_3) → μSegment(C_3, (x(B_1), y(C_1))) → f_1Segment((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.