Truss Structure - Cremona Diagram

Truss Structure - Cremona Diagram
Loading the math board and drawing, please wait…
2014-05-09 02:00
This example demonstrates the Cremona diagram method for analyzing truss structures. Key mathematical concepts include vectors and geometry. Using GeoGebra commands such as Segment, Vector, Line, and Intersect, the force equilibrium and structural stability are visually illustrated. Suitable for high school and above students studying structural mechanics and geometric construction.

GeoGebra Commands & Parameters

  1. Segment(Z1, Z5) → a
  2. Segment(Z1, Z7) → b
  3. Segment(Z7, Z5) → c
  4. Segment(Z2, Z8) → d
  5. Segment(Z8, Z3) → e
  6. Segment(Z3, Z7) → f
  7. Segment(Z4, Z6) → g
  8. Segment(Z6, Z3) → h
  9. Segment(Z1, Z14) → i
  10. Segment(Z14, Z10) → j
  11. Segment(Z10, Z1) → k
  12. Segment(Z12, Z13) → l
  13. Segment(Z11, Z9) → m
  14. Segment(Z9, Z5) → nn
  15. Segment(Z5, Z11) → p
  16. Vector(Z15, Z8) → vecF1
  17. Vector(Z16, Z7) → vecF2
  18. Vector(Z17, Z6) → vecF3
  19. Segment(Z18, Z20) → q
  20. Segment(Z21, Z23) → r
  21. Vector(Z19, Z22) → u
  22. Vector(Z22, Z19) → v
  23. Segment(Z29, Z27) → s
  24. Segment(Z26, Z24) → t
  25. Vector(Z28, Z25) → w
  26. Vector(Z25, Z28) → z
  27. Vector(Z30, Z31) → u_1
  28. Vector(Z31, Z32) → v_1
  29. Vector(Z32, Z33) → w_1
  30. Segment(Z30, Z34) → a_1
  31. Segment(Z31, Z34) → b_1
  32. Segment(Z32, Z34) → c_1
  33. Segment(Z33, Z34) → d_1
  34. Line(Z15, Z8) → e_1
  35. Line(Z16, Z7) → f_1
  36. Line(Z6, Z17) → g_1
  37. Line(Z1, a_1) → h_1
  38. Intersect(e_1, h_1) → A
  39. Line(A, b_1) → i_1
  40. Intersect(i_1, f_1) → B
  41. Line(B, c_1) → j_1
  42. Intersect(g_1, j_1) → C
  43. Line(C, d_1) → k_1
  44. Intersect(k_1, l_1) → D
  45. Segment(A, B) → n_1
  46. Segment(B, C) → p_1
  47. Segment(C, D) → q_1
  48. Segment(D, Z30) → r_1
  49. Line(Z34, r_1) → s_1
  50. Line(Z33, Z33 + (0, 1)) → t_1
  51. Intersect(s_1, t_1) → E
  52. Vector(Z33, E) → z_1
  53. Vector(E, Z30) → u_2
  54. Segment(E, Z34) → a_2
  55. Segment(Z1, A) → m_1
  56. Point(Z5, Vector[(0.1 * (-z_1))]) → F
  57. Vector(F, Z5) → v_2
  58. Distance(Z33, E) → velB
  59. Distance(E, Z30) → velA
  60. Point(Z1, Vector[(0.1 * (-u_2))]) → G
  61. Vector(G, Z30) → w_2
  62. Line(E, a) → b_2
  63. Line(Z30, b) → c_2
  64. Intersect(c_2, b_2) → I
  65. Segment(Z30, I) → d_2
  66. Segment(I, E) → e_2
  67. Segment(I, E) → f_2
  68. Line(Z31, b) → g_2
  69. Line(I, e) → h_2
  70. Intersect(h_2, g_2) → J
  71. Segment(I, J) → i_2
  72. Segment(J, Z31) → j_2
  73. Line(Z32, c) → k_2
  74. Line(J, f) → l_2
  75. Intersect(k_2, l_2) → K
  76. Segment(J, K) → m_2
  77. Segment(K, Z32) → n_2
  78. Line(K, h) → p_2
  79. Line(E, a) → q_2
  80. Intersect(p_2, q_2) → M
  81. Segment(K, M) → r_2
  82. Segment(M, E) → s_2
  83. Segment(M, E) → t_2
  84. Segment(M, Z33) → a_3
  85. If(UnitVector[Vector[I, E]] ≟ UnitVector[Vector[Z1, Z2]], Distance[I, E], (-Distance[I, E])) → velN1
  86. If(UnitVector[Vector[Z30, I]] ≟ UnitVector[Vector[Z1, Z8]], Distance[Z30, I], (-Distance[I, Z30])) → velN5
  87. Vector(Z30, I) → z_2
  88. Vector(I, E) → u_3
  89. Vector(E, Z30) → v_3
  90. Vector(E, I) → b_3
  91. Vector(I, E) → c_3
  92. Vector(Z30, Z31) → e_3
  93. Vector(Z31, J) → f_3
  94. Vector(J, I) → h_3
  95. If(UnitVector[Vector[Z31, J]] ≟ UnitVector[Vector[Z8, Z7]], Distance[J, Z31], (-Distance[J, Z31])) → velN6
  96. If(UnitVector[Vector[J, I]] ≟ UnitVector[Vector[Z8, Z3]], Distance[J, I], (-Distance[J, I])) → velN10
  97. Vector(Z31, Z32) → m_3
  98. Vector(Z32, K) → n_3
  99. Vector(K, J) → p_3
  100. Vector(J, Z31) → q_3
  101. Vector(I, Z30) → w_3
  102. Vector(E, I) → z_3
  103. Vector(I, J) → d_3
  104. Vector(J, K) → g_3
  105. Vector(K, M) → i_3
  106. Vector(M, E) → j_3
  107. If(UnitVector[Vector[K, M]] ≟ UnitVector[Vector[Z3, Z6]], Distance[K, M], (-Distance[K, M])) → velN12
  108. If(UnitVector[Vector[M, E]] ≟ UnitVector[Vector[Z3, Z4]], Distance[M, E], (-Distance[M, E])) → velN3
  109. Vector(E, M) → k_3
  110. Vector(M, E) → l_3
  111. Vector(Z32, Z33) → r_3
  112. Vector(Z33, M) → s_3
  113. Vector(M, K) → t_3
  114. Vector(K, Z32) → u_4
  115. If(UnitVector[Vector[K, J]] ≟ UnitVector[Vector[Z7, Z3]], Distance[K, J], (-Distance[K, J])) → velN11
  116. If(UnitVector[Vector[Z32, K]] ≟ UnitVector[Vector[Z7, Z6]], Distance[Z32, K], (-Distance[Z32, K])) → velN7
  117. If(UnitVector[Vector[Z33, M]] ≟ UnitVector[Vector[Z6, Z5]], Distance[Z33, M], (-Distance[Z33, M])) → velN8
  118. Vector(Z33, E) → v_4
  119. Vector(E, M) → w_4
  120. Vector(M, Z33) → z_4