Conway Circle & Reuleaux Triangle: A Constant-Width Curve Through Six Points
Loading the math board and drawing, please wait…
① This example demonstrates the relationship between the Conway circle and the Reuleaux triangle: the Conway circle passes through six specific points on the extended sides of a triangle, and a generalized Reuleaux triangle (a curve of constant width) also passes through the same six points. ② Core mathematical concepts include: incircle, circumcircle, constant-width curves, geometric construction, rotation, and symmetry. ③ Construction highlights: using GeoGebra commands such as Polygon, Circle, Line, Intersect, Segment, CircleArc, Rotate, Center, and OrthogonalLine, the construction involves a triangle ABC, its incircle c, and a Reuleaux triangle generated via rotation and circular arcs. Objects include anim, A, B, C, t1, c, a, b, d, e, f, g, h, i, D, E, F, G, H, I, j, k, l, m, n, p, q, r_1, s, t, c_1, d_1, e_1, f_1, g_1, r, h_1, r2, r3, a0. ④ Suitable for high school and above, this is ideal for exploring geometric constructions, properties of constant-width curves, and dynamic mathematics, serving as a demonstration or student inquiry tool.
GeoGebra Commands & Parameters
Polygon(A, B, C) → t1, c, a, bCircle(A, a) → dCircle(B, b) → eCircle(C, c) → fLine(A, B) → gLine(A, C) → hLine(C, B) → iIntersect(d, g, 1) → DIntersect(d, h, 1) → EIntersect(f, i, 1) → FIntersect(f, h, 2) → GIntersect(e, g, 2) → HIntersect(e, i, 2) → ISegment(C, B) → jSegment(A, D) → kSegment(A, E) → lSegment(B, A) → mSegment(C, F) → nSegment(C, G) → pSegment(A, C) → qSegment(B, I) → r_1Segment(B, H) → sCircle(D, E, I) → tCircleArc(A, E, D) → c_1CircleArc(A, G, H) → d_1CircleArc(B, D, F) → e_1CircleArc(C, F, G) → f_1CircleArc(B, H, I) → g_1Min(1, Max[anim - 1, 0]) → rCircleArc(C, I, E) → h_1Min(1, Max[anim - 2.2, 0]) → r2Min(1, Max[anim - 3.4, 0]) → r3Segment(E, G) → a0Rotate(E, (r * Angle[C, A, B]), A) → E'Rotate(G, (r * Angle[C, A, B]), A) → G'Segment(E', G') → a1Rotate(E', (r2 * Angle[A, B, C]), B) → E''Rotate(G', (r2 * Angle[A, B, C]), B) → G''Segment(E'', G'') → a2Rotate(E'', (r3 * Angle[B, C, A]), C) → E'''Rotate(G'', (r3 * Angle[B, C, A]), C) → G'''Segment(E''', G''') → a3Circle(E''', a) → k_1Circle(G''', b) → p_1Intersect(k_1, a4, 1) → JIntersect(p_1, a4, 1) → KSegment(E''', J) → i_1Segment(J, K) → j_1Segment(K, G''') → l_1CircleArc(A, E, E') → aa1CircleArc(A, G, G') → aa2CircleArc(B, D, E'') → aa3CircleArc(B, H, G'') → aa4CircleArc(C, F, E''') → aa5CircleArc(C, I, G''') → aa6Center(t) → LMin(1, Max[anim + 0.2, 0]) → r0Rotate(E, (r0 * 360°), L) → E'_1OrthogonalLine(L, g) → m_1Intersect(g, m_1) → MCircle(L, M) → q_1Segment(L, E'_1) → n_1Segment(L, E) → s_1Intersect(q_1, s_1) → N,Rotate(N, (r0 * 360°), L) → N'CircleArc(L, N, N') → ptcCircleArc(L, E, E'_1) → ptc2OrthogonalLine(G''', a4) → t_1OrthogonalLine(E''', a4) → a_1