Carnot Action! = GoGeometry Action 27!
Loading the math board and drawing, please wait…
① This interactive GeoGebra example dynamically illustrates Carnot's Theorem for the case of an obtuse triangle, allowing users to drag vertices and observe the invariant relationships. ② Core mathematical concepts include circumcircle, incircle, perpendicular distances from vertices to opposite sides, and the algebraic identity relating these distances to the triangle's side lengths and circumradius. ③ The construction uses GeoGebra commands such as Rotate, Segment, Ray, Point, Intersect, LineBisector, OrthogonalLine, Circle, CircleSector, Dilate, CircleArc, Vector, Translate, and Line to build the triangle, auxiliary circles, and perpendicular lines, with dynamic sliders or draggable points for exploration. ④ Suitable for high school and above, or geometry enthusiasts, this example serves as a visual proof and exploration tool for understanding Carnot's theorem, triangle geometry, and the properties of circumscribed and inscribed circles.
GeoGebra Commands & Parameters
Rotate(A, a°, B) → A'Angle(A, B, A') → αSegment(B, A) → fRay(B, A') → gPoint(g) → CSegment(A, C) → hSegment(B, C) → iRotate(A, α / 2, B) → A'_1Angle(A, B, A'_1) → βRay(B, A'_1) → jAngle(C, A, B) → γRotate(C, γ / 2, A) → C'Angle(C, A, C') → δRay(A, C') → kIntersect(k, j) → DLineBisector(h) → lLineBisector(i) → mIntersect(l, m) → EOrthogonalLine(D, i) → nOrthogonalLine(D, h) → pIntersect(n, i) → FIntersect(p, h) → GAngle(D, G, A) → εAngle(D, F, C) → ζMin(f, i) → bCircle(A, (0.2 * b)) → cCircle(B, (0.2 * b)) → dIntersect(c, h, 1) → HIntersect(c, k, 1) → IIntersect(d, f, 1) → JIntersect(d, j, 1) → KCircleSector(A, H, I) → eCircleSector(B, J, K) → qIntersect(i, k) → LIntersect(h, j) → MDilate(A, If[0 < o ≤ 1, 1 - o, 0], L) → A'_2Segment(A, A'_2) → rDilate(B, If[1 < o ≤ 2, 2 - o, 0], D) → B'Segment(B, B') → sDilate(D, If[2 < o ≤ 3, 3 - o, 0], M) → D'Segment(D, D') → tRotate(e, If[3 < o ≤ 4, ((o - 3) * γ / 2), γ / 2], A) → e'Rotate(q, If[4 < o ≤ 5, ((o - 4) * α / 2), α / 2], B) → q'Circle(D, F) → c_1Rotate(F, If[5 < o ≤ 7, ((o - 5) * π), π], D) → F'CircleArc(D, F, F') → d_1Dilate(E, If[8 < o ≤ 9, 9 - o, 0], C) → E'Segment(E, E') → f_1Circle(E, C) → e_1Rotate(C, If[9 < o ≤ 11, ((o - 9) * π), π], E) → C'_1CircleArc(E, C, C'_1) → g_1Min({y(E), y(A), y(B), y(C)}) → uOrthogonalLine(E, h_1) → j_1Intersect(h_1, j_1) → NIntersect(i_1, j_1) → OOrthogonalLine(E, h) → k_1OrthogonalLine(E, i) → l_1OrthogonalLine(E, f) → m_1Intersect(l_1, i) → PIntersect(k_1, h) → QIntersect(m_1, f) → RDilate(E, If[11 < o ≤ 12, 12 - o, 0], P) → E'_1Dilate(E, If[11 < o ≤ 12, 12 - o, 0], Q) → E'_2Dilate(E, If[11 < o ≤ 12, 12 - o, 0], R) → E'_3Segment(E, E'_1) → n_1Segment(E, E'_2) → p_1Segment(E, E'_3) → q_1Angle(E, Q, C) → ηAngle(E, P, C) → θAngle(E, R, B) → ιDilate(E, If[12 < o ≤ 13, 13 - o, 0], N) → E'_4Vector(E, E'_4) → vTranslate(E, v) → E'_5Translate(E', v) → E''Segment(E'_5, E'') → r_1Line(E, h_1) → s_1Intersect(e_1, s_1, 2) → TAngle(T, E, C) → κRotate(E'_5, If[13 < o ≤ 14, ((-(o - 13)) * κ), (-κ)], N) → URotate(E'', If[13 < o ≤ 14, ((-(o - 13)) * κ), (-κ)], N) → E'''Segment(U, E''') → t_1Dilate(D, If[5 < o ≤ 6, 6 - o, 0], F) → D'_1Segment(D, D'_1) → a_1Dilate(D, If[5 < o ≤ 6, 6 - o, 0], G) → D'_2Segment(D, D'_2) → b_1Dilate(D, If[14 < o ≤ 15, 15 - o, 0], E''') → D'_3Vector(D, D'_3) → wTranslate(D, w) → D'_4Translate(D'_1, w) → SSegment(D'_4, S) → f_2Line(D, i_1) → g_2Intersect(c_1, g_2, 2) → VAngle(V, D, F) → λRotate(D'_4, If[15 < o ≤ 16, ((-(o - 15)) * λ), (-λ)], E''') → WRotate(S, If[15 < o ≤ 16, ((-(o - 15)) * λ), (-λ)], E''') → S'Segment(W, S') → h_2Circle(O, t_1 + h_2) → c_2Intersect(c_2, i_1, 2) → ZCircle(O, 1) → d_2Circle(Z, 1) → e_2Intersect(d_2, i_1, 1) → A_1Intersect(e_2, i_1, 2) → B_1Ray(O, A_1) → i_2Ray(Z, B_1) → j_2Circle(O, q_1) → k_2Intersect(k_2, i_1, 2) → C_1Circle(C_1, n_1) → p_2Intersect(i_1, j_2) → D_1Intersect(i_1, j_2) → E_1Intersect(p_2, i_1) → F_1, G_1Ray(O, A_1) → l_2Segment(N, S') → m_2Dilate(N, If[16 < o ≤ 17, 17 - o, 0], O) → N'Vector(N, N') → u_1Translate(N, u_1) → N'_1Translate(S', u_1) → S''Segment(N'_1, S'') → n_2Segment(N, N'_1) → q_2Segment(O, C_1) → r_2Segment(C_1, Z) → s_2Circle(G_1, 1) → t_2Intersect(t_2, j_2, 2) → H_1Ray(G_1, H_1) → a_2Segment(Z, G_1) → b_2Dilate(O, If[17 < o ≤ 18, 18 - o, 0], Z) → O'Vector(O, O') → v_1Translate(N, v_1) → N'_2Translate(N'_1, v_1) → I_1Segment(N'_2, I_1) → f_3Dilate(R, If[18 < o ≤ 19, 19 - o, 0], O) → R'Vector(R, R') → w_1Translate(E, w_1) → E'_6Translate(E'_3, w_1) → J_1Segment(E'_6, J_1) → g_3Line(R, h_1) → h_3Intersect(e_1, h_3, 2) → K_1Angle(E, R, K_1) → μRotate(E'_6, If[19 < o ≤ 20, ((o - 19) * μ), μ], O) → L_1Rotate(J_1, If[19 < o ≤ 20, ((o - 19) * μ), μ], O) → M_1Segment(L_1, M_1) → i_3Dilate(E, If[20 < o ≤ 21, 21 - o, 0], C_1) → E'_7Vector(E, E'_7) → u_2Translate(E, u_2) → E'_8Translate(E'_1, u_2) → N_1Segment(E'_8, N_1) → j_3Angle(T, E, P) → τRotate(E'_8, If[21 < o ≤ 22, ((-(o - 21)) * τ), (-τ)], C_1) → O_1Rotate(N_1, If[21 < o ≤ 22, ((-(o - 21)) * τ), (-τ)], C_1) → P_1Segment(O_1, P_1) → k_3Intersect(e_1, s_1, 1) → Q_1Segment(Z, G_1) → m_3Segment(C_1, Z) → n_3Dilate(E, If[22 < o ≤ 23, 23 - o, 0], G_1) → E'_9Vector(E, E'_9) → v_2Translate(E, v_2) → E'_{10}Translate(E'_2, v_2) → R_1Segment(E'_{10}, R_1) → p_3Angle(Q, E, Q_1) → χRotate(E'_{10}, If[23 < o ≤ 24, ((o - 23) * χ), χ], G_1) → S_1Rotate(R_1, If[23 < o ≤ 24, ((o - 23) * χ), χ], G_1) → T_1Segment(S_1, T_1) → q_3Polygon(A, B, C) → poly1, c_3, a_3, b_3