summaryrefslogtreecommitdiff
path: root/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals
diff options
context:
space:
mode:
Diffstat (limited to 'FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals')
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/README.md8
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/cube.gifbin0 -> 4624266 bytes
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file1_projection.py89
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file2_cube.py75
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file3_cube_sideC.py96
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file4_pauseandponder.py77
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/pauseandponder.gifbin0 -> 1477023 bytes
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/projection.gifbin0 -> 4142689 bytes
-rw-r--r--FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/sideC.gifbin0 -> 3483849 bytes
9 files changed, 345 insertions, 0 deletions
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/README.md b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/README.md
new file mode 100644
index 0000000..a4a1c84
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/README.md
@@ -0,0 +1,8 @@
+**file1_projection.py**
+![file1_projection](projection.gif)
+**file2_cube.py**
+![file2_cube](cube.gif)
+**file3_cube_sideC.py**
+![file3_cube_sideC](sideC.gif)
+**file4_pauseandponder.py**
+![file4_pauseandponder](pauseandponder.gif)
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/cube.gif b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/cube.gif
new file mode 100644
index 0000000..2035d7a
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/cube.gif
Binary files differ
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file1_projection.py b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file1_projection.py
new file mode 100644
index 0000000..2d6f067
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file1_projection.py
@@ -0,0 +1,89 @@
+from manimlib.imports import *
+
+class Surface(ThreeDScene):
+
+ def construct(self):
+ axes=ThreeDAxes()
+ x=TextMobject("X")
+ y=TextMobject("Y")
+ z=TextMobject("Z")
+
+ x.rotate(PI/2, axis=RIGHT)
+ x.rotate(PI/4,axis=OUT)
+ x.shift(5.8*DOWN)
+
+ y.rotate(PI/2, axis=RIGHT)
+ y.rotate(PI/8,axis=OUT)
+ y.shift(5.8*RIGHT)
+
+ z.rotate(PI/2, axis=RIGHT)
+ z.rotate(PI/5,axis=OUT)
+ z.shift(3.2*OUT+0.4*LEFT)
+ axis_label=VGroup(x,y,z)
+
+
+
+
+
+ para_hyp = ParametricSurface(
+ lambda u, v: np.array([
+ u,
+ v,
+ 2+u/4+np.sin(v)
+ ]),v_min=-3,v_max=-0.4,u_min=-1,u_max=1,
+ resolution=(15, 32)).scale(1)
+ para_hyp.scale(0.3)
+ para_hyp.shift(1.2*RIGHT + 0.2*OUT + 0.4*DOWN)
+ para_hyp.rotate(PI,axis=RIGHT)
+ para_hyp.scale(2.5)
+ # para_hyp.rotate(PI/3.2,axis=OUT)
+ para_hyp2= ParametricSurface(
+ lambda u, v: np.array([
+ u,
+ v,
+ 2+u/4+np.sin(v)
+ ]),v_min=-3,v_max=-0.4,u_min=-1,u_max=1,
+ resolution=(15, 32)).scale(1)
+ para_hyp2.scale(0.3)
+ para_hyp2.shift(1.2*RIGHT + 0.2*OUT + 0.4*DOWN)
+ para_hyp2.rotate(PI,axis=RIGHT)
+ para_hyp2.scale(2.5)
+
+ rec=Rectangle(height=2.11, width=1.58, color=RED, fill_opacity=0.66)
+ rec.shift(1.3*RIGHT + 2.295*DOWN)
+ # rec.scale(2.5)
+
+
+ l1=DashedLine(start=0.5*RIGHT+1.1*DOWN+1.55*OUT,end=0.5*RIGHT+1.1*DOWN)
+ l2=DashedLine(start=2.1*RIGHT+1.1*DOWN+1.25*OUT,end=2.1*RIGHT+1.1*DOWN)
+ l3=DashedLine(start=2.1*RIGHT+3.4*DOWN+1.6*OUT,end=2.1*RIGHT+3.4*DOWN)
+ l4=DashedLine(start=0.5*RIGHT+3.4*DOWN+2*OUT,end=0.5*RIGHT+3.4*DOWN)
+ l=VGroup(l1,l2,l3,l4)
+
+
+
+ s=TextMobject("S",tex_to_color_map={"S": YELLOW})
+ s.rotate(PI/4,axis=RIGHT)
+ s.rotate(PI/15,axis=OUT)
+ s.shift(RIGHT + 2*OUT + 1.5*DOWN)
+ d=TextMobject("D",tex_to_color_map={"D": YELLOW})
+ d.scale(0.85)
+ d.shift(1.26*RIGHT + 2.45*DOWN)
+
+
+
+
+
+ self.set_camera_orientation(phi=75 * DEGREES,theta=-60*DEGREES)
+ self.begin_ambient_camera_rotation(rate=-0.02)
+ self.play(ShowCreation(axes),ShowCreation(axis_label))
+ self.wait(1.3)
+ self.play(ShowCreation(para_hyp))
+ self.play(ShowCreation(s))
+ self.add(para_hyp2)
+ self.play(Transform(para_hyp,rec),run_time=2)
+ self.play(ShowCreation(d))
+
+ self.wait(3)
+
+
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file2_cube.py b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file2_cube.py
new file mode 100644
index 0000000..2a094c8
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file2_cube.py
@@ -0,0 +1,75 @@
+from manimlib.imports import*
+class cuber(ThreeDScene):
+
+ def construct(self):
+
+ axes=ThreeDAxes()
+ cube=Cube(color=RED)
+ # cube.scale(1)
+ cube.shift(RIGHT+DOWN+OUT)
+
+ sq1=Square(side_length=2,color=RED, fill_opacity=0.5)
+ sq1.shift(RIGHT+DOWN)
+ # sq1.scale(1.2)
+ sq2=Square(color=YELLOW, fill_opacity=0.5)
+ sq2.rotate(PI/2,axis=RIGHT)
+ sq2.shift(RIGHT+OUT)
+
+ sq3=Square(color=GREEN , fill_opacity=0.5)
+ sq3.rotate(PI/2, axis=UP)
+ sq3.shift(DOWN+OUT)
+
+ a=TextMobject("side A",tex_to_color_map={"side A": BLACK})
+ b=TextMobject("side B",tex_to_color_map={"side B": BLACK})
+ c=TextMobject("side C",tex_to_color_map={"side C": BLACK})
+ a.rotate(PI/2, axis=RIGHT)
+ a.shift(RIGHT+OUT+2*DOWN)
+ b.rotate(PI/2, axis=OUT)
+ b.rotate(PI/2, axis=UP)
+ b.shift(2*RIGHT+DOWN+OUT)
+ c.shift(RIGHT+DOWN+2*OUT)
+ c.rotate(PI/4, axis=OUT)
+
+
+ axes=ThreeDAxes()
+ x=TextMobject("X")
+ y=TextMobject("Y")
+ z=TextMobject("Z")
+
+ x.rotate(PI/2, axis=RIGHT)
+ x.rotate(PI/4,axis=OUT)
+ x.shift(5.8*DOWN)
+
+ y.rotate(PI/2, axis=RIGHT)
+ y.rotate(PI/8,axis=OUT)
+ y.shift(5.8*RIGHT)
+
+ z.rotate(PI/2, axis=RIGHT)
+ z.rotate(PI/5,axis=OUT)
+ z.shift(3.2*OUT+0.4*LEFT)
+ axis_label=VGroup(x,y,z)
+
+
+
+
+
+
+ self.set_camera_orientation(phi=75 * DEGREES,theta=-67*DEGREES)
+ self.play(ShowCreation(axes),ShowCreation(axis_label))
+ self.play(ShowCreation(cube))
+ self.begin_ambient_camera_rotation(rate=0.04)
+ self.wait(0.7)
+ self.play(ShowCreation(sq1))
+ self.play(ShowCreation(sq2))
+
+ self.play(ShowCreation(sq3))
+ self.wait(0.6)
+ self.play(ShowCreation(a))
+
+ self.play(ShowCreation(b))
+ self.move_camera(phi=60*DEGREES,run_time=1)
+ self.play(ShowCreation(c))
+ self.wait(1)
+ self.wait(2)
+
+
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file3_cube_sideC.py b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file3_cube_sideC.py
new file mode 100644
index 0000000..0e6fdaa
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file3_cube_sideC.py
@@ -0,0 +1,96 @@
+from manimlib.imports import*
+
+
+
+class cuber(ThreeDScene):
+
+ def construct(self):
+
+ axes=ThreeDAxes()
+ cube=Cube(color=RED)
+ # cube.scale(1)
+ cube.shift(RIGHT+DOWN+OUT)
+
+ sq1=Square(side_length=1.95,color=BLUE, fill_opacity=1)
+ sq1.shift(RIGHT+DOWN+2*OUT)
+ # sq1.scale(1.2)
+
+ sq12=Square(side_length=1.95,color=BLUE, fill_opacity=1)
+ sq12.shift(RIGHT+DOWN+2*OUT)
+
+ sq2=Square(side_length=1.95,color=RED, fill_opacity=0.6)
+ sq2.shift(RIGHT+DOWN)
+
+ sq2w=Square(side_length=1.95,color=WHITE, fill_opacity=0.9)
+ sq2w.shift(RIGHT+DOWN)
+
+
+ c=TextMobject("side C",tex_to_color_map={"side C": BLACK})
+
+ dxdy=TextMobject(r"$dxdy$",tex_to_color_map={r"$dxdy$": WHITE})
+ dxdy.scale(0.7)
+ dxdy.rotate(PI/2, axis=RIGHT)
+ dxdy.rotate(PI/7, axis=OUT)
+ dxdy.shift(0.85*RIGHT+0.65*DOWN)
+
+
+
+ c.shift(RIGHT+DOWN+2*OUT)
+ c.rotate(PI/4, axis=OUT)
+
+
+
+ x=TextMobject("X")
+ y=TextMobject("Y")
+ z=TextMobject("Z")
+
+ x.rotate(PI/2, axis=RIGHT)
+ x.rotate(PI/4,axis=OUT)
+ x.shift(5.8*DOWN)
+
+ y.rotate(PI/2, axis=RIGHT)
+ y.rotate(PI/8,axis=OUT)
+ y.shift(5.8*RIGHT)
+
+ z.rotate(PI/2, axis=RIGHT)
+ z.rotate(PI/5,axis=OUT)
+ z.shift(3.2*OUT+0.4*LEFT)
+ axis_label=VGroup(x,y,z)
+
+ v=Vector(color=YELLOW)
+ # v.scale(2)
+ v.rotate(PI/2,axis=DOWN)
+ v.shift(0.4*RIGHT+0.9*DOWN+2.5*OUT)
+
+
+
+
+
+
+ self.set_camera_orientation(phi=60 * DEGREES,theta=-67*DEGREES)
+ self.begin_ambient_camera_rotation(rate=0.008)
+ self.add(axes)
+ self.add(axis_label)
+
+ self.add(cube)
+ # self.move_camera(phi=150*DEGREES,theta=-45*DEGREES, run_time=3)
+ self.wait(1.2)
+ self.add(sq1)
+ self.add(sq12)
+ self.play(ShowCreation(c))
+ self.wait(0.7)
+ self.play(FadeOut(cube))
+ self.wait(0.7)
+ # self.move_camera(phi=75*DEGREES,run_time=2)
+ self.play(ShowCreation(v))
+ self.wait(1)
+ self.play(Transform(sq1,sq2))
+ self.wait(0.7)
+ self.play(ApplyMethod(sq2w.scale, 0.08))
+ self.play(ShowCreation(dxdy))
+ self.wait(2)
+
+
+
+
+
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file4_pauseandponder.py b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file4_pauseandponder.py
new file mode 100644
index 0000000..a8b5070
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/file4_pauseandponder.py
@@ -0,0 +1,77 @@
+from manimlib.imports import *
+
+class Surface(ThreeDScene):
+ def construct(self):
+ axes=ThreeDAxes()
+ cylinder = ParametricSurface(
+ lambda u, v: np.array([
+ np.cos(TAU * v),
+ v,
+ u
+ ]),
+ resolution=(6, 32)).fade(0.5) #Resolution of the surfaces
+
+
+ x=TextMobject("X")
+ y=TextMobject("Y")
+ z=TextMobject("Z")
+
+ x.rotate(PI/2, axis=RIGHT)
+ x.rotate(PI/4,axis=OUT)
+ x.shift(5.8*DOWN)
+
+ y.rotate(PI/2, axis=RIGHT)
+ y.rotate(PI/8,axis=OUT)
+ y.shift(5.8*RIGHT)
+
+ z.rotate(PI/2, axis=RIGHT)
+ z.rotate(PI/5,axis=OUT)
+ z.shift(3.2*OUT+0.4*LEFT)
+ axis_label=VGroup(x,y,z)
+
+
+
+ cylinder.rotate(PI/2, axis=RIGHT)
+ cylinder.shift(2*RIGHT+OUT+DOWN)
+ cylinder.scale(1.5)
+
+ self.set_camera_orientation(phi=75 * DEGREES,theta=-85*DEGREES)
+ self.begin_ambient_camera_rotation(rate=0.1)
+ self.play(ShowCreation(axes),ShowCreation(axis_label))
+ self.play(ShowCreation(cylinder))
+ # self.wait(0.7)
+
+
+
+ self.wait(2)
+ self.stop_ambient_camera_rotation()
+ self.wait(0.7)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/pauseandponder.gif b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/pauseandponder.gif
new file mode 100644
index 0000000..4308c60
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/pauseandponder.gif
Binary files differ
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/projection.gif b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/projection.gif
new file mode 100644
index 0000000..c0ca611
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/projection.gif
Binary files differ
diff --git a/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/sideC.gif b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/sideC.gif
new file mode 100644
index 0000000..17b72ff
--- /dev/null
+++ b/FSF-2020/calculus-of-several-variables/triple-and-surface-integrals/surface-integrals/sideC.gif
Binary files differ