Modifiable Solid: Isosceles Trapezoid Cross Sections Parallel to yAxis

Modifiable Solid: Isosceles Trapezoid Cross Sections Parallel to yAxis
Loading the math board and drawing, please wait…
2019-07-09 00:31
This example demonstrates a solid whose cross sections parallel to the y-axis are isosceles trapezoids, with the longer base equal to the difference between the upper and lower functions. It illustrates the calculus technique of finding volume by integrating cross-sectional areas. The construction uses GeoGebra commands such as Line, Rotate, Ray, Intersect, Circle, Segment, Translate, Midpoint, Sphere, Textfield, Polygon, Angle, CurveCartesian, Surface, and Mirror to build the dynamic solid. Users can adjust parameters like the upper/lower functions, rotation angle, and height via sliders and text fields, observing how the trapezoidal cross sections change. This is suitable for high school or college students studying integral calculus, solid geometry, and function graphing.

GeoGebra Commands & Parameters

  1. Line(I, I + (1, 0, 0)) → f_1
  2. Rotate(H, (ANG * pi / 180), I, f_1) → H'
  3. Rotate(I, ((-ANG) * pi / 180), H, Plane[H', I, H]) → I'_1
  4. Ray(H, I'_1) → p_2
  5. Ray(I, H') → q_2
  6. Intersect(q_2, p_2) → W_1
  7. Circle(W_1, (SLratio * Distance[W_1, I]), Plane[W_1, I, H]) → e_2
  8. Intersect(q_2, e_2) → B_2, C_2
  9. Intersect(p_2, e_2) → Z_1, A_2
  10. Line(K, K + (1, 0, 0)) → t
  11. Rotate(J, (ANG * pi / 180), K, t) → J'_1
  12. Ray(K, J'_1) → k_2
  13. Rotate(K, ((-ANG) * pi / 180), J, Plane[J'_1, K, J]) → K'
  14. Ray(J, K') → j_2
  15. Intersect(k_2, j_2) → R_1
  16. Circle(R_1, (SLratio * Distance[R_1, K]), Plane[J'_1, K, J]) → d_2
  17. Intersect(j_2, d_2) → U_1, V_1
  18. Intersect(k_2, d_2) → S_1, T_1
  19. Intersect(lower, h, (0, -9)) → C
  20. Line(C, C + (1, 0, 0)) → c
  21. Intersect(upper, h, (0, 5)) → B
  22. Segment(C, B) → q
  23. Intersect(upper, q, (0, 5)) → G
  24. Rotate(G, (ANG * pi / 180), C, c) → G'_1
  25. Rotate(C, (ANG * pi / 180), G, Plane[G, C, G'_1]) → C'
  26. Ray(G, C') → f_2
  27. Ray(C, G'_1) → g_2
  28. Intersect(g_2, f_2) → M_1
  29. Circle(M_1, (SLratio * Distance[M_1, C]), Plane[C, G'_1, G]) → c_2
  30. Intersect(g_2, c_2) → N_1, O_1
  31. Intersect(f_2, c_2) → P_1, Q_1
  32. Translate(G'_1, Vector[C, G]) → J_1
  33. Segment(H, I) → s_1
  34. Midpoint(s_1) → A_1
  35. Segment(J, K) → q_1
  36. Midpoint(q_1) → Z
  37. Midpoint(s_1) → E
  38. Midpoint(q_1) → F
  39. Midpoint(C, G) → T
  40. Line(B, D) → i
  41. Sphere(B, d) → e
  42. Segment(C, B) → p
  43. Textfield(upper) → InputBox1
  44. Textfield(lower) → InputBox2
  45. Textfield(a) → InputBox3
  46. Textfield(b) → InputBox4
  47. Segment(C, G) → k_1
  48. Line(C, G) → j
  49. Sphere(G, T) → k
  50. Line(T, T + (1, 0, 0)) → m
  51. Rotate(G, pi / 3, F_1, m) → G'
  52. Rotate(G', pi / 3, F_1, Line[F_1, F_1 + (1, 0, 0)]) → G''
  53. Line(F_1, F_1 + (1, 0, 0)) → n
  54. Polygon(C, G, Q_1, O_1) → poly1, g_1, m_1, r_1, a_1
  55. Rotate(G'', pi / 3, F_1, n) → G'''
  56. Rotate(G''', pi / 3, F_1, n) → G_1
  57. Line(Z, Z + (1, 0, 0)) → f
  58. Line(D_1, D_1 + (1, 0, 0)) → g
  59. Rotate(J, pi / 3, D_1, g) → J'
  60. Rotate(J', pi / 3, D_1, g) → J''
  61. Rotate(J'', pi / 3, D_1, g) → J'''
  62. Rotate(J''', pi / 3, D_1, g) → E_1
  63. Line(H_1, H_1 - (1, 0, 0)) → l_1
  64. Rotate(I, pi / 3, H_1, l_1) → I'
  65. Rotate(I', pi / 3, H_1, l_1) → I''
  66. Rotate(I'', pi / 3, H_1, l_1) → I'''
  67. Rotate(I''', pi / 3, H_1, l_1) → I_1
  68. Translate(J'_1, Vector[K, J]) → K_1
  69. Polygon(K, J, V_1, T_1) → q1, j_1, l_2, m_2, n_2
  70. Polygon(I, H, A_2, C_2) → q2, e_1, h_2, i_2, f_3
  71. Translate(H', Vector[I, H]) → H''
  72. Intersect(t, q_1) → L_1
  73. Angle(G, C, G'_1) → α
  74. Segment(O_1, Q_1) → r
  75. Segment(G, Q_1) → l
  76. Angle(Q_1, G, C) → β
  77. Segment(O_1, C) → s
  78. Segment(T_1, L_1) → d_1
  79. Segment(J, V_1) → b_1
  80. Segment(T_1, V_1) → c_1
  81. Segment(C_2, I) → p_1
  82. Segment(H, A_2) → i_1
  83. Segment(A_2, C_2) → n_1
  84. CurveCartesian(t, (0.5 * (upper(t) + lower(t))) - ((SLratio * 0.5) * (upper(t) - lower(t))), ((((1 - SLratio) * 0.5) * (upper(t) - lower(t))) * tan((ANG * pi / 180))), t, a, b) → o
  85. CurveCartesian(t, (0.5 * (upper(t) + lower(t))) + ((SLratio * 0.5) * (upper(t) - lower(t))), ((((1 - SLratio) * 0.5) * (upper(t) - lower(t))) * tan((ANG * pi / 180))), t, a, b) → u
  86. Surface(u, lower(u) + ((((1 - SLratio) * 0.5) * (upper(u) - lower(u))) * v), (((((1 - SLratio) * 0.5) * (upper(u) - lower(u))) * tan((ANG * pi / 180))) * v), u, a, b, v, 0, 1) → o_1
  87. Surface(u, upper(u) - ((((1 - SLratio) * 0.5) * (upper(u) - lower(u))) * v), (((((1 - SLratio) * 0.5) * (upper(u) - lower(u))) * tan((ANG * pi / 180))) * v), u, a, b, v, 0, 1) → u_1
  88. Surface(u, lower(u) + (((1 - SLratio) * 0.5) * (upper(u) - lower(u))) + ((SLratio * (upper(u) - lower(u))) * v), ((((1 - SLratio) * 0.5) * (upper(u) - lower(u))) * tan((ANG * pi / 180))), u, a, b, v, 0, 1) → v_1
  89. Mirror(o_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → w_1
  90. Mirror(o, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → o'
  91. Mirror(u_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → a_2
  92. Mirror(v_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → b_2
  93. Mirror(J, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → J'_2
  94. Mirror(V_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → D_2
  95. Segment(J'_2, D_2) → r_2
  96. Mirror(T_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → E_2
  97. Mirror(L_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → F_2
  98. Segment(E_2, F_2) → s_2
  99. Mirror(T_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → G_2
  100. Mirror(V_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → H_2
  101. Segment(G_2, H_2) → t_2
  102. Mirror(poly1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → poly1'
  103. Mirror(O_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → I_2
  104. Mirror(C, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → C'_1
  105. Segment(I_2, C'_1) → s'
  106. Mirror(O_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → J_2
  107. Mirror(Q_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → K_2
  108. Segment(J_2, K_2) → r'
  109. Mirror(G, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → G'_2
  110. Mirror(Q_1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → L_2
  111. Segment(G'_2, L_2) → l'
  112. Mirror(u, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → u'
  113. Mirror(q1, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → q1'
  114. Mirror(q2, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → q2'
  115. Mirror(C_2, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → M_2
  116. Mirror(I, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → I'_2
  117. Segment(M_2, I'_2) → g_3
  118. Mirror(H, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → H'_1
  119. Mirror(A_2, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → N_2
  120. Segment(H'_1, N_2) → h_3
  121. Mirror(A_2, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → O_2
  122. Mirror(C_2, Plane[(0, 0, 0), (1, 0, 0), (1, 1, 0)]) → P_2
  123. Segment(O_2, P_2) → i_3
  124. Angle(J_2, C, G) → γ
  125. Angle(L_2, G, C) → δ
  126. Textfield(SLratio) → InputBox5

AI Drawing Prompt Reference

Create a 3D solid whose cross-sections parallel to the y-axis are isosceles trapezoids. The solid is bounded by upper and lower function curves, with the longer base of each trapezoid equal to the difference between the two functions. Use sliders to adjust the upper/lower functions, rotation angle, and height, observing how the trapezoidal sections change. The figure includes two main cross-sectional regions, each formed by two rays and an arc, creating symmetric trapezoidal outlines. The solid's surface is composed of multiple planes and curved patches, with key points, segments, and angle markers displayed. This dynamic geometry illustrates the calculus technique of volume by cross-sectional areas.
The prompt above was compiled from the original drawing commands and is for reference only.