Theo Jansen Mechanism
Loading the math board and drawing, please wait…
In collections
GeoGebra and 4D Frame: ideas collection
This example demonstrates the geometric construction of Theo Jansen's walking mechanisms, focusing on circular and triangular similarity, vector transformations, and geometric constructions. It utilizes commands like Line, Circle, Intersect, Point, Rotate, Segment, OrthogonalLine, Polygon, If, Vector, Dilate, Translate, Midpoint, PointIn, and Mirror to create the mechanism. Suitable for high school and above students studying mechanical principles and geometric transformations.
GeoGebra Commands & Parameters
Line(B_4, yAxis) → l_9Line(A, xAxis) → gCircle(A, 5) → fIntersect(f, g, 1) → CCircle(A, r) → cPoint(c) → BRotate(B, α, A) → B'Rotate(B', 120*°, A) → B''_1Rotate(B''_1, 120*°, A) → B'''Segment(A, B''') → aSegment(A, B''_1) → bSegment(A, B') → dIntersect(f, g, 2) → DCircle(D, r_2) → kCircle(C, r_2) → hPoint(h) → ECircle(B', 6) → eIntersect(h, e, 1) → FIntersect(h, e, 2) → GIntersect(k, e, 2) → HIntersect(k, e, 1) → ISegment(B', F) → iSegment(B', G) → jSegment(B', H) → lSegment(B', I) → mSegment(C, F) → nSegment(C, G) → pSegment(D, H) → qSegment(D, I) → sOrthogonalLine(C, n) → tOrthogonalLine(D, q) → a_1Intersect(h, t, 2) → JIntersect(k, a_1, 1) → KPolygon(F, C, J) → polígono1, j_1, f_1, c_1Polygon(H, K, D) → polígono2, d_1, h_1, k_1Line(G, t) → b_1Line(I, a_1) → e_1Line(J, p) → g_1Line(K, s) → i_1Intersect(b_1, g_1) → LIntersect(e_1, i_1) → MPolygon(K, M, I, D) → polígono3, k_2, m_1, i_2, d_2Polygon(C, G, L, J) → polígono4, c_2, g_2, l_1, j_2OrthogonalLine(G, b_1) → n_1Circle(G, 4) → q_1Intersect(q_1, n_1, 2) → NPolygon(G, L, N) → polígono5, n_2, g_3, l_2Circle(N, 1) → s_1Intersect(s_1, n_1, 2) → P_4Segment(N, P_4) → a_2OrthogonalLine(I, m_1) → p_1Circle(I, 4) → r_1Intersect(r_1, p_1, 2) → OPolygon(I, O, M) → polígono6, m_2, i_3, oCircle(O, 1) → t_1Intersect(t_1, p_1) → Q_4, RSegment(O, R) → b_2Circle(B''_1, 6) → e_2Intersect(h, e_2, 1) → SIntersect(h, e_2, 2) → TIntersect(k, e_2, 2) → UIntersect(k, e_2, 1) → VSegment(S, B''_1) → f_2Segment(B''_1, T) → h_2Segment(U, B''_1) → p_2Segment(V, B''_1) → q_2Segment(D, U) → r_6Segment(V, D) → s_2Segment(S, C) → t_2Segment(C, T) → a_3OrthogonalLine(C, t_2) → b_3OrthogonalLine(D, r_6) → c_3Intersect(k, c_3, 1) → WIntersect(h, b_3, 1) → ZPolygon(S, C, Z) → polígono7, z, s_3, c_4Polygon(U, W, D) → polígono8, d_3, u_2, wLine(Z, a_3) → e_3Line(W, s_2) → f_3Line(T, s_3) → h_3Line(V, u_2) → j_3Intersect(e_3, h_3) → A_1Intersect(f_3, j_3) → B_1Polygon(Z, A_1, T, C) → polígono9, z_1, a_4, t_3, c_5Polygon(D, V, B_1, W) → polígono10, d_4, v, b_4, w_1OrthogonalLine(T, a_4) → k_3OrthogonalLine(V, v) → l_3Circle(T, 4) → p_3Circle(V, 4) → q_3Intersect(p_3, k_3, 1) → C_1Intersect(q_3, l_3, 1) → D_1Polygon(A_1, C_1, T) → polígono11, t_4, a_5, c_6Polygon(B_1, D_1, V) → polígono12, v_1, b_5, d_5Circle(C_1, 1) → r_3Circle(D_1, 1) → e_4Intersect(r_3, k_3, 1) → E_1Intersect(e_4, l_3, 1) → F_1Segment(C_1, E_1) → m_3Segment(D_1, F_1) → n_3Circle(B''', 6) → f_4Intersect(h, f_4) → G_1, H_1, ,Intersect(k, f_4) → I_1, J_1, ,Segment(G_1, B''') → g_4Segment(H_1, B''') → h_4Segment(B''', J_1) → i_4Segment(B''', I_1) → j_4Segment(D, J_1) → k_4Segment(D, I_1) → l_4Segment(H_1, C) → m_4Segment(C, G_1) → n_4OrthogonalLine(C, n_4) → p_4OrthogonalLine(D, k_4) → q_4Intersect(h, p_4, 2) → K_1Intersect(k, q_4, 1) → L_1Polygon(J_1, L_1, D) → polígono13, d_6, j_5, l_5Polygon(G_1, C, K_1) → polígono14, k_5, g_5, c_7Line(H_1, g_5) → r_4Line(I_1, j_5) → s_4Line(K_1, m_4) → e_5Line(L_1, l_4) → f_5Intersect(r_4, e_5) → M_1Intersect(s_4, f_5) → N_1Polygon(K_1, C, H_1, M_1) → polígono15, k_6, c_8, h_5, m_5Polygon(L_1, N_1, I_1, D) → polígono16, l_6, n_5, i_5, d_7Line(H_1, m_4) → p_5Line(I_1, i_5) → q_5Circle(H_1, 4) → r_5Circle(I_1, 4) → s_5OrthogonalLine(H_1, h_5) → t_5Circle(H_1, 4) → e_6Circle(I_1, 4) → f_6Intersect(e_6, t_5, 2) → O_1Polygon(H_1, O_1, M_1) → polígono17, m_6, h_6, o_1Circle(O_1, 1) → g_6Intersect(g_6, t_5, 2) → Q_1Segment(O_1, Q_1) → a_6Polygon(F, C, B') → poly1, b', f_7, c_9Polygon(H, B', D) → poly2, d_8, h_7, b'_1Polygon(G, C, B') → poly3, b'_2, g_7, c_{10}Polygon(D, I, B') → poly4, b'_3, d_9, i_7If(patas_1, 0, 1) → uIf(patas_1, 0, 1) → v_2If(patas_1, 0, 1) → w_2If(patas_1, 0, 1) → o_3If(patas_1, 0, 1) → v_3If(patas_1, 0, 1) → w_3Polygon(B', F, J, L, N, G) → poly8, b'_4, f_9, j_7, l_7, n_7, g_9Polygon(B', H, K, M, O, I) → poly9, b'_5, h_9, k_7, m_7, o_2, i_8Segment(K_2, M_2) → s_6Point(s_6) → N_2Vector(M_2, N_2) → u_1Dilate(N_2, dezact1, K_2) → O_2Vector(K_2, O_2) → u_3Translate(B', u_3) → B''_2Translate(F, u_3) → F'Translate(J, u_3) → J'Translate(L, u_3) → L'Translate(N, u_3) → N'Translate(G, u_3) → G'Polygon(B''_2, F', J', L', N', G') → poly8', b'', f', j', l', n', g'Dilate(N_2, dezact1_2, K_2) → Q_2Vector(K_2, Q_2) → u_4Translate(B', u_4) → B''Translate(H, u_4) → H'Translate(K, u_4) → K'Translate(M, u_4) → M'Translate(O, u_4) → O'Translate(I, u_4) → I'Polygon(B'', H', K', M', O', I') → poly9', b''_1, h', k', m', o', i'Segment(G', I') → t_6Midpoint(t_6) → R_2OrthogonalLine(R_2, t_6) → p_7Circle(R_2, 9) → q_7Intersect(q_7, p_7, 2) → S_2Intersect(q_7, p_7, 1) → T_2Segment(T_2, S_2) → r_7Line(P_1, xAxis) → b_6Point(b_6) → R_1Segment(P_1, R_1) → i_6Segment(P_1, R_1) → j_6Midpoint(i_6) → T_1OrthogonalLine(T_1, b_6) → n_6Circle(T_1, 8) → p_6Intersect(p_6, n_6, 2) → G_2Circle(G_2, r) → q_6PointIn(q_6) → P_2Segment(G_2, P_2) → a_7Rotate(G_2, 45*°, G_2) → U_2Rotate(P_2, δ, G_2) → V_2Segment(U_2, V_2) → b_7Line(U_2, b_7) → e_7Mirror(e_7, n_6) → s_7Point(n_6) → W_2Line(W_2, b_6) → t_7Intersect(e_7, t_7) → Z_2Intersect(s_7, t_7) → A_3Segment(V_2, Z_2) → a_8Intersect(q_6, s_7, 2) → B_3Line(B_3, e_7) → e_8Line(V_2, s_7) → f_8Intersect(e_8, f_8) → C_3Circle(C_3, r) → g_8Intersect(g_8, f_8, 2) → D_3Intersect(g_8, e_8, 2) → E_3Line(D_3, e_8) → h_8Line(E_3, f_8) → j_8Intersect(h_8, j_8) → F_3Segment(D_3, C_3) → l_8Segment(E_3, C_3) → n_8Segment(C_3, V_2) → p_8Segment(B_3, C_3) → q_8Circle(F_3, r) → r_8Intersect(r_8, j_8, 2) → G_3Intersect(r_8, h_8, 2) → H_3Segment(D_3, H_3) → k_8Segment(E_3, G_3) → m_8Line(H_3, b_6) → s_8Circle(H_3, 2) → t_8Circle(G_3, 2) → e_9Intersect(n_6, s_8) → I_3Circle(I_3, 5) → k_9Intersect(k_9, s_8, 1) → J_3Intersect(k_9, s_8, 2) → K_3Circle(W_2, 7) → p_9Intersect(p_9, t_7, 1) → P_3Intersect(p_9, t_7, 2) → Q_3Circle(W_2, 4) → q_9Intersect(q_9, n_6, 1) → R_3OrthogonalLine(R_3, n_6) → a_9Intersect(p_9, a_9, 2) → S_3Intersect(p_9, a_9, 1) → T_3Segment(G_3, H_3) → b_9Segment(B_3, U_2) → b_8OrthogonalLine(I_1, n_5) → i_9Circle(I_1, 4) → r_9Intersect(r_9, i_9, 2) → U_3Intersect(n_5, l_6) → V_3Segment(V_3, U_3) → j_9Circle(U_3, 1) → s_9Intersect(s_9, i_9, 2) → W_3Segment(I_1, U_3) → t_9Polygon(I_1, V_3, U_3) → poly6, u_5, i_{10}, v_4Segment(U_3, W_3) → a_{10}Point(l_9) → C_4Segment(P, Q) → m_9Segment(P_5, Q_5) → m_{10}Point(l_9) → F_4Point(l_9) → G_4Polygon(E_4, F_4, G_4, H_4) → Botonanima, e_{10}, f_{10}, g_{10}, h_{10}Point(Circle[I_4, 12]) → J_4Polygon(I_4, J_4, K_4, L_4) → polígono18, i_{11}, j_{10}, k_{10}, l_{10}Point(Circle[I_5, 12]) → J_5Polygon(I_5, J_5, K_5, L_5) → polígono18_1, i_{12}, j_{11}, k_{11}, l_{11}
AI Drawing Prompt Reference
Draw a geometric construction inspired by Theo Jansen's mechanism. Start with a horizontal axis and a vertical axis. Place a center point on the horizontal axis and draw two concentric circles around it, one with a fixed radius and one with a variable radius. Mark two points on the fixed circle, and rotate a point from the variable circle around these centers by specific angles to create three symmetric vertices. Connect the center to these vertices with segments to form a triangular frame. Then, using another point on the fixed circle as a center, draw a circle that intersects the previous ones, yielding multiple intersection points. Connect these points with segments to form linkage bars. From certain points, draw perpendicular lines to intersect circles, creating new points, and use them to construct polygons and triangles. Finally, add a small circle at a specific point as a marker. The overall figure is symmetric, featuring circles, triangles, polygons, and segments.
The prompt above was compiled from the original drawing commands and is for reference only.