summaryrefslogtreecommitdiff
path: root/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem
diff options
context:
space:
mode:
Diffstat (limited to 'FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem')
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/README.md4
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file1_flux@_various_points.gifbin0 -> 4439959 bytes
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file1_flux@_various_points.py60
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file2_different_valuesof_Div.gifbin0 -> 595705 bytes
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file2_different_valuesof_Div.py91
5 files changed, 155 insertions, 0 deletions
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/README.md b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/README.md
new file mode 100644
index 0000000..17fcde0
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/README.md
@@ -0,0 +1,4 @@
+**file1_flux@_various_points.py**
+![file1_flux@_various_points](file1_flux@_various_points.gif)
+**file2_different_valuesof_Div.py**
+![file2_different_valuesof_Div](file2_different_valuesof_Div.gif)
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file1_flux@_various_points.gif b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file1_flux@_various_points.gif
new file mode 100644
index 0000000..6c32b94
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file1_flux@_various_points.gif
Binary files differ
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file1_flux@_various_points.py b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file1_flux@_various_points.py
new file mode 100644
index 0000000..6727982
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file1_flux@_various_points.py
@@ -0,0 +1,60 @@
+from manimlib.imports import *
+def pendulum_vector_field_func(point):
+ #theta, omega = point[:2]
+ return np.array([
+ 5*point[0]+point[1],
+ 3*point[1]+3*point[1],
+ 0,
+ ])
+class SF(Scene):
+ CONFIG = {
+ #"func": cylinder_flow_vector_field,
+ "flow_time": 5,
+ }
+ def initialize_vector_field(self):
+ self.vector_field = VectorField(
+ pendulum_vector_field_func,
+ )
+ self.vector_field.sort(get_norm)
+ def construct(self):
+ # plane = NumberPlane(color=RED)
+ # plane.add(plane.get_axis_labels())
+ # self.add(plane)
+
+ A=TextMobject("The net flux through the green circular region is zero",tex_to_color_map={"green": GREEN})
+ B=TextMobject("The net flux through the blue circular region is non-zero",tex_to_color_map={"blue": BLUE})
+
+ c1=Circle(color=GREEN, radius=1.5)
+ c1.shift(4*LEFT+2.2*UP)
+ c2=Circle(color=BLUE, radius=1.5)
+
+
+
+
+ self.play(ShowCreation(A))
+ self.wait(0.5)
+ self.play(ApplyMethod(A.shift, (0.8*UP+0.2*LEFT)))
+ self.play(ShowCreation(B))
+ # self.play(ApplyMethod(B.shift, (2*UP)))
+ self.wait(2)
+ self.play(FadeOut(A),FadeOut(B))
+ self.initialize_vector_field()
+ field = self.vector_field
+ self.play(ShowCreation(field), run_time=4)
+ self.play(ShowCreation(c1))
+ self.play(ShowCreation(c2))
+ self.wait(1)
+ lines = StreamLines(
+ pendulum_vector_field_func,
+ virtual_time=3,
+ min_magnitude=0,
+ max_magnitude=2,
+ )
+ self.add(AnimatedStreamLines(
+ lines,
+ line_anim_class=ShowPassingFlash
+ ))
+ self.wait(2)
+ phase_point = VectorizedPoint(1*UP+1*RIGHT)
+ self.add(move_along_vector_field(phase_point, pendulum_vector_field_func))
+ self.wait(2)
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file2_different_valuesof_Div.gif b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file2_different_valuesof_Div.gif
new file mode 100644
index 0000000..477c311
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file2_different_valuesof_Div.gif
Binary files differ
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file2_different_valuesof_Div.py b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file2_different_valuesof_Div.py
new file mode 100644
index 0000000..921047d
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/divergence-gauss-theorem/file2_different_valuesof_Div.py
@@ -0,0 +1,91 @@
+from manimlib.imports import *
+class Div(Scene):
+ def construct(self):
+ one=TextMobject(r"Div$ \vec{F} < 0$ ").set_color(RED)
+ two=TextMobject(r"Div$ \vec{F} = 0$ ").set_color(BLUE)
+ three=TextMobject(r"Div$ \vec{F} > 0$ ").set_color(YELLOW)
+
+ one.shift(2.3*DOWN)
+ two.shift(2.3*DOWN)
+ three.shift(2.3*DOWN)
+
+
+ a=Dot(color=RED)
+ a.shift(0.1*LEFT)
+ b=Dot(color=BLUE)
+ b.shift(0.1*LEFT)
+ c=Dot(color=YELLOW)
+ c.shift(0.1*LEFT)
+
+ rot=[0*DEGREES,45*DEGREES,90*DEGREES,135*DEGREES,180*DEGREES,225*DEGREES,270*DEGREES,315*DEGREES]
+ rot2=[180*DEGREES,180*DEGREES,180*DEGREES,180*DEGREES,180*DEGREES,180*DEGREES,180*DEGREES,180*DEGREES]
+ shift=[RIGHT,0.7*RIGHT+0.7*UP,UP,0.7*LEFT+0.7*UP,LEFT,0.7*LEFT+0.7*DOWN,DOWN,0.7*RIGHT+0.7*DOWN]
+ shift2=[RIGHT,RIGHT+UP,RIGHT+DOWN,UP,DOWN,LEFT,LEFT+UP,LEFT+DOWN]
+
+
+
+ u=[Vector(color=RED),Vector(color=RED),Vector(color=RED),Vector(color=RED),
+ Vector(color=RED),Vector(color=RED),Vector(color=RED),Vector(color=RED)]
+
+
+ [u[i].rotate(rot[i]) for i in range(8) ]
+ [u[i].rotate(rot2[i]) for i in range(8) ]
+ [u[i].shift(shift[i]) for i in range(8) ]
+
+
+ divone=VGroup(*u)
+ divone.shift(0.6*LEFT)
+
+
+ v=[Vector(color=BLUE),Vector(color=BLUE),Vector(color=BLUE),Vector(color=BLUE),
+ Vector(color=BLUE),Vector(color=BLUE),Vector(color=BLUE),Vector(color=BLUE)]
+
+
+ [v[i].rotate(45*DEGREES) for i in range(8)]
+ [v[i].shift(shift2[i]) for i in range(8) ]
+
+ divtwo=VGroup(*v)
+ divtwo.shift(0.6*LEFT)
+
+
+ w=[Vector(color=YELLOW),Vector(color=YELLOW),Vector(color=YELLOW),Vector(color=YELLOW),
+ Vector(color=YELLOW),Vector(color=YELLOW),Vector(color=YELLOW),Vector(color=YELLOW)]
+
+
+ [w[i].rotate(rot[i]) for i in range(8)]
+ [w[i].shift(shift[i]) for i in range(8) ]
+
+
+ divthree=VGroup(*w)
+ divthree.shift(0.6*LEFT)
+
+
+
+
+ self.play(ShowCreation(a),ShowCreation(divone))
+ self.play(ShowCreation(one))
+ self.wait(1)
+ self.play(FadeOut(a),FadeOut(divone),FadeOut(one))
+
+ self.play(ShowCreation(b),ShowCreation(divtwo))
+ self.play(ShowCreation(two))
+ self.wait(1)
+ self.play(FadeOut(b),FadeOut(divtwo),FadeOut(two))
+
+
+ self.play(ShowCreation(c),ShowCreation(divthree))
+ self.play(ShowCreation(three))
+ self.wait(1)
+ self.play(FadeOut(c),FadeOut(divthree),FadeOut(three))
+ self.wait(0.5)
+
+
+
+
+
+
+
+
+
+
+