Vector Field Integrals: Square

Vector Field Integrals: Square
Loading the math board and drawing, please wait…
2016-08-30 15:14
This example demonstrates the calculation of vector field integrals over a square region. Key math concepts include vector fields, integrals, derivatives, and surface integrals. GeoGebra commands and objects used in construction are Sequence, Line, Circle, CurveCartesian, Derivative, Sum, Segment, Distance, Textfield. Suitable for high school and above students to understand the geometric meaning and computation of vector field integrals.

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
  2. Line(I, xAxis) → f
  3. Line(J, xAxis) → g
  4. Line(K, xAxis) → h
  5. Sequence(Segment[Rotate[curlPt - (0.2, 0), k + curlAngle, curlPt], Rotate[curlPt + (0.2, 0), k + curlAngle, curlPt]], k, 0, 2.0944, 1.0472) → spokes
  6. Circle(divPt, 0.2) → divGlowCircle
  7. CurveCartesian((t * x(Drag)) + ((1 - t) * x(Drag)), (t * (y(Drag) + Side)) + ((1 - t) * y(Drag)), t, 0, 1) → path_{s1}
  8. CurveCartesian((t * (x(Drag) - Side)) + ((1 - t) * x(Drag)), (t * (y(Drag) + Side)) + ((1 - t) * (y(Drag) + Side)), t, 0, 1) → path_{s2}
  9. CurveCartesian((t * (x(Drag) - Side)) + ((1 - t) * (x(Drag) - Side)), (t * y(Drag)) + ((1 - t) * (y(Drag) + Side)), t, 0, 1) → path_{s3}
  10. CurveCartesian((t * x(Drag)) + ((1 - t) * (x(Drag) - Side)), (t * y(Drag)) + ((1 - t) * y(Drag)), t, 0, 1) → path_{s4}
  11. Derivative(path_{s1}) → Dpath_{s1}
  12. Derivative(path_{s2}) → Dpath_{s2}
  13. Derivative(path_{s3}) → Dpath_{s3}
  14. Derivative(path_{s4}) → Dpath_{s4}
  15. Sum(Sequence[(((F_1(x(path_{s1}(i + dS / 2)), y(path_{s1}(i + dS / 2))), F_2(x(path_{s1}(i + dS / 2)), y(path_{s1}(i + dS / 2)))) * (y(Dpath_{s1}(i + dS / 2)), (-x(Dpath_{s1}(i + dS / 2))))) * dS), i, 0, 1 - dS, dS]) → Flux_{s1}
  16. Sum(Sequence[(((F_1(x(path_{s2}(i + dS / 2)), y(path_{s2}(i + dS / 2))), F_2(x(path_{s2}(i + dS / 2)), y(path_{s2}(i + dS / 2)))) * (y(Dpath_{s2}(i + dS / 2)), (-x(Dpath_{s2}(i + dS / 2))))) * dS), i, 0, 1 - dS, dS]) → Flux_{s2}
  17. Sum(Sequence[(((F_1(x(path_{s3}(i + dS / 2)), y(path_{s3}(i + dS / 2))), F_2(x(path_{s3}(i + dS / 2)), y(path_{s3}(i + dS / 2)))) * (y(Dpath_{s3}(i + dS / 2)), (-x(Dpath_{s3}(i + dS / 2))))) * dS), i, 0, 1 - dS, dS]) → Flux_{s3}
  18. Sum(Sequence[(((F_1(x(path_{s4}(i + dS / 2)), y(path_{s4}(i + dS / 2))), F_2(x(path_{s4}(i + dS / 2)), y(path_{s4}(i + dS / 2)))) * (y(Dpath_{s4}(i + dS / 2)), (-x(Dpath_{s4}(i + dS / 2))))) * dS), i, 0, 1 - dS, dS]) → Flux_{s4}
  19. Sum(list1, (s * 4)) → TT
  20. Sum(Sequence[((path_{s1}(i + dS) - path_{s1}(i)) * (F_1(x(path_{s1}(i + dS / 2)), y(path_{s1}(i + dS / 2))), F_2(x(path_{s1}(i + dS / 2)), y(path_{s1}(i + dS / 2))))), i, 0, s - dS, dS]) → Circ_1
  21. Sum(Sequence[((path_{s2}(i + dS) - path_{s2}(i)) * (F_1(x(path_{s2}(i + dS / 2)), y(path_{s2}(i + dS / 2))), F_2(x(path_{s2}(i + dS / 2)), y(path_{s2}(i + dS / 2))))), i, 0, s - dS, dS]) → Circ_2
  22. Sum(Sequence[((path_{s3}(i + dS) - path_{s3}(i)) * (F_1(x(path_{s3}(i + dS / 2)), y(path_{s3}(i + dS / 2))), F_2(x(path_{s3}(i + dS / 2)), y(path_{s3}(i + dS / 2))))), i, 0, s - dS, dS]) → Circ_3
  23. Sum(Sequence[((path_{s4}(i + dS) - path_{s4}(i)) * (F_1(x(path_{s4}(i + dS / 2)), y(path_{s4}(i + dS / 2))), F_2(x(path_{s4}(i + dS / 2)), y(path_{s4}(i + dS / 2))))), i, 0, s - dS, dS]) → Circ_4
  24. Sum(list2, (4 * s)) → TT_2
  25. Segment(path_{s1}(0.5), path_{s1}(0.5 + 0.01)) → arrw01
  26. Segment(path_{s2}(0.5), path_{s2}(0.5 + 0.01)) → arrw02
  27. Segment(path_{s3}(0.5), path_{s3}(0.5 + 0.01)) → arrw03
  28. Segment(path_{s4}(0.5), path_{s4}(0.5 + 0.01)) → arrw04
  29. Distance(Drag, (0, 0)) → cond
  30. Textfield(F_1) → InputBox1
  31. Textfield(F_2) → InputBox2