Net Flow with Angle

Net Flow with Angle
Loading the math board and drawing, please wait…
2022-08-18 11:02
This example demonstrates the flow of fluid through a surface, visualizing dynamic processes with angle variations. Core math concepts include calculus, vector fields, geometric transformations, and polygon construction. GeoGebra commands and objects used are CurveCartesian, Sphere, PointIn, OrthogonalLine, Rotate, Line, Point, Vector, Circle, Intersect, Polygon, OrthogonalPlane, Angle, Segment, Sequence, Element, If, Prism, Translate. Suitable for high school and above, ideal for teaching fluid dynamics, spatial geometry, and computational geometry.

GeoGebra Commands & Parameters

  1. CurveCartesian((2 * t) - 4, 0, 0, t, 0, 10) → Pathline
  2. Sphere(FluidPt_2, 1) → a_1
  3. PointIn(a_1) → S_4
  4. PointIn(a_1) → S_5
  5. PointIn(a_1) → S_2
  6. PointIn(a_1) → S_1
  7. PointIn(a_1) → S_6
  8. PointIn(a_1) → S_7
  9. PointIn(a_1) → S_3
  10. OrthogonalLine(A, xOyPlane) → i_1
  11. Rotate(B, (-angle), A) → B'
  12. Line(A, B') → b
  13. OrthogonalLine(B', b, xOyPlane) → d
  14. Point(d) → G_1
  15. Vector(B', G_1) → v_1
  16. Circle(A, 2, normalvectorplane) → s_1
  17. Intersect(xOyPlane, s_1) → J_1, K_1
  18. Line(K_1, J_1) → a_2
  19. OrthogonalLine(J_1, xOyPlane) → t_1
  20. OrthogonalLine(K_1, xOyPlane) → j_1
  21. Intersect(i_1, s_1) → H_1, I_1
  22. Line(I_1, a_2) → c_2
  23. Intersect(j_1, c_2) → Cuadro3
  24. Intersect(t_1, c_2) → Cuadro4
  25. Line(H_1, a_2) → b_2
  26. Intersect(b_2, t_1) → Cuadro2
  27. Intersect(b_2, j_1) → Cuadro1
  28. Polygon(Cuadro3, Cuadro4, Cuadro2, Cuadro1) → poly3, o_2, n_2, m_2, l_2
  29. OrthogonalPlane(B', d) → e
  30. OrthogonalPlane(FluidPt, yAxis) → m
  31. OrthogonalLine(FluidPt, xOyPlane) → l
  32. Point(l) → F
  33. OrthogonalLine(F, m) → r
  34. OrthogonalLine(FluidPt, xAxis, xOyPlane) → h
  35. Point(h) → E
  36. OrthogonalLine(E, xOyPlane) → q
  37. Intersect(r, q) → K
  38. Line(E, xAxis) → i
  39. Line(K, i) → Container3
  40. Intersect(Container3, e) → P
  41. Circle(FluidPt, E, xOyPlane) → k
  42. Intersect(h, k) → H, J
  43. OrthogonalLine(H, xOyPlane) → n
  44. Intersect(r, n) → L
  45. Line(H, xAxis) → j
  46. Line(L, j) → Container4
  47. Intersect(Container4, e) → O
  48. Circle(h, F) → p
  49. Intersect(l, p) → G, I
  50. Line(I, h) → s
  51. Intersect(s, q) → N
  52. Line(N, i) → Container2
  53. Intersect(Container2, e) → Q
  54. Intersect(s, n) → M
  55. Line(M, j) → Container1
  56. Intersect(Container1, e) → R
  57. Intersect(xAxis, yAxis) → Z
  58. Vector(D_1, Z) → u_1
  59. OrthogonalLine(A, xAxis, xOyPlane) → a
  60. Angle(B', A, B, xOyPlane) → θ
  61. OrthogonalPlane(A, xAxis) → c
  62. Segment(A, B') → g
  63. Point(h) → D
  64. Polygon(L, K, N, M) → poly1, l_1, k_1, n_1, m_1
  65. Segment(O, P) → d_1
  66. Segment(P, Q) → e_1
  67. Segment(R, Q) → f_1
  68. Segment(R, O) → g_1
  69. PointIn(poly1) → T
  70. PointIn(poly1) → U
  71. PointIn(poly1) → V
  72. PointIn(poly1) → W
  73. Sequence(Sequence[Sequence[Vector[(j, k, l), (j + (scale * F_1(j, k, l)), k + (scale * F_2(j, k, l)), l + (scale * F_3(j, k, l)))], j, (-extent) - 1, extent + 3, (2 * step)], k, (-extent), extent, step], l, (-extent), extent, step) → VField, {{{(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}}, {{(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}}, {{(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}}, {{(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}, {(2, 0, 0), (2, 0, 0), (2, 0, 0), (2, 0, 0)}}}
  74. Point(xAxis) → A_1
  75. Vector(A_1, Z) → v
  76. Intersect(yAxis, xAxis) → C_1
  77. Vector(B_1, Z) → w
  78. Element(list2, faces) → Selectedvector
  79. Line(S, E_1) → direction1
  80. Sequence(Segment[Cuadro1 + (i * (Cuadro3 - Cuadro1) / net), Cuadro2 + (i * (Cuadro4 - Cuadro2) / net)], i, 0, net) → neth
  81. Sequence(Segment[Cuadro1 + (i * (Cuadro2 - Cuadro1) / net), Cuadro3 + (i * (Cuadro4 - Cuadro3) / net)], i, 0, net) → netv
  82. If(-4 ≤ x(FluidPt) ≤ 1, 0, Flux) → Fluxcondition
  83. Point(VField) → C
  84. Point(Container4) → O_1
  85. Prism(poly1, O_1) → t, L_1, edge1, edge3, edge4, edge5, edge7, edge8, edge6, M_1, N_1, face1, face2, face4, face3, face5, edge2
  86. Sequence(Vector[Element[motionvectors, i], (x(Element[motionvectors, i]) + (scale * F_1(x(Element[motionvectors, i]), y(Element[motionvectors, i]), z(Element[motionvectors, i]))), y(Element[motionvectors, i]) + (scale * F_2(x(Element[motionvectors, i]), y(Element[motionvectors, i]), z(Element[motionvectors, i]))), z(Element[motionvectors, i]) + (scale * F_3(x(Element[motionvectors, i]), y(Element[motionvectors, i]), z(Element[motionvectors, i]))))], i, 1, 8) → vectorParticles
  87. Point(neth) → P_1
  88. Point(netv) → Q_1
  89. Element(Element[VField, 1, 1], 1) → vv
  90. Translate(vv, Q_1) → v1
  91. Translate(vv, P_1) → v2
  92. OrthogonalLine(P_1, e) → no1
  93. OrthogonalLine(Q_1, e) → no2
  94. Point(no1) → R_1
  95. Point(no2) → T_1
  96. Translate(Vector[P_1, R_1] / abs(Vector[P_1, R_1]), P_1) → nn1
  97. Translate(Vector[Q_1, T_1] / abs(Vector[Q_1, T_1]), Q_1) → nn2

AI Drawing Prompt Reference

Draw a fluid flow diagram through a surface, including a sphere and multiple points, generating flow lines and angles through rotation and projection. First, draw a curve, then create a sphere and select multiple points from it. Next, generate flow lines and angles through rotation and projection, and finally construct a polygon using these flow lines and angles.
The prompt above was compiled from the original drawing commands and is for reference only.