Flux of a Vector Field Across a Line Segment

Flux of a Vector Field Across a Line Segment
Loading the math board and drawing, please wait…
2016-04-14 09:51
This GeoGebra example visualizes the flux of a vector field across a line segment, demonstrating both the geometric interpretation and numerical computation. The core mathematical concept is flux, defined as the line integral of the dot product of the vector field with the unit normal to the segment, representing the net flow across the segment. The construction uses commands such as Sequence to generate particle arrays, Circle for markers, Derivative and Integral for calculus operations, CurveCartesian to define the vector field, Segment to create the line segment, and Midpoint/Translate for positioning. Sliders (a, b) and grid settings (grid, scale) allow interactive exploration. This is suitable for university-level calculus or multivariable calculus courses, as well as advanced high school physics for visualizing field flow.

GeoGebra Commands & Parameters

  1. Sequence(Sequence[Vector[(j, k), (j + (scale * F_1(j, k)), k + (scale * F_2(j, k)))], j, xmin, xmax, xstep], k, ymin, ymax, ystep) → vField, {{(1.3358585902573044, -1.3856264649362657), (1.3358585902573044, -1.039496479841132), (1.3358585902573044, -0.693366494745999), (1.3358585902573044, -0.34723650965086517), (1.3358585902573044, -0.0011065245557322356), (1.3358585902573041, 0.3450234605394016), (1.3358585902573044, 0.6911534456345345), (1.3358585902573044, 1.0372834307296674), (1.3358585902573044, 1.3834134158248013)}, {(1.0043951299543386, -1.3856264649362657), (1.0043951299543377, -1.039496479841132), (1.004395129954338, -0.693366494745999), (1.004395129954338, -0.34723650965086517), (1.004395129954338, -0.0011065245557322356), (1.0043951299543383, 0.3450234605394016), (1.0043951299543377, 0.6911534456345345), (1.0043951299543386, 1.0372834307296674), (1.0043951299543377, 1.3834134158248013)}, {(0.6729316696513719, -1.3856264649362657), (0.6729316696513719, -1.039496479841132), (0.6729316696513719, -0.693366494745999), (0.6729316696513716, -0.34723650965086517), (0.6729316696513717, -0.0011065245557322356), (0.6729316696513716, 0.34502346053940114), (0.6729316696513719, 0.6911534456345345), (0.6729316696513719, 1.0372834307296674), (0.6729316696513719, 1.383413415824801)}, {(0.34146820934840516, -1.3856264649362653), (0.34146820934840516, -1.039496479841132), (0.34146820934840516, -0.6933664947459985), (0.3414682093484054, -0.34723650965086517), (0.3414682093484054, -0.0011065245557322356), (0.3414682093484054, 0.34502346053940114), (0.34146820934840516, 0.6911534456345345), (0.34146820934840516, 1.0372834307296677), (0.34146820934840516, 1.383413415824801)}, {(0.010004749045439354, -1.3856264649362653), (0.010004749045439354, -1.039496479841132), (0.01000474904543891, -0.6933664947459987), (0.01000474904543891, -0.3472365096508654), (0.010004749045439, -0.0011065245557321454), (0.01000474904543891, 0.34502346053940114), (0.01000474904543891, 0.6911534456345344), (0.010004749045439354, 1.0372834307296677), (0.010004749045439354, 1.383413415824801)}, {(-0.32145871125752734, -1.3856264649362653), (-0.32145871125752734, -1.039496479841132), (-0.32145871125752734, -0.6933664947459987), (-0.3214587112575271, -0.3472365096508654), (-0.32145871125752734, -0.0011065245557322356), (-0.32145871125752734, 0.34502346053940114), (-0.32145871125752734, 0.6911534456345345), (-0.32145871125752734, 1.0372834307296674), (-0.32145871125752734, 1.3834134158248013)}, {(-0.652922171560494, -1.3856264649362653), (-0.652922171560494, -1.039496479841132), (-0.652922171560494, -0.6933664947459985), (-0.6529221715604938, -0.34723650965086517), (-0.6529221715604937, -0.0011065245557322356), (-0.6529221715604938, 0.34502346053940114), (-0.6529221715604936, 0.6911534456345345), (-0.652922171560494, 1.0372834307296674), (-0.652922171560494, 1.3834134158248013)}, {(-0.9843856318634598, -1.3856264649362653), (-0.9843856318634598, -1.039496479841132), (-0.9843856318634598, -0.693366494745999), (-0.9843856318634601, -0.34723650965086517), (-0.9843856318634601, -0.0011065245557322356), (-0.9843856318634601, 0.3450234605394016), (-0.9843856318634598, 0.6911534456345345), (-0.9843856318634598, 1.0372834307296674), (-0.9843856318634598, 1.3834134158248013)}, {(-1.3158490921664265, -1.3856264649362657), (-1.3158490921664265, -1.039496479841132), (-1.3158490921664265, -0.693366494745999), (-1.3158490921664263, -0.34723650965086517), (-1.3158490921664265, -0.0011065245557322356), (-1.3158490921664265, 0.3450234605394016), (-1.3158490921664265, 0.6911534456345345), (-1.3158490921664265, 1.0372834307296674), (-1.3158490921664265, 1.3834134158248013)}}
  2. Sequence(((x(Element[inicialPts, i]) * cos((w * time))) - (y(Element[inicialPts, i]) * sin((w * time))), (x(Element[inicialPts, i]) * sin((w * time))) + (y(Element[inicialPts, i]) * cos((w * time)))), i, 1, 8) → particlesList
  3. Sequence(CurveCartesian[(x(Element[inicialPts, i]) * cos((w * t))) - (y(Element[inicialPts, i]) * sin((w * t))), (x(Element[inicialPts, i]) * sin((w * t))) + (y(Element[inicialPts, i]) * cos((w * t))), t, 0, time], i, 1, 8) → pathlinesList
  4. Circle(divPt, 0.5) → divGlowCircle
  5. Sequence(Segment[Rotate[curlPt - (0.5, 0), k + curlAngle, curlPt], Rotate[curlPt + (0.5, 0), k + curlAngle, curlPt]], k, 0, 2.0944, 1.0472) → spokes
  6. Derivative(Curve_x) → dCurve_x
  7. Derivative(Curve_y) → dCurve_y
  8. Simplify(Pdy(x) - Qdx(x)) → f
  9. Integral(f, 0, t) → Flux
  10. CurveCartesian((Curve_x(u), Curve_y(u)), u, 0, 1) → path
  11. CurveCartesian((Curve_x(u), Curve_y(u)), u, 0, t) → parPath
  12. Segment(path(0.6), path(0.6 + 0.1)) → arrow2
  13. Segment(path(0.3), path(0.3 + 0.1)) → arrow1
  14. Sequence(Vector[path(s), path(s) + ((scale * F_1(x(path(s)), y(path(s)))), (scale * F_2(x(path(s)), y(path(s)))))], s, 0, t, 0.1) → pathVectors
  15. Midpoint(I, J) → MidPoint
  16. Translate(normalvector, MidPoint) → n

AI Drawing Prompt Reference

Visualize the flux of a vector field across a line segment. Draw the line segment and vector field with arrows. Generate multiple pathlines along the segment to show particle trajectories in the field. Indicate the normal vector at points on the segment and show the direction of the vector field with arrows. Finally, calculate and display the flux of the vector field across the segment, using color or numerical values to represent the magnitude of the flux.
The prompt above was compiled from the original drawing commands and is for reference only.