Custom Solid: Adjustable Rhombus Cross Sections Parallel to yAxis

Custom Solid: Adjustable Rhombus Cross Sections Parallel to yAxis
Loading the math board and drawing, please wait…
2019-04-05 10:22
This example demonstrates a customizable solid where cross-sections parallel to the yAxis are adjustable rhombuses with one side equal to upper(x) - lower(x). It involves core mathematical concepts such as functions, coordinate geometry, and solid geometry. The construction utilizes GeoGebra commands and objects like Intersect, Line, Segment, Rotate, Translate, Midpoint, Sphere, Textfield, Polygon, CurveCartesian, Surface, and Angle. It is suitable for high school and above students to learn about the relationship between function graphs and solid geometry, as well as how to adjust graphic properties through parameters.

GeoGebra Commands & Parameters

  1. Intersect(lower, h, (0, -8)) → C
  2. Line(C, C + (1, 0, 0)) → c
  3. Intersect(upper, h, (0, 4)) → B
  4. Segment(C, B) → q
  5. Intersect(upper, q, (0, 4)) → G
  6. Rotate(G, (ANG * pi / 180), C, c) → G'_1
  7. Translate(G'_1, Vector[C, G]) → J_1
  8. Segment(H, I) → s_1
  9. Midpoint(s_1) → A_1
  10. Segment(J, K) → q_1
  11. Midpoint(q_1) → Z
  12. Midpoint(s_1) → E
  13. Midpoint(q_1) → F
  14. Midpoint(C, G) → T
  15. Line(B, D) → i
  16. Sphere(B, d) → e
  17. Segment(C, B) → p
  18. Textfield(upper) → InputBox1
  19. Textfield(lower) → InputBox2
  20. Textfield(a) → InputBox3
  21. Textfield(b) → InputBox4
  22. Segment(C, G) → k_1
  23. Line(C, G) → j
  24. Sphere(G, T) → k
  25. Line(T, T + (1, 0, 0)) → m
  26. Rotate(G, pi / 3, F_1, m) → G'
  27. Rotate(G', pi / 3, F_1, Line[F_1, F_1 + (1, 0, 0)]) → G''
  28. Line(F_1, F_1 + (1, 0, 0)) → n
  29. Rotate(G'', pi / 3, F_1, n) → G'''
  30. Rotate(G''', pi / 3, F_1, n) → G_1
  31. Polygon(C, G, J_1, G'_1) → poly1, g_1, m_1, r_1, a_1
  32. Line(Z, Z + (1, 0, 0)) → f
  33. Line(D_1, D_1 + (1, 0, 0)) → g
  34. Rotate(J, pi / 3, D_1, g) → J'
  35. Rotate(J', pi / 3, D_1, g) → J''
  36. Rotate(J'', pi / 3, D_1, g) → J'''
  37. Rotate(J''', pi / 3, D_1, g) → E_1
  38. Line(H_1, H_1 - (1, 0, 0)) → l_1
  39. Rotate(I, pi / 3, H_1, l_1) → I'
  40. Rotate(I', pi / 3, H_1, l_1) → I''
  41. Rotate(I'', pi / 3, H_1, l_1) → I'''
  42. Rotate(I''', pi / 3, H_1, l_1) → I_1
  43. Segment(G, J_1) → l
  44. Segment(J_1, G'_1) → r
  45. Segment(G'_1, C) → s
  46. Line(K, K + (1, 0, 0)) → t
  47. Rotate(J, (ANG * pi / 180), K, t) → J'_1
  48. Translate(J'_1, Vector[K, J]) → K_1
  49. Polygon(K, J, K_1, J'_1) → q1, k_3, j_1, k_4, j'_1
  50. Line(I, I + (1, 0, 0)) → f_1
  51. Rotate(H, (ANG * pi / 180), I, f_1) → H'
  52. Translate(H', Vector[I, H]) → H''
  53. Segment(H, H'') → i_1
  54. Segment(H'', H') → n_1
  55. Segment(H', I) → p_1
  56. Polygon(I, H, H'', H') → q2, i_2, h_2, h'', h'
  57. Segment(J, K_1) → b_1
  58. Segment(K_1, J'_1) → c_1
  59. Intersect(t, q_1) → L_1
  60. Segment(J'_1, L_1) → d_1
  61. CurveCartesian(t, lower(t) + ((upper(t) - lower(t)) * cos((ANG * pi / 180))), ((upper(t) - lower(t)) * sin((ANG * pi / 180))), t, a, b) → o
  62. CurveCartesian(t, upper(t) + ((upper(t) - lower(t)) * cos((ANG * pi / 180))), ((upper(t) - lower(t)) * sin((ANG * pi / 180))), t, a, b) → u
  63. Surface(u, lower(u) + (((upper(u) - lower(u)) * v) * cos((ANG * pi / 180))), (((upper(u) - lower(u)) * v) * sin((ANG * pi / 180))), u, a, b, v, 0, 1) → v
  64. Surface(u, lower(u) + ((upper(u) - lower(u)) * cos((ANG * pi / 180))) + (v * (upper(u) - lower(u))), ((upper(u) - lower(u)) * sin((ANG * pi / 180))), u, a, b, v, 0, 1) → w
  65. Surface(u, upper(u) + (((upper(u) - lower(u)) * v) * cos((ANG * pi / 180))), (((upper(u) - lower(u)) * v) * sin((ANG * pi / 180))), u, a, b, v, 0, 1) → e_1
  66. Angle(G, C, G'_1) → α