Theo Jansen Mechanism

Theo Jansen Mechanism
Loading the math board and drawing, please wait…
2014-06-04 07:27
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

  1. Line(B_4, yAxis) → l_9
  2. Line(A, xAxis) → g
  3. Circle(A, 5) → f
  4. Intersect(f, g, 1) → C
  5. Circle(A, r) → c
  6. Point(c) → B
  7. Rotate(B, α, A) → B'
  8. Rotate(B', 120*°, A) → B''_1
  9. Rotate(B''_1, 120*°, A) → B'''
  10. Segment(A, B''') → a
  11. Segment(A, B''_1) → b
  12. Segment(A, B') → d
  13. Intersect(f, g, 2) → D
  14. Circle(D, r_2) → k
  15. Circle(C, r_2) → h
  16. Point(h) → E
  17. Circle(B', 6) → e
  18. Intersect(h, e, 1) → F
  19. Intersect(h, e, 2) → G
  20. Intersect(k, e, 2) → H
  21. Intersect(k, e, 1) → I
  22. Segment(B', F) → i
  23. Segment(B', G) → j
  24. Segment(B', H) → l
  25. Segment(B', I) → m
  26. Segment(C, F) → n
  27. Segment(C, G) → p
  28. Segment(D, H) → q
  29. Segment(D, I) → s
  30. OrthogonalLine(C, n) → t
  31. OrthogonalLine(D, q) → a_1
  32. Intersect(h, t, 2) → J
  33. Intersect(k, a_1, 1) → K
  34. Polygon(F, C, J) → polígono1, j_1, f_1, c_1
  35. Polygon(H, K, D) → polígono2, d_1, h_1, k_1
  36. Line(G, t) → b_1
  37. Line(I, a_1) → e_1
  38. Line(J, p) → g_1
  39. Line(K, s) → i_1
  40. Intersect(b_1, g_1) → L
  41. Intersect(e_1, i_1) → M
  42. Polygon(K, M, I, D) → polígono3, k_2, m_1, i_2, d_2
  43. Polygon(C, G, L, J) → polígono4, c_2, g_2, l_1, j_2
  44. OrthogonalLine(G, b_1) → n_1
  45. Circle(G, 4) → q_1
  46. Intersect(q_1, n_1, 2) → N
  47. Polygon(G, L, N) → polígono5, n_2, g_3, l_2
  48. Circle(N, 1) → s_1
  49. Intersect(s_1, n_1, 2) → P_4
  50. Segment(N, P_4) → a_2
  51. OrthogonalLine(I, m_1) → p_1
  52. Circle(I, 4) → r_1
  53. Intersect(r_1, p_1, 2) → O
  54. Polygon(I, O, M) → polígono6, m_2, i_3, o
  55. Circle(O, 1) → t_1
  56. Intersect(t_1, p_1) → Q_4, R
  57. Segment(O, R) → b_2
  58. Circle(B''_1, 6) → e_2
  59. Intersect(h, e_2, 1) → S
  60. Intersect(h, e_2, 2) → T
  61. Intersect(k, e_2, 2) → U
  62. Intersect(k, e_2, 1) → V
  63. Segment(S, B''_1) → f_2
  64. Segment(B''_1, T) → h_2
  65. Segment(U, B''_1) → p_2
  66. Segment(V, B''_1) → q_2
  67. Segment(D, U) → r_6
  68. Segment(V, D) → s_2
  69. Segment(S, C) → t_2
  70. Segment(C, T) → a_3
  71. OrthogonalLine(C, t_2) → b_3
  72. OrthogonalLine(D, r_6) → c_3
  73. Intersect(k, c_3, 1) → W
  74. Intersect(h, b_3, 1) → Z
  75. Polygon(S, C, Z) → polígono7, z, s_3, c_4
  76. Polygon(U, W, D) → polígono8, d_3, u_2, w
  77. Line(Z, a_3) → e_3
  78. Line(W, s_2) → f_3
  79. Line(T, s_3) → h_3
  80. Line(V, u_2) → j_3
  81. Intersect(e_3, h_3) → A_1
  82. Intersect(f_3, j_3) → B_1
  83. Polygon(Z, A_1, T, C) → polígono9, z_1, a_4, t_3, c_5
  84. Polygon(D, V, B_1, W) → polígono10, d_4, v, b_4, w_1
  85. OrthogonalLine(T, a_4) → k_3
  86. OrthogonalLine(V, v) → l_3
  87. Circle(T, 4) → p_3
  88. Circle(V, 4) → q_3
  89. Intersect(p_3, k_3, 1) → C_1
  90. Intersect(q_3, l_3, 1) → D_1
  91. Polygon(A_1, C_1, T) → polígono11, t_4, a_5, c_6
  92. Polygon(B_1, D_1, V) → polígono12, v_1, b_5, d_5
  93. Circle(C_1, 1) → r_3
  94. Circle(D_1, 1) → e_4
  95. Intersect(r_3, k_3, 1) → E_1
  96. Intersect(e_4, l_3, 1) → F_1
  97. Segment(C_1, E_1) → m_3
  98. Segment(D_1, F_1) → n_3
  99. Circle(B''', 6) → f_4
  100. Intersect(h, f_4) → G_1, H_1, ,
  101. Intersect(k, f_4) → I_1, J_1, ,
  102. Segment(G_1, B''') → g_4
  103. Segment(H_1, B''') → h_4
  104. Segment(B''', J_1) → i_4
  105. Segment(B''', I_1) → j_4
  106. Segment(D, J_1) → k_4
  107. Segment(D, I_1) → l_4
  108. Segment(H_1, C) → m_4
  109. Segment(C, G_1) → n_4
  110. OrthogonalLine(C, n_4) → p_4
  111. OrthogonalLine(D, k_4) → q_4
  112. Intersect(h, p_4, 2) → K_1
  113. Intersect(k, q_4, 1) → L_1
  114. Polygon(J_1, L_1, D) → polígono13, d_6, j_5, l_5
  115. Polygon(G_1, C, K_1) → polígono14, k_5, g_5, c_7
  116. Line(H_1, g_5) → r_4
  117. Line(I_1, j_5) → s_4
  118. Line(K_1, m_4) → e_5
  119. Line(L_1, l_4) → f_5
  120. Intersect(r_4, e_5) → M_1
  121. Intersect(s_4, f_5) → N_1
  122. Polygon(K_1, C, H_1, M_1) → polígono15, k_6, c_8, h_5, m_5
  123. Polygon(L_1, N_1, I_1, D) → polígono16, l_6, n_5, i_5, d_7
  124. Line(H_1, m_4) → p_5
  125. Line(I_1, i_5) → q_5
  126. Circle(H_1, 4) → r_5
  127. Circle(I_1, 4) → s_5
  128. OrthogonalLine(H_1, h_5) → t_5
  129. Circle(H_1, 4) → e_6
  130. Circle(I_1, 4) → f_6
  131. Intersect(e_6, t_5, 2) → O_1
  132. Polygon(H_1, O_1, M_1) → polígono17, m_6, h_6, o_1
  133. Circle(O_1, 1) → g_6
  134. Intersect(g_6, t_5, 2) → Q_1
  135. Segment(O_1, Q_1) → a_6
  136. Polygon(F, C, B') → poly1, b', f_7, c_9
  137. Polygon(H, B', D) → poly2, d_8, h_7, b'_1
  138. Polygon(G, C, B') → poly3, b'_2, g_7, c_{10}
  139. Polygon(D, I, B') → poly4, b'_3, d_9, i_7
  140. If(patas_1, 0, 1) → u
  141. If(patas_1, 0, 1) → v_2
  142. If(patas_1, 0, 1) → w_2
  143. If(patas_1, 0, 1) → o_3
  144. If(patas_1, 0, 1) → v_3
  145. If(patas_1, 0, 1) → w_3
  146. Polygon(B', F, J, L, N, G) → poly8, b'_4, f_9, j_7, l_7, n_7, g_9
  147. Polygon(B', H, K, M, O, I) → poly9, b'_5, h_9, k_7, m_7, o_2, i_8
  148. Segment(K_2, M_2) → s_6
  149. Point(s_6) → N_2
  150. Vector(M_2, N_2) → u_1
  151. Dilate(N_2, dezact1, K_2) → O_2
  152. Vector(K_2, O_2) → u_3
  153. Translate(B', u_3) → B''_2
  154. Translate(F, u_3) → F'
  155. Translate(J, u_3) → J'
  156. Translate(L, u_3) → L'
  157. Translate(N, u_3) → N'
  158. Translate(G, u_3) → G'
  159. Polygon(B''_2, F', J', L', N', G') → poly8', b'', f', j', l', n', g'
  160. Dilate(N_2, dezact1_2, K_2) → Q_2
  161. Vector(K_2, Q_2) → u_4
  162. Translate(B', u_4) → B''
  163. Translate(H, u_4) → H'
  164. Translate(K, u_4) → K'
  165. Translate(M, u_4) → M'
  166. Translate(O, u_4) → O'
  167. Translate(I, u_4) → I'
  168. Polygon(B'', H', K', M', O', I') → poly9', b''_1, h', k', m', o', i'
  169. Segment(G', I') → t_6
  170. Midpoint(t_6) → R_2
  171. OrthogonalLine(R_2, t_6) → p_7
  172. Circle(R_2, 9) → q_7
  173. Intersect(q_7, p_7, 2) → S_2
  174. Intersect(q_7, p_7, 1) → T_2
  175. Segment(T_2, S_2) → r_7
  176. Line(P_1, xAxis) → b_6
  177. Point(b_6) → R_1
  178. Segment(P_1, R_1) → i_6
  179. Segment(P_1, R_1) → j_6
  180. Midpoint(i_6) → T_1
  181. OrthogonalLine(T_1, b_6) → n_6
  182. Circle(T_1, 8) → p_6
  183. Intersect(p_6, n_6, 2) → G_2
  184. Circle(G_2, r) → q_6
  185. PointIn(q_6) → P_2
  186. Segment(G_2, P_2) → a_7
  187. Rotate(G_2, 45*°, G_2) → U_2
  188. Rotate(P_2, δ, G_2) → V_2
  189. Segment(U_2, V_2) → b_7
  190. Line(U_2, b_7) → e_7
  191. Mirror(e_7, n_6) → s_7
  192. Point(n_6) → W_2
  193. Line(W_2, b_6) → t_7
  194. Intersect(e_7, t_7) → Z_2
  195. Intersect(s_7, t_7) → A_3
  196. Segment(V_2, Z_2) → a_8
  197. Intersect(q_6, s_7, 2) → B_3
  198. Line(B_3, e_7) → e_8
  199. Line(V_2, s_7) → f_8
  200. Intersect(e_8, f_8) → C_3
  201. Circle(C_3, r) → g_8
  202. Intersect(g_8, f_8, 2) → D_3
  203. Intersect(g_8, e_8, 2) → E_3
  204. Line(D_3, e_8) → h_8
  205. Line(E_3, f_8) → j_8
  206. Intersect(h_8, j_8) → F_3
  207. Segment(D_3, C_3) → l_8
  208. Segment(E_3, C_3) → n_8
  209. Segment(C_3, V_2) → p_8
  210. Segment(B_3, C_3) → q_8
  211. Circle(F_3, r) → r_8
  212. Intersect(r_8, j_8, 2) → G_3
  213. Intersect(r_8, h_8, 2) → H_3
  214. Segment(D_3, H_3) → k_8
  215. Segment(E_3, G_3) → m_8
  216. Line(H_3, b_6) → s_8
  217. Circle(H_3, 2) → t_8
  218. Circle(G_3, 2) → e_9
  219. Intersect(n_6, s_8) → I_3
  220. Circle(I_3, 5) → k_9
  221. Intersect(k_9, s_8, 1) → J_3
  222. Intersect(k_9, s_8, 2) → K_3
  223. Circle(W_2, 7) → p_9
  224. Intersect(p_9, t_7, 1) → P_3
  225. Intersect(p_9, t_7, 2) → Q_3
  226. Circle(W_2, 4) → q_9
  227. Intersect(q_9, n_6, 1) → R_3
  228. OrthogonalLine(R_3, n_6) → a_9
  229. Intersect(p_9, a_9, 2) → S_3
  230. Intersect(p_9, a_9, 1) → T_3
  231. Segment(G_3, H_3) → b_9
  232. Segment(B_3, U_2) → b_8
  233. OrthogonalLine(I_1, n_5) → i_9
  234. Circle(I_1, 4) → r_9
  235. Intersect(r_9, i_9, 2) → U_3
  236. Intersect(n_5, l_6) → V_3
  237. Segment(V_3, U_3) → j_9
  238. Circle(U_3, 1) → s_9
  239. Intersect(s_9, i_9, 2) → W_3
  240. Segment(I_1, U_3) → t_9
  241. Polygon(I_1, V_3, U_3) → poly6, u_5, i_{10}, v_4
  242. Segment(U_3, W_3) → a_{10}
  243. Point(l_9) → C_4
  244. Segment(P, Q) → m_9
  245. Segment(P_5, Q_5) → m_{10}
  246. Point(l_9) → F_4
  247. Point(l_9) → G_4
  248. Polygon(E_4, F_4, G_4, H_4) → Botonanima, e_{10}, f_{10}, g_{10}, h_{10}
  249. Point(Circle[I_4, 12]) → J_4
  250. Polygon(I_4, J_4, K_4, L_4) → polígono18, i_{11}, j_{10}, k_{10}, l_{10}
  251. Point(Circle[I_5, 12]) → J_5
  252. Polygon(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.