From ba2e5d704cdafd73cc0e0dab91fcff110ffaf400 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 3 Jul 2020 19:53:49 +0530 Subject: Delete file1_multivar_func_examples.py --- .../file1_multivar_func_examples.py | 167 --------------------- 1 file changed, 167 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file1_multivar_func_examples.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file1_multivar_func_examples.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file1_multivar_func_examples.py deleted file mode 100644 index 55b2b7e..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file1_multivar_func_examples.py +++ /dev/null @@ -1,167 +0,0 @@ -from manimlib.imports import * - -class Examples1(GraphScene): - def construct(self): - - rectangle = Rectangle(height = 3, width = 4, color = GREEN) - rectangle_area_func = TexMobject("Area", "=", "f(", "Length", ",", "Breadth", ")").scale(0.6) - rectangle_area_func[0].set_color(RED_C) - rectangle_area_func[2].set_color(ORANGE) - rectangle_area_func[3].set_color(YELLOW_C) - rectangle_area_func[5].set_color(BLUE_C) - rectangle_area_func[6].set_color(ORANGE) - - - rectangle_area = TexMobject("Area", "=", "Length", "\\times", "Breadth").scale(0.6) - rectangle_area[0].set_color(RED_C) - rectangle_area[2].set_color(YELLOW_C) - rectangle_area[4].set_color(BLUE_C) - - - square = Square(side_length = 5, color = PURPLE) - square_area_func = TexMobject("Area", "=", "f(", "Length", ")") - square_area_func[0].set_color(GREEN_C) - square_area_func[2].set_color(ORANGE) - square_area_func[3].set_color(BLUE_C) - square_area_func[4].set_color(ORANGE) - - square_area = TexMobject("Area", "=", "Length^2") - square_area[0].set_color(GREEN_C) - square_area[2].set_color(BLUE_C) - - - circle = Circle(radius = 2, color = PINK) - circle_area_func = TexMobject("Area", "=", "f(", "r", ")") - circle_area_func[0].set_color(YELLOW_C) - circle_area_func[2].set_color(ORANGE) - circle_area_func[3].set_color(GREEN_C) - circle_area_func[4].set_color(ORANGE) - - circle_area = TexMobject("Area", "=", "\\pi", "r^2") - circle_area[0].set_color(YELLOW_C) - circle_area[2].set_color(BLUE_C) - circle_area[3].set_color(GREEN_C) - - radius = Line(ORIGIN,2*RIGHT, color = RED_C) - - - - braces_rect1 = Brace(rectangle, LEFT) - eq_text1 = braces_rect1.get_text("Length").set_color(YELLOW_C) - braces_rect2 = Brace(rectangle, UP) - eq_text2 = braces_rect2.get_text("Breadth").set_color(BLUE_C) - - braces_square = Brace(square, LEFT) - braces_square_text = braces_square.get_text("Length").set_color(BLUE_C) - - radius_text = TexMobject("r", color = GREEN_C).next_to(radius,UP) - - - - self.play(ShowCreation(rectangle)) - self.wait(1) - self.play(GrowFromCenter(braces_rect1),Write(eq_text1),GrowFromCenter(braces_rect2),Write(eq_text2)) - self.wait(1) - self.play(Write(rectangle_area_func)) - self.wait(1) - self.play(Transform(rectangle_area_func, rectangle_area)) - self.wait(1) - self.play(FadeOut(braces_rect1),FadeOut(eq_text1),FadeOut(braces_rect2),FadeOut(eq_text2),FadeOut(rectangle_area_func)) - - - self.play(Transform(rectangle, square)) - self.wait(1) - self.play(GrowFromCenter(braces_square),Write(braces_square_text)) - self.wait(1) - self.play(Write(square_area_func)) - self.wait(1) - self.play(Transform(square_area_func, square_area)) - self.wait(1) - self.play(FadeOut(braces_square),FadeOut(braces_square_text),FadeOut(square_area_func)) - - - self.play(Transform(rectangle, circle)) - self.wait(1) - self.play(ShowCreation(radius),Write(radius_text)) - self.wait(1) - self.play(FadeOut(radius_text),FadeOut(radius)) - self.wait(1) - self.play(Write(circle_area_func)) - self.wait(1) - self.play(Transform(circle_area_func, circle_area)) - self.wait(1) - self.play(FadeOut(circle_area_func)) - - - -class Examples2(ThreeDScene): - def construct(self): - axes = ThreeDAxes() - - rectangle_x_y_0 = Polygon(np.array([-1,-2,0]),np.array([-1,2,0]),np.array([1,2,0]),np.array([1,-2,0]),np.array([-1,-2,0]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) - rectangle_x_y_3 = Polygon(np.array([-1,-2,3]),np.array([-1,2,3]),np.array([1,2,3]),np.array([1,-2,3]),np.array([-1,-2,3]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) - - rectangle_y_z_1 = Polygon(np.array([1,-2,3]),np.array([1,2,3]),np.array([1,2,0]),np.array([1,-2,0]),np.array([1,-2,3]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) - rectangle_y_z_minus_1 = Polygon(np.array([-1,-2,3]),np.array([-1,2,3]),np.array([-1,2,0]),np.array([-1,-2,0]),np.array([-1,-2,3]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) - - rectangle_x_z_2 = Polygon(np.array([1,2,3]),np.array([-1,2,3]),np.array([-1,2,0]),np.array([1,2,0]),np.array([1,2,3]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) - rectangle_x_z_minus_2 = Polygon(np.array([1,-2,3]),np.array([-1,-2,3]),np.array([-1,-2,0]),np.array([1,-2,0]),np.array([1,-2,3]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) - - box = VGroup(rectangle_x_y_0, rectangle_x_y_3, rectangle_y_z_1, rectangle_y_z_minus_1, rectangle_x_z_2, rectangle_x_z_minus_2) - - braces_rectangle_x_y_0 = Line(np.array([1,2,0]), np.array([1,-2,0]), color = BLUE_C) - braces_rectangle_x_y_0_text = TextMobject("Length").set_color(BLUE_C).move_to(np.array([2,-1,0])) - - braces_rectangle_y_z_1 = Line(np.array([1,2,0]), np.array([1,2,3]), color = YELLOW_C) - braces_rectangle_y_z_1_text = TextMobject("Height").set_color(YELLOW_C).move_to(np.array([2,3.8,2])) - - braces_rectangle_x_z_2 = Line(np.array([1,2,3]), np.array([-1,2,3]), color = PURPLE) - braces_rectangle_x_z_2_text = TextMobject("Breadth").set_color(PURPLE).move_to(np.array([0,3.8,3.3])) - - box_area_func = TexMobject("Area =", "f(", "Length", ",", "Breadth", ",", "Height", ")").move_to(4*LEFT+3.5*UP).scale(0.6) - box_area_func[0].set_color(GREEN_C) - box_area_func[1].set_color(ORANGE) - box_area_func[2].set_color(BLUE_C) - box_area_func[4].set_color(PURPLE) - box_area_func[6].set_color(YELLOW_C) - box_area_func[7].set_color(ORANGE) - - box_area_func_2 = TexMobject("Area =", "Length", "\\times", "Breadth", "\\times", "Height").move_to(4*LEFT+3.5*UP).scale(0.6) - box_area_func_2[0].set_color(GREEN_C) - box_area_func_2[1].set_color(BLUE_C) - box_area_func_2[3].set_color(PURPLE) - box_area_func_2[5].set_color(YELLOW_C) - - - self.set_camera_orientation(phi=70 * DEGREES, theta = 45*DEGREES) - - self.add(axes) - - axis = TextMobject(r"X",r"Y",r"Z") - axis[0].move_to(6*RIGHT) - axis[1].move_to(6*UP) - axis[2].move_to(3.7*UP) - - self.add_fixed_in_frame_mobjects(axis[2]) - self.add_fixed_orientation_mobjects(axis[0]) - self.add_fixed_orientation_mobjects(axis[1]) - - self.play(ShowCreation(box), ShowCreation(braces_rectangle_x_y_0)) - self.add_fixed_orientation_mobjects(braces_rectangle_x_y_0_text) - self.play(ShowCreation(braces_rectangle_y_z_1)) - self.add_fixed_orientation_mobjects(braces_rectangle_y_z_1_text) - self.play(ShowCreation(braces_rectangle_x_z_2)) - self.add_fixed_orientation_mobjects(braces_rectangle_x_z_2_text) - self.wait(2) - - self.move_camera(phi=60* DEGREES,theta=80*DEGREES) - self.add_fixed_in_frame_mobjects(box_area_func) - self.play(Write(box_area_func)) - self.wait() - - - self.play(ReplacementTransform(box_area_func,box_area_func_2)) - self.add_fixed_in_frame_mobjects(box_area_func_2) - - - self.wait(3) \ No newline at end of file -- cgit From acfcd90d303bb7f1e4cebcc4029c8382e4f89843 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 3 Jul 2020 19:55:33 +0530 Subject: Add files via upload --- .../file1_multivar_func_examples.py | 148 +++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file1_multivar_func_examples.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file1_multivar_func_examples.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file1_multivar_func_examples.py new file mode 100644 index 0000000..c15cdfb --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file1_multivar_func_examples.py @@ -0,0 +1,148 @@ +from manimlib.imports import * + +class Examples1(GraphScene): + def construct(self): + + rectangle = Rectangle(height = 3, width = 4, color = GREEN) + rectangle_area_func = TexMobject("Area", "=", "f(", "Length", ",", "Breadth", ")").scale(0.6) + rectangle_area_func[0].set_color(RED_C) + rectangle_area_func[2].set_color(ORANGE) + rectangle_area_func[3].set_color(YELLOW_C) + rectangle_area_func[5].set_color(BLUE_C) + rectangle_area_func[6].set_color(ORANGE) + + + rectangle_area = TexMobject("Area", "=", "Length", "\\times", "Breadth").scale(0.6) + rectangle_area[0].set_color(RED_C) + rectangle_area[2].set_color(YELLOW_C) + rectangle_area[4].set_color(BLUE_C) + + + triangle = Polygon(np.array([-3,-1.5,0]), np.array([2,-1.5,0]), np.array([2,1.5,0]), np.array([-3,-1.5,0]), color = PURPLE) + + triangle_area_func = TexMobject("Area", "=", "f(", "Base", ",", "Height", ")").scale(0.6).move_to(1*DOWN) + triangle_area_func[0].set_color(RED_C) + triangle_area_func[2].set_color(ORANGE) + triangle_area_func[3].set_color(YELLOW_C) + triangle_area_func[5].set_color(BLUE_C) + triangle_area_func[6].set_color(ORANGE) + + triangle_area = TexMobject("Area", "=", "\\frac{1}{2}", "\\times", "Base", "\\times", "Height").scale(0.6).move_to(1*DOWN) + triangle_area[0].set_color(RED_C) + triangle_area[2].set_color(GREEN_C) + triangle_area[4].set_color(YELLOW_C) + triangle_area[6].set_color(BLUE_C) + + + + braces_rect1 = Brace(rectangle, LEFT) + eq_text1 = braces_rect1.get_text("Length").set_color(YELLOW_C) + braces_rect2 = Brace(rectangle, UP) + eq_text2 = braces_rect2.get_text("Breadth").set_color(BLUE_C) + + + braces_triangle_height = Brace(triangle, RIGHT) + braces_triangle_height_text = braces_triangle_height.get_text("Height").set_color(BLUE_C) + + braces_triangle_base = Brace(triangle, DOWN) + braces_triangle_base_text = braces_triangle_base.get_text("Base").set_color(YELLOW_C) + + + self.play(ShowCreation(rectangle)) + self.wait(1) + self.play(GrowFromCenter(braces_rect1),Write(eq_text1),GrowFromCenter(braces_rect2),Write(eq_text2)) + self.wait(1) + self.play(Write(rectangle_area_func)) + self.wait(1) + self.play(Transform(rectangle_area_func, rectangle_area)) + self.wait(1) + self.play(FadeOut(braces_rect1),FadeOut(eq_text1),FadeOut(braces_rect2),FadeOut(eq_text2),FadeOut(rectangle_area_func)) + + + self.play(Transform(rectangle, triangle)) + self.wait(1) + self.play(GrowFromCenter(braces_triangle_height),Write(braces_triangle_height_text)) + self.wait(1) + self.play(GrowFromCenter(braces_triangle_base),Write(braces_triangle_base_text)) + self.wait(1) + self.play(Write(triangle_area_func)) + self.wait(1) + self.play(Transform(triangle_area_func, triangle_area)) + self.wait(1) + self.play(FadeOut(braces_triangle_height),FadeOut(braces_triangle_height_text),FadeOut(braces_triangle_base),FadeOut(braces_triangle_base_text),FadeOut(triangle_area_func)) + self.wait(1) + + + + +class Examples2(ThreeDScene): + def construct(self): + axes = ThreeDAxes() + + rectangle_x_y_0 = Polygon(np.array([-1,-2,0]),np.array([-1,2,0]),np.array([1,2,0]),np.array([1,-2,0]),np.array([-1,-2,0]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) + rectangle_x_y_3 = Polygon(np.array([-1,-2,3]),np.array([-1,2,3]),np.array([1,2,3]),np.array([1,-2,3]),np.array([-1,-2,3]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) + + rectangle_y_z_1 = Polygon(np.array([1,-2,3]),np.array([1,2,3]),np.array([1,2,0]),np.array([1,-2,0]),np.array([1,-2,3]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) + rectangle_y_z_minus_1 = Polygon(np.array([-1,-2,3]),np.array([-1,2,3]),np.array([-1,2,0]),np.array([-1,-2,0]),np.array([-1,-2,3]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) + + rectangle_x_z_2 = Polygon(np.array([1,2,3]),np.array([-1,2,3]),np.array([-1,2,0]),np.array([1,2,0]),np.array([1,2,3]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) + rectangle_x_z_minus_2 = Polygon(np.array([1,-2,3]),np.array([-1,-2,3]),np.array([-1,-2,0]),np.array([1,-2,0]),np.array([1,-2,3]), color = RED_E, fill_color = RED_C, fill_opacity = 0.1) + + box = VGroup(rectangle_x_y_0, rectangle_x_y_3, rectangle_y_z_1, rectangle_y_z_minus_1, rectangle_x_z_2, rectangle_x_z_minus_2) + + braces_rectangle_x_y_0 = Line(np.array([1,2,0]), np.array([1,-2,0]), color = BLUE_C) + braces_rectangle_x_y_0_text = TextMobject("Length").set_color(BLUE_C).move_to(np.array([2,-1,0])) + + braces_rectangle_y_z_1 = Line(np.array([1,2,0]), np.array([1,2,3]), color = YELLOW_C) + braces_rectangle_y_z_1_text = TextMobject("Height").set_color(YELLOW_C).move_to(np.array([2,3.8,2])) + + braces_rectangle_x_z_2 = Line(np.array([1,2,3]), np.array([-1,2,3]), color = PURPLE) + braces_rectangle_x_z_2_text = TextMobject("Breadth").set_color(PURPLE).move_to(np.array([0,3.8,3.3])) + + box_area_func = TexMobject("Area =", "f(", "Length", ",", "Breadth", ",", "Height", ")").move_to(4*LEFT+3.5*UP).scale(0.6) + box_area_func[0].set_color(GREEN_C) + box_area_func[1].set_color(ORANGE) + box_area_func[2].set_color(BLUE_C) + box_area_func[4].set_color(PURPLE) + box_area_func[6].set_color(YELLOW_C) + box_area_func[7].set_color(ORANGE) + + box_area_func_2 = TexMobject("Area =", "Length", "\\times", "Breadth", "\\times", "Height").move_to(4*LEFT+3.5*UP).scale(0.6) + box_area_func_2[0].set_color(GREEN_C) + box_area_func_2[1].set_color(BLUE_C) + box_area_func_2[3].set_color(PURPLE) + box_area_func_2[5].set_color(YELLOW_C) + + + self.set_camera_orientation(phi=70 * DEGREES, theta = 45*DEGREES) + + self.add(axes) + + axis = TextMobject(r"X",r"Y",r"Z") + axis[0].move_to(6*RIGHT) + axis[1].move_to(6*UP) + axis[2].move_to(3.7*UP) + + self.add_fixed_in_frame_mobjects(axis[2]) + self.add_fixed_orientation_mobjects(axis[0]) + self.add_fixed_orientation_mobjects(axis[1]) + + self.play(ShowCreation(box), ShowCreation(braces_rectangle_x_y_0)) + self.add_fixed_orientation_mobjects(braces_rectangle_x_y_0_text) + self.play(ShowCreation(braces_rectangle_y_z_1)) + self.add_fixed_orientation_mobjects(braces_rectangle_y_z_1_text) + self.play(ShowCreation(braces_rectangle_x_z_2)) + self.add_fixed_orientation_mobjects(braces_rectangle_x_z_2_text) + self.wait(2) + + self.move_camera(phi=60* DEGREES,theta=80*DEGREES) + self.add_fixed_in_frame_mobjects(box_area_func) + self.play(Write(box_area_func)) + self.wait() + + + self.play(ReplacementTransform(box_area_func,box_area_func_2)) + self.add_fixed_in_frame_mobjects(box_area_func_2) + + + self.wait(3) \ No newline at end of file -- cgit From 90e3c80b13fa66693a03858999644982157f06b2 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 3 Jul 2020 19:56:01 +0530 Subject: Delete file1_multivar_func_examples.gif --- .../gifs/file1_multivar_func_examples.gif | Bin 1440511 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file1_multivar_func_examples.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file1_multivar_func_examples.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file1_multivar_func_examples.gif deleted file mode 100644 index 43c3a42..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file1_multivar_func_examples.gif and /dev/null differ -- cgit From 6cbec5e50a290209cc5e1d619de81df32f4b83ca Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 3 Jul 2020 19:56:31 +0530 Subject: Add files via upload --- .../gifs/file1_multivar_func_examples.gif | Bin 0 -> 1453898 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file1_multivar_func_examples.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file1_multivar_func_examples.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file1_multivar_func_examples.gif new file mode 100644 index 0000000..d078fb9 Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file1_multivar_func_examples.gif differ -- cgit From 975a74e11015394cd5ccfdd9edb2bd4863273cac Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 12:39:33 +0530 Subject: Delete file4_partial_deriv_example.py --- .../file4_partial_deriv_example.py | 246 --------------------- 1 file changed, 246 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file4_partial_deriv_example.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file4_partial_deriv_example.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file4_partial_deriv_example.py deleted file mode 100644 index 5712a62..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file4_partial_deriv_example.py +++ /dev/null @@ -1,246 +0,0 @@ -from manimlib.imports import * - -class PartialDerivX(ThreeDScene): - def construct(self): - axes = ThreeDAxes() - - paraboloid = ParametricSurface( - lambda u, v: np.array([ - 2*np.sin(u)*np.cos(v), - 2*np.sin(u)*np.sin(v), - -2*2*np.sin(u)*np.sin(u)+2 - ]),u_min=0,u_max=PI/2,v_min=0,v_max=2*PI,checkerboard_colors=[PINK, PURPLE], - resolution=(15, 32)).scale(1) - - paraboloid_copy = paraboloid.copy() - - - paraboloid_x = ParametricSurface( - lambda u, v: np.array([ - 2*np.sin(u)*np.cos(v), - 2*np.sin(u)*np.sin(v), - -2*2*np.sin(u)*np.sin(u)+2 - ]),u_min=0,u_max=PI/2,v_min=PI,v_max=2*PI,checkerboard_colors=[PINK, PURPLE], - resolution=(15, 32)).scale(1) - - - parabola =ParametricFunction( - lambda u : np.array([ - u, - 0, - -(u*u) + 2 - ]),color="#006400",t_min=-2,t_max=2, - ) - - plane = Polygon(np.array([-2.2,0,-2.5]),np.array([2.2,0,-2.5]),np.array([2.2,0,2.5]),np.array([-2.2,0,2.5]),np.array([-2.2,0,-2.5]), color = GREEN, fill_color = GREEN, fill_opacity = 0.2) - plane_text = TextMobject(r"$y = 0$", color = GREEN_C).move_to(2*UP + 3*RIGHT) - - surface_eqn = TextMobject("Surface", r"$z = 2- x^2 -y^2$", color = PINK).scale(0.6).move_to(np.array([3*LEFT +3*UP])) - surface_eqn[0].set_color(BLUE_C) - - line = Line(np.array([-2,0,0]), np.array([2,0,0]), color = RED_C) - - - self.add(axes) - - axis = TextMobject(r"X",r"Y",r"Z") - axis[0].move_to(6*RIGHT) - axis[1].move_to(6*UP) - axis[2].move_to(3.7*UP) - - self.add_fixed_in_frame_mobjects(axis[2]) - self.add_fixed_orientation_mobjects(axis[0]) - self.add_fixed_orientation_mobjects(axis[1]) - - - self.set_camera_orientation(phi=80 * DEGREES, theta = 0*DEGREES) - - self.play(Write(paraboloid)) - - self.add_fixed_in_frame_mobjects(surface_eqn) - #self.move_camera(phi=80* DEGREES,theta=95*DEGREES) - self.move_camera(phi=80* DEGREES,theta=45*DEGREES) - self.play(ShowCreation(plane)) - self.add_fixed_in_frame_mobjects(plane_text) - self.wait() - self.play(ReplacementTransform(paraboloid, paraboloid_x)) - self.play(FadeOut(plane), FadeOut(plane_text)) - self.play(ShowCreation(parabola), ShowCreation(line)) - - text1 = TextMobject("Moving small", r"$dx$", r"steps").scale(0.6).move_to(3*UP + 3.5*RIGHT).set_color_by_gradient(RED, ORANGE, YELLOW, BLUE, PURPLE) - - text2 = TextMobject("Observing change in function, keeping", r"$y$", r"constant").scale(0.6).move_to(2.6*UP + 3.5*RIGHT).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) - - slope_text = TexMobject("Slope =", "{\\partial", "f", "\\over", "\\partial", "x}").scale(0.6).move_to(2*UP + 3.5*RIGHT) - slope_text[0].set_color(BLUE_E) - slope_text.set_color_by_tex("\\partial",PINK) - slope_text.set_color_by_tex("f","#006400") - slope_text[5].set_color(RED_C) - - self.add_fixed_in_frame_mobjects(text1, text2) - self.wait() - self.add_fixed_in_frame_mobjects(slope_text) - #add_fixed_orientation_mobjects - - - dot = Dot().rotate(PI/2).set_color(RED_C) - alpha = ValueTracker(0) - vector = self.get_tangent_vector(alpha.get_value(),parabola,scale=1.5) - dot.add_updater(lambda m: m.move_to(vector.get_center())) - self.play( - ShowCreation(parabola), - GrowFromCenter(dot), - GrowArrow(vector) - ) - vector.add_updater( - lambda m: m.become( - self.get_tangent_vector(alpha.get_value()%1,parabola,scale=1.5) - ) - ) - self.add(vector,dot) - self.play(alpha.increment_value, 1, run_time=10, rate_func=linear) - self.wait() - - - ''' - for i in np.arange(-2,2,0.2): - self.play(ReplacementTransform(Line(np.array([i,0,0]), np.array([i,0,-i*i + 2]), color = GREEN_C), Line(np.array([i+0.2,0,0]), np.array([i+0.2,0,-(i+0.2)**2 + 2]), color = GREEN_C))) - #self.wait() - ''' - - self.wait() - self.play(FadeOut(parabola), FadeOut(line), FadeOut(vector), FadeOut(dot), FadeOut(text1), FadeOut(text2), FadeOut(slope_text),FadeOut(surface_eqn)) - - #self.move_camera(phi=80* DEGREES,theta= 0*DEGREES) - self.play(ReplacementTransform(paraboloid_x, paraboloid_copy)) - self.wait() - - - def get_tangent_vector(self, proportion, curve, dx=0.001, scale=1): - coord_i = curve.point_from_proportion(proportion) - coord_f = curve.point_from_proportion(proportion + dx) - reference_line = Line(coord_i,coord_f) - unit_vector = reference_line.get_unit_vector() * scale - vector = Line(coord_i - unit_vector, coord_i + unit_vector, color = BLUE_E, buff=0) - return vector - - -class PartialDerivY(ThreeDScene): - def construct(self): - axes = ThreeDAxes() - - paraboloid = ParametricSurface( - lambda u, v: np.array([ - 2*np.sin(u)*np.cos(v), - 2*np.sin(u)*np.sin(v), - -2*2*np.sin(u)*np.sin(u)+2 - ]),u_min=0,u_max=PI/2,v_min=0,v_max=2*PI,checkerboard_colors=[PINK, PURPLE], - resolution=(15, 32)).scale(1) - - paraboloid_copy = paraboloid.copy() - - - paraboloid_y = ParametricSurface( - lambda u, v: np.array([ - 2*np.sin(u)*np.cos(v), - 2*np.sin(u)*np.sin(v), - -2*2*np.sin(u)*np.sin(u)+2 - ]),u_min=0,u_max=PI/2,v_min=PI/2,v_max=3*PI/2,checkerboard_colors=[PINK, PURPLE], - resolution=(15, 32)).scale(1) - - - parabola =ParametricFunction( - lambda u : np.array([ - 0, - u, - -(u*u) + 2 - ]),color=YELLOW_C,t_min=-2,t_max=2, - ) - - plane = Polygon(np.array([0,-2.2,-2.5]),np.array([0,2.2,-2.5]),np.array([0,2.2,2.5]),np.array([0,-2.2,2.5]),np.array([0,-2.2,-2.5]), color = BLUE, fill_color = BLUE, fill_opacity = 0.2) - plane_text = TextMobject(r"$x = 0$", color = BLUE_C).move_to(2*UP + 3*RIGHT) - - surface_eqn = TextMobject("Surface", r"$z = 2- x^2 -y^2$", color = PINK).scale(0.6).move_to(np.array([3*LEFT +3*UP])) - surface_eqn[0].set_color(BLUE_C) - - line = Line(np.array([0,-2,0]), np.array([0,2,0]), color = RED_C) - - self.add(axes) - - axis = TextMobject(r"X",r"Y",r"Z") - axis[0].move_to(6*RIGHT) - axis[1].move_to(6*UP) - axis[2].move_to(3.7*UP) - - self.add_fixed_in_frame_mobjects(axis[2]) - self.add_fixed_orientation_mobjects(axis[0]) - self.add_fixed_orientation_mobjects(axis[1]) - - self.set_camera_orientation(phi=80 * DEGREES, theta = 45*DEGREES) - - self.play(Write(paraboloid)) - - self.add_fixed_in_frame_mobjects(surface_eqn) - #self.move_camera(phi=80* DEGREES,theta=5*DEGREES) - self.play(ShowCreation(plane)) - self.add_fixed_in_frame_mobjects(plane_text) - self.wait() - self.play(ReplacementTransform(paraboloid, paraboloid_y)) - self.play(FadeOut(plane), FadeOut(plane_text)) - self.play(ShowCreation(parabola), ShowCreation(line)) - - text1 = TextMobject("Moving small", r"$dy$", r"steps").scale(0.6).move_to(3*UP + 3.5*RIGHT).set_color_by_gradient(RED, ORANGE, YELLOW, BLUE, PURPLE) - - text2 = TextMobject("Observing change in function, keeping", r"$x$", r"constant").scale(0.6).move_to(2.6*UP + 3.5*RIGHT).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) - - slope_text = TexMobject("Slope =", "{\\partial", "f", "\\over", "\\partial", "y}").scale(0.6).move_to(2*UP + 3.5*RIGHT) - slope_text[0].set_color("#006400") - slope_text.set_color_by_tex("\\partial",PINK) - slope_text.set_color_by_tex("f",YELLOW_C) - slope_text[5].set_color(RED_C) - - self.add_fixed_in_frame_mobjects(text1, text2) - self.wait() - self.add_fixed_in_frame_mobjects(slope_text) - - dot = Dot().rotate(PI/2).set_color(RED_C) - alpha = ValueTracker(0) - vector = self.get_tangent_vector(alpha.get_value(),parabola,scale=1.5) - dot.add_updater(lambda m: m.move_to(vector.get_center())) - self.play( - ShowCreation(parabola), - GrowFromCenter(dot), - GrowArrow(vector) - ) - vector.add_updater( - lambda m: m.become( - self.get_tangent_vector(alpha.get_value()%1,parabola,scale=1.5) - ) - ) - self.add(vector,dot) - self.play(alpha.increment_value, 1, run_time=10, rate_func=linear) - self.wait() - - ''' - for i in np.arange(-2,2,0.2): - self.play(ReplacementTransform(Line(np.array([0,i,0]), np.array([0,i,-i*i + 2]), color = BLUE_C), Line(np.array([0,i+0.2,0]), np.array([0,i+0.2,-(i+0.2)**2 + 2]), color = BLUE_C))) - #self.wait() - ''' - - - self.wait() - self.play(FadeOut(parabola), FadeOut(line), FadeOut(vector), FadeOut(dot), FadeOut(text1), FadeOut(text2), FadeOut(slope_text),FadeOut(surface_eqn)) - - #self.move_camera(phi=80* DEGREES,theta= 90*DEGREES) - self.play(ReplacementTransform(paraboloid_y, paraboloid_copy)) - self.wait() - - def get_tangent_vector(self, proportion, curve, dx=0.001, scale=1): - coord_i = curve.point_from_proportion(proportion) - coord_f = curve.point_from_proportion(proportion + dx) - reference_line = Line(coord_i,coord_f) - unit_vector = reference_line.get_unit_vector() * scale - vector = Line(coord_i - unit_vector, coord_i + unit_vector, color = "#006400", buff=0) - return vector - - \ No newline at end of file -- cgit From 5ee6f0880a95632e35fc7b7d001d2f2aa6d2bc0c Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 12:39:49 +0530 Subject: Add files via upload --- .../file4_partial_deriv_example.py | 246 +++++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file4_partial_deriv_example.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file4_partial_deriv_example.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file4_partial_deriv_example.py new file mode 100644 index 0000000..0a5832d --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file4_partial_deriv_example.py @@ -0,0 +1,246 @@ +from manimlib.imports import * + +class PartialDerivX(ThreeDScene): + def construct(self): + axes = ThreeDAxes() + + paraboloid = ParametricSurface( + lambda u, v: np.array([ + 2*np.sin(u)*np.cos(v), + 2*np.sin(u)*np.sin(v), + -2*2*np.sin(u)*np.sin(u)+2 + ]),u_min=0,u_max=PI/2,v_min=0,v_max=2*PI,checkerboard_colors=[PINK, PURPLE], + resolution=(15, 32)).scale(1) + + paraboloid_copy = paraboloid.copy() + + + paraboloid_x = ParametricSurface( + lambda u, v: np.array([ + 2*np.sin(u)*np.cos(v), + 2*np.sin(u)*np.sin(v), + -2*2*np.sin(u)*np.sin(u)+2 + ]),u_min=0,u_max=PI/2,v_min=PI,v_max=2*PI,checkerboard_colors=[PINK, PURPLE], + resolution=(15, 32)).scale(1) + + + parabola =ParametricFunction( + lambda u : np.array([ + u, + 0, + -(u*u) + 2 + ]),color="#006400",t_min=-2,t_max=2, + ) + + plane = Polygon(np.array([-2.2,0,-2.5]),np.array([2.2,0,-2.5]),np.array([2.2,0,2.5]),np.array([-2.2,0,2.5]),np.array([-2.2,0,-2.5]), color = GREEN, fill_color = GREEN, fill_opacity = 0.2) + plane_text = TextMobject(r"$y = 0$", color = GREEN_C).move_to(2*UP + 3*RIGHT) + + surface_eqn = TextMobject("Surface", r"$z = f(x,y) = 2 - x^2 - y^2$", color = BLUE_C).scale(0.6).move_to(np.array([3*LEFT +3*UP])) + surface_eqn[0].set_color(PINK) + + line = Line(np.array([-2,0,0]), np.array([2,0,0]), color = RED_C) + + + self.add(axes) + + axis = TextMobject(r"X",r"Y",r"Z") + axis[0].move_to(6*RIGHT) + axis[1].move_to(6*UP) + axis[2].move_to(3.7*UP) + + self.add_fixed_in_frame_mobjects(axis[2]) + self.add_fixed_orientation_mobjects(axis[0]) + self.add_fixed_orientation_mobjects(axis[1]) + + + self.set_camera_orientation(phi=80 * DEGREES, theta = 0*DEGREES) + + self.play(Write(paraboloid)) + + self.add_fixed_in_frame_mobjects(surface_eqn) + #self.move_camera(phi=80* DEGREES,theta=95*DEGREES) + self.move_camera(phi=80* DEGREES,theta=45*DEGREES) + self.play(ShowCreation(plane)) + self.add_fixed_in_frame_mobjects(plane_text) + self.wait() + self.play(ReplacementTransform(paraboloid, paraboloid_x)) + self.play(FadeOut(plane), FadeOut(plane_text)) + self.play(ShowCreation(parabola), ShowCreation(line)) + + text1 = TextMobject("Moving small", r"$dx$", r"steps").scale(0.6).move_to(3*UP + 3.5*RIGHT).set_color_by_gradient(RED, ORANGE, YELLOW, BLUE, PURPLE) + + text2 = TextMobject("Observing change in function, keeping", r"$y$", r"constant").scale(0.6).move_to(2.6*UP + 3.5*RIGHT).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + + slope_text = TexMobject("Slope =", "{\\partial", "f", "\\over", "\\partial", "x}").scale(0.6).move_to(2*UP + 3.5*RIGHT) + slope_text[0].set_color(BLUE_E) + slope_text.set_color_by_tex("\\partial",PINK) + slope_text.set_color_by_tex("f","#006400") + slope_text[5].set_color(RED_C) + + self.add_fixed_in_frame_mobjects(text1, text2) + self.wait() + self.add_fixed_in_frame_mobjects(slope_text) + #add_fixed_orientation_mobjects + + + dot = Dot().rotate(PI/2).set_color(RED_C) + alpha = ValueTracker(0) + vector = self.get_tangent_vector(alpha.get_value(),parabola,scale=1.5) + dot.add_updater(lambda m: m.move_to(vector.get_center())) + self.play( + ShowCreation(parabola), + GrowFromCenter(dot), + GrowArrow(vector) + ) + vector.add_updater( + lambda m: m.become( + self.get_tangent_vector(alpha.get_value()%1,parabola,scale=1.5) + ) + ) + self.add(vector,dot) + self.play(alpha.increment_value, 1, run_time=10, rate_func=linear) + self.wait() + + + ''' + for i in np.arange(-2,2,0.2): + self.play(ReplacementTransform(Line(np.array([i,0,0]), np.array([i,0,-i*i + 2]), color = GREEN_C), Line(np.array([i+0.2,0,0]), np.array([i+0.2,0,-(i+0.2)**2 + 2]), color = GREEN_C))) + #self.wait() + ''' + + self.wait() + self.play(FadeOut(parabola), FadeOut(line), FadeOut(vector), FadeOut(dot), FadeOut(text1), FadeOut(text2), FadeOut(slope_text),FadeOut(surface_eqn)) + + #self.move_camera(phi=80* DEGREES,theta= 0*DEGREES) + self.play(ReplacementTransform(paraboloid_x, paraboloid_copy)) + self.wait() + + + def get_tangent_vector(self, proportion, curve, dx=0.001, scale=1): + coord_i = curve.point_from_proportion(proportion) + coord_f = curve.point_from_proportion(proportion + dx) + reference_line = Line(coord_i,coord_f) + unit_vector = reference_line.get_unit_vector() * scale + vector = Line(coord_i - unit_vector, coord_i + unit_vector, color = BLUE_E, buff=0) + return vector + + +class PartialDerivY(ThreeDScene): + def construct(self): + axes = ThreeDAxes() + + paraboloid = ParametricSurface( + lambda u, v: np.array([ + 2*np.sin(u)*np.cos(v), + 2*np.sin(u)*np.sin(v), + -2*2*np.sin(u)*np.sin(u)+2 + ]),u_min=0,u_max=PI/2,v_min=0,v_max=2*PI,checkerboard_colors=[PINK, PURPLE], + resolution=(15, 32)).scale(1) + + paraboloid_copy = paraboloid.copy() + + + paraboloid_y = ParametricSurface( + lambda u, v: np.array([ + 2*np.sin(u)*np.cos(v), + 2*np.sin(u)*np.sin(v), + -2*2*np.sin(u)*np.sin(u)+2 + ]),u_min=0,u_max=PI/2,v_min=PI/2,v_max=3*PI/2,checkerboard_colors=[PINK, PURPLE], + resolution=(15, 32)).scale(1) + + + parabola =ParametricFunction( + lambda u : np.array([ + 0, + u, + -(u*u) + 2 + ]),color=YELLOW_C,t_min=-2,t_max=2, + ) + + plane = Polygon(np.array([0,-2.2,-2.5]),np.array([0,2.2,-2.5]),np.array([0,2.2,2.5]),np.array([0,-2.2,2.5]),np.array([0,-2.2,-2.5]), color = BLUE, fill_color = BLUE, fill_opacity = 0.2) + plane_text = TextMobject(r"$x = 0$", color = BLUE_C).move_to(2*UP + 3*RIGHT) + + surface_eqn = TextMobject("Surface", r"$z = f(x,y) = 2 - x^2 - y^2$", color = BLUE_C ).scale(0.6).move_to(np.array([3*LEFT +3*UP])) + surface_eqn[0].set_color(PINK) + + line = Line(np.array([0,-2,0]), np.array([0,2,0]), color = RED_C) + + self.add(axes) + + axis = TextMobject(r"X",r"Y",r"Z") + axis[0].move_to(6*RIGHT) + axis[1].move_to(6*UP) + axis[2].move_to(3.7*UP) + + self.add_fixed_in_frame_mobjects(axis[2]) + self.add_fixed_orientation_mobjects(axis[0]) + self.add_fixed_orientation_mobjects(axis[1]) + + self.set_camera_orientation(phi=80 * DEGREES, theta = 45*DEGREES) + + self.play(Write(paraboloid)) + + self.add_fixed_in_frame_mobjects(surface_eqn) + #self.move_camera(phi=80* DEGREES,theta=5*DEGREES) + self.play(ShowCreation(plane)) + self.add_fixed_in_frame_mobjects(plane_text) + self.wait() + self.play(ReplacementTransform(paraboloid, paraboloid_y)) + self.play(FadeOut(plane), FadeOut(plane_text)) + self.play(ShowCreation(parabola), ShowCreation(line)) + + text1 = TextMobject("Moving small", r"$dy$", r"steps").scale(0.6).move_to(3*UP + 3.5*RIGHT).set_color_by_gradient(RED, ORANGE, YELLOW, BLUE, PURPLE) + + text2 = TextMobject("Observing change in function, keeping", r"$x$", r"constant").scale(0.6).move_to(2.6*UP + 3.5*RIGHT).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + + slope_text = TexMobject("Slope =", "{\\partial", "f", "\\over", "\\partial", "y}").scale(0.6).move_to(2*UP + 3.5*RIGHT) + slope_text[0].set_color("#006400") + slope_text.set_color_by_tex("\\partial",PINK) + slope_text.set_color_by_tex("f",YELLOW_C) + slope_text[5].set_color(RED_C) + + self.add_fixed_in_frame_mobjects(text1, text2) + self.wait() + self.add_fixed_in_frame_mobjects(slope_text) + + dot = Dot().rotate(PI/2).set_color(RED_C) + alpha = ValueTracker(0) + vector = self.get_tangent_vector(alpha.get_value(),parabola,scale=1.5) + dot.add_updater(lambda m: m.move_to(vector.get_center())) + self.play( + ShowCreation(parabola), + GrowFromCenter(dot), + GrowArrow(vector) + ) + vector.add_updater( + lambda m: m.become( + self.get_tangent_vector(alpha.get_value()%1,parabola,scale=1.5) + ) + ) + self.add(vector,dot) + self.play(alpha.increment_value, 1, run_time=10, rate_func=linear) + self.wait() + + ''' + for i in np.arange(-2,2,0.2): + self.play(ReplacementTransform(Line(np.array([0,i,0]), np.array([0,i,-i*i + 2]), color = BLUE_C), Line(np.array([0,i+0.2,0]), np.array([0,i+0.2,-(i+0.2)**2 + 2]), color = BLUE_C))) + #self.wait() + ''' + + + self.wait() + self.play(FadeOut(parabola), FadeOut(line), FadeOut(vector), FadeOut(dot), FadeOut(text1), FadeOut(text2), FadeOut(slope_text),FadeOut(surface_eqn)) + + #self.move_camera(phi=80* DEGREES,theta= 90*DEGREES) + self.play(ReplacementTransform(paraboloid_y, paraboloid_copy)) + self.wait() + + def get_tangent_vector(self, proportion, curve, dx=0.001, scale=1): + coord_i = curve.point_from_proportion(proportion) + coord_f = curve.point_from_proportion(proportion + dx) + reference_line = Line(coord_i,coord_f) + unit_vector = reference_line.get_unit_vector() * scale + vector = Line(coord_i - unit_vector, coord_i + unit_vector, color = "#006400", buff=0) + return vector + + \ No newline at end of file -- cgit From b76b674fd058ccf1e9201458136c01a0361b1709 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 12:40:27 +0530 Subject: Delete file4_partial_deriv_example.gif --- .../gifs/file4_partial_deriv_example.gif | Bin 4953394 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file4_partial_deriv_example.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file4_partial_deriv_example.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file4_partial_deriv_example.gif deleted file mode 100644 index d2bf541..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file4_partial_deriv_example.gif and /dev/null differ -- cgit From 81747de0e0457880d47e4c89a618bdf15724e5eb Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 12:41:38 +0530 Subject: Add files via upload --- .../gifs/file4_partial_deriv_example.gif | Bin 0 -> 4952337 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file4_partial_deriv_example.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file4_partial_deriv_example.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file4_partial_deriv_example.gif new file mode 100644 index 0000000..32cce4c Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file4_partial_deriv_example.gif differ -- cgit From e31e7b7c66aef17ffa32862c6196fd622828a8fa Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 12:47:02 +0530 Subject: Delete file3_partial_deriv_defn.gif --- .../gifs/file3_partial_deriv_defn.gif | Bin 5251558 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif deleted file mode 100644 index c66b3fa..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif and /dev/null differ -- cgit From 32cb738575bc291165e75b150bc0122720ea0579 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 12:48:33 +0530 Subject: Add files via upload --- .../gifs/file3_partial_deriv_defn.gif | Bin 0 -> 5249722 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif new file mode 100644 index 0000000..4dd1eee Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif differ -- cgit From 1ba33c8f4119867130ff6d95c4f7fe8a5df3f752 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 12:49:48 +0530 Subject: Delete file3_partial_deriv_defn.py --- .../file3_partial_deriv_defn.py | 218 --------------------- 1 file changed, 218 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file3_partial_deriv_defn.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file3_partial_deriv_defn.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file3_partial_deriv_defn.py deleted file mode 100644 index a25ca56..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file3_partial_deriv_defn.py +++ /dev/null @@ -1,218 +0,0 @@ -from manimlib.imports import * - -class PartialDeriv(ThreeDScene): - def construct(self): - axes = ThreeDAxes() - - paraboloid = ParametricSurface( - lambda u, v: np.array([ - 2*np.sin(u)*np.cos(v), - 2*np.sin(u)*np.sin(v), - -2*2*np.sin(u)*np.sin(u)+2 - ]),u_min=0,u_max=PI/2,v_min=0,v_max=2*PI,checkerboard_colors=[PINK, PURPLE], - resolution=(15, 32)).scale(1) - - paraboloid_copy1 = paraboloid.copy() - paraboloid_copy2 = paraboloid.copy() - - paraboloid_x = ParametricSurface( - lambda u, v: np.array([ - 2*np.sin(u)*np.cos(v), - 2*np.sin(u)*np.sin(v), - -2*2*np.sin(u)*np.sin(u)+2 - ]),u_min=0,u_max=PI/2,v_min=PI,v_max=2*PI,checkerboard_colors=[PINK, PURPLE], - resolution=(15, 32)).scale(1) - - paraboloid_x_copy = paraboloid_x.copy() - - paraboloid_y = ParametricSurface( - lambda u, v: np.array([ - 2*np.sin(u)*np.cos(v), - 2*np.sin(u)*np.sin(v), - -2*2*np.sin(u)*np.sin(u)+2 - ]),u_min=0,u_max=PI/2,v_min=PI/2,v_max=3*PI/2,checkerboard_colors=[PINK, PURPLE], - resolution=(15, 32)).scale(1) - - parabola1 =ParametricFunction( - lambda u : np.array([ - u, - 0, - -(u*u) + 2 - ]),color="#006400",t_min=-2,t_max=2, - ) - parabola2 =ParametricFunction( - lambda u : np.array([ - 0, - u, - -(u*u) + 2 - ]),color=BLUE_C,t_min=-2,t_max=2, - ) - - plane1 = Polygon(np.array([-2.2,0,-2.5]),np.array([2.2,0,-2.5]),np.array([2.2,0,2.5]),np.array([-2.2,0,2.5]),np.array([-2.2,0,-2.5]), color = GREEN, fill_color = GREEN, fill_opacity = 0.2) - plane1_text = TextMobject(r"$y = 0$", color = GREEN_C).move_to(2*UP + 3.3*RIGHT) - - plane2 = Polygon(np.array([0,-2.2,-2.5]),np.array([0,2.2,-2.5]),np.array([0,2.2,2.5]),np.array([0,-2.2,2.5]),np.array([0,-2.2,-2.5]), color = BLUE, fill_color = BLUE, fill_opacity = 0.2) - plane2_text = TextMobject(r"$x = 0$", color = BLUE_C).move_to(2*UP + 3.2*RIGHT) - - surface_eqn = TextMobject("Surface", r"$z = 2- x^2 -y^2$", color = YELLOW_C).scale(0.6).move_to(np.array([3*LEFT +3*UP])) - surface_eqn[0].set_color(PINK) - - dot1 =Sphere(radius=0.08).move_to(np.array([-1,0,1])) - dot1.set_fill(RED) - line1 = Line(np.array([-1.55, 0,0]), np.array([-0.4, 0,2.2]), color = RED) - lab_x = TextMobject(r"$f(x_0,y_0)$", color = RED).scale(0.7) - para_lab_x = TextMobject(r"$f(x,y_0)$", color = "#006400").scale(0.7) - tangent_line_x = TextMobject("Tangent Line", color = RED_C, buff = 0.4).scale(0.6).move_to(np.array([1.7*RIGHT +1.8*UP])) - - - text1 = TextMobject(r"$\frac{\partial f}{\partial x}\vert_{(x_0,y_0)} = \frac{d}{dx}$", r"$f(x,y_0)$", r"$\vert_{x=x_0}$").scale(0.6) - brace1 = Brace(text1[1], DOWN, buff = SMALL_BUFF, color = GREEN) - t1 = brace1.get_text("Just depends on x") - t1.scale(0.6) - t1.set_color(GREEN) - - - dot2 =Sphere(radius=0.08).move_to(np.array([0,1,1])) - dot2.set_fill(RED) - line2 = Line(np.array([0, 1.55,0]), np.array([0, 0.4,2.2]), color = RED) - lab_y = TextMobject(r"$f(x_0,y_0)$", color = RED).scale(0.7) - para_lab_y = TextMobject(r"$f(x_0,y)$", color = BLUE_C).scale(0.7) - tangent_line_y = TextMobject("Tangent Line", color = RED_C, buff = 0.4).scale(0.6).move_to(np.array([1.7*RIGHT +1.8*UP])) - - text2 = TextMobject(r"$\frac{\partial f}{\partial y}\vert_{(x_0,y_0)} = \frac{d}{dy}$", r"$f(x_0,y)$", r"$\vert_{y=y_0}$").scale(0.6) - brace2 = Brace(text2[1], DOWN, buff = SMALL_BUFF, color = GREEN) - t2 = brace2.get_text("Just depends on y") - t2.scale(0.6) - t2.set_color(GREEN) - - text3 = TextMobject(r"$= \lim_{h \to 0} \frac{f(x_0+h,y_0) - f(x_0,y_0)}{h}$").scale(0.6) - - dot3 =Sphere(radius=0.08).move_to(np.array([-1.22,0,0.5])) - dot3.set_fill(YELLOW_C) - line3 = Line(np.array([-1.44,0,0]), np.array([-0.6,0,2.2]), color = YELLOW_C) - lab_line3 = TextMobject(r"$f(x_0+h,y_0)$", color = YELLOW_C).scale(0.7) - - - self.set_camera_orientation(phi=80 * DEGREES, theta = 0*DEGREES) - #self.set_camera_orientation(phi=80 * DEGREES, theta = 20*DEGREES) - #self.begin_ambient_camera_rotation(rate=0.3) - - - self.add(axes) - - axis = TextMobject(r"X",r"Y",r"Z") - axis[0].move_to(6*RIGHT) - axis[1].move_to(6*UP) - axis[2].move_to(3.7*UP) - - self.add_fixed_in_frame_mobjects(axis[2]) - #self.add_fixed_orientation_mobjects(axis[2]) - - self.play(Write(paraboloid)) - - self.add_fixed_in_frame_mobjects(surface_eqn) - #self.move_camera(phi=80* DEGREES,theta=110*DEGREES) - self.move_camera(phi=80* DEGREES,theta=45*DEGREES) - - self.add_fixed_orientation_mobjects(axis[0]) - self.add_fixed_orientation_mobjects(axis[1]) - self.play(ShowCreation(plane1)) - self.add_fixed_in_frame_mobjects(plane1_text) - self.wait() - self.play(ReplacementTransform(paraboloid, paraboloid_x)) - - lab_x.move_to(np.array([1.8*RIGHT +1.15*UP])) - para_lab_x.move_to(np.array([1.3*LEFT +1.6*UP])) - self.wait() - self.play(FadeOut(plane1), FadeOut(plane1_text)) - self.play(ShowCreation(parabola1)) - self.add_fixed_in_frame_mobjects(para_lab_x) - self.play(ShowCreation(dot1)) - self.add_fixed_in_frame_mobjects(lab_x) - #self.play(ShowCreation(dot1)) - self.wait() - self.play(ShowCreation(line1)) - self.add_fixed_in_frame_mobjects(tangent_line_x) - self.wait() - - self.add_fixed_in_frame_mobjects(text1, brace1, t1) - grp1 = VGroup(text1, brace1, t1) - grp1.move_to(3*UP+3*RIGHT) - self.play(Write(text1),GrowFromCenter(brace1), FadeIn(t1)) - self.wait() - self.play(FadeOut(parabola1), FadeOut(line1), FadeOut(lab_x), FadeOut(para_lab_x), FadeOut(dot1), FadeOut(tangent_line_x),FadeOut(grp1)) - - - - - #self.move_camera(phi=80* DEGREES,theta=20*DEGREES) - - self.play(ReplacementTransform(paraboloid_x, paraboloid_copy1)) - self.wait() - self.play(ShowCreation(plane2)) - self.add_fixed_in_frame_mobjects(plane2_text) - self.wait() - self.play(ReplacementTransform(paraboloid_copy1, paraboloid_y)) - - lab_y.move_to(np.array([1.8*RIGHT +1.15*UP])) - para_lab_y.move_to(np.array([1.3*LEFT +1.6*UP])) - self.wait() - self.play(FadeOut(plane2), FadeOut(plane2_text)) - self.play(ShowCreation(parabola2)) - self.add_fixed_in_frame_mobjects(para_lab_y) - self.play(ShowCreation(dot2)) - self.add_fixed_in_frame_mobjects(lab_y) - self.wait() - self.play(ShowCreation(line2)) - self.add_fixed_in_frame_mobjects(tangent_line_y) - self.wait() - - self.add_fixed_in_frame_mobjects(text2, brace2, t2) - grp2 = VGroup(text2, brace2, t2) - grp2.move_to(3*UP+3*RIGHT) - self.play(Write(text2),GrowFromCenter(brace2), FadeIn(t2)) - self.wait() - self.play(FadeOut(parabola2), FadeOut(line2), FadeOut(lab_y), FadeOut(para_lab_y), FadeOut(dot2), FadeOut(tangent_line_y), FadeOut(grp2)) - self.wait() - - - #self.move_camera(phi=80* DEGREES,theta=105*DEGREES) - self.play(ReplacementTransform(paraboloid_y, paraboloid_copy2)) - self.wait() - - - self.play(ShowCreation(plane1)) - self.add_fixed_in_frame_mobjects(plane1_text) - self.wait() - self.play(ReplacementTransform(paraboloid_copy2, paraboloid_x_copy)) - - lab_x.move_to(np.array([1.8*RIGHT +1.15*UP])) - para_lab_x.move_to(np.array([1.3*LEFT +1.6*UP])) - lab_line3.move_to(np.array([2.4*RIGHT +0.5*UP])) - self.wait() - self.play(FadeOut(plane1), FadeOut(plane1_text)) - self.play(ShowCreation(parabola1)) - self.add_fixed_in_frame_mobjects(para_lab_x) - self.play(ShowCreation(dot1)) - self.add_fixed_in_frame_mobjects(lab_x) - self.play(ShowCreation(dot3)) - self.add_fixed_in_frame_mobjects(lab_line3) - self.wait() - self.play(ShowCreation(line1)) - self.add_fixed_in_frame_mobjects(tangent_line_x) - self.play(ShowCreation(line3)) - self.wait() - - - self.add_fixed_in_frame_mobjects(text1,text3) - text1.move_to(3*UP+3*RIGHT) - text3.next_to(text1, DOWN) - self.play(Write(text1),Write(text3)) - self.wait() - self.play(FadeOut(parabola1), FadeOut(line1), FadeOut(lab_x), FadeOut(line3), FadeOut(lab_line3), FadeOut(para_lab_x), FadeOut(dot1), FadeOut(dot3), FadeOut(tangent_line_x), FadeOut(text1), FadeOut(text3)) - self.wait() - - - - - -- cgit From db429773e06bcdeb316a90f4786924de7355a263 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 12:50:27 +0530 Subject: Add files via upload --- .../file3_partial_deriv_defn.py | 218 +++++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file3_partial_deriv_defn.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file3_partial_deriv_defn.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file3_partial_deriv_defn.py new file mode 100644 index 0000000..2b60e16 --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file3_partial_deriv_defn.py @@ -0,0 +1,218 @@ +from manimlib.imports import * + +class PartialDeriv(ThreeDScene): + def construct(self): + axes = ThreeDAxes() + + paraboloid = ParametricSurface( + lambda u, v: np.array([ + 2*np.sin(u)*np.cos(v), + 2*np.sin(u)*np.sin(v), + -2*2*np.sin(u)*np.sin(u)+2 + ]),u_min=0,u_max=PI/2,v_min=0,v_max=2*PI,checkerboard_colors=[PINK, PURPLE], + resolution=(15, 32)).scale(1) + + paraboloid_copy1 = paraboloid.copy() + paraboloid_copy2 = paraboloid.copy() + + paraboloid_x = ParametricSurface( + lambda u, v: np.array([ + 2*np.sin(u)*np.cos(v), + 2*np.sin(u)*np.sin(v), + -2*2*np.sin(u)*np.sin(u)+2 + ]),u_min=0,u_max=PI/2,v_min=PI,v_max=2*PI,checkerboard_colors=[PINK, PURPLE], + resolution=(15, 32)).scale(1) + + paraboloid_x_copy = paraboloid_x.copy() + + paraboloid_y = ParametricSurface( + lambda u, v: np.array([ + 2*np.sin(u)*np.cos(v), + 2*np.sin(u)*np.sin(v), + -2*2*np.sin(u)*np.sin(u)+2 + ]),u_min=0,u_max=PI/2,v_min=PI/2,v_max=3*PI/2,checkerboard_colors=[PINK, PURPLE], + resolution=(15, 32)).scale(1) + + parabola1 =ParametricFunction( + lambda u : np.array([ + u, + 0, + -(u*u) + 2 + ]),color="#006400",t_min=-2,t_max=2, + ) + parabola2 =ParametricFunction( + lambda u : np.array([ + 0, + u, + -(u*u) + 2 + ]),color=BLUE_C,t_min=-2,t_max=2, + ) + + plane1 = Polygon(np.array([-2.2,0,-2.5]),np.array([2.2,0,-2.5]),np.array([2.2,0,2.5]),np.array([-2.2,0,2.5]),np.array([-2.2,0,-2.5]), color = GREEN, fill_color = GREEN, fill_opacity = 0.2) + plane1_text = TextMobject(r"$y = 0$", color = GREEN_C).move_to(2*UP + 3.3*RIGHT) + + plane2 = Polygon(np.array([0,-2.2,-2.5]),np.array([0,2.2,-2.5]),np.array([0,2.2,2.5]),np.array([0,-2.2,2.5]),np.array([0,-2.2,-2.5]), color = BLUE, fill_color = BLUE, fill_opacity = 0.2) + plane2_text = TextMobject(r"$x = 0$", color = BLUE_C).move_to(2*UP + 3.2*RIGHT) + + surface_eqn = TextMobject("Surface", r"$z = f(x,y) = 2 - x^2 - y^2$", color = YELLOW_C).scale(0.6).move_to(np.array([3*LEFT +3*UP])) + surface_eqn[0].set_color(PINK) + + dot1 =Sphere(radius=0.08).move_to(np.array([-1,0,1])) + dot1.set_fill(RED) + line1 = Line(np.array([-1.55, 0,0]), np.array([-0.4, 0,2.2]), color = RED) + lab_x = TextMobject(r"$f(x_0,y_0)$", color = RED).scale(0.7) + para_lab_x = TextMobject(r"$f(x,y_0)$", color = "#006400").scale(0.7) + tangent_line_x = TextMobject("Tangent Line", color = RED_C, buff = 0.4).scale(0.6).move_to(np.array([1.7*RIGHT +1.8*UP])) + + + text1 = TextMobject(r"$\frac{\partial f}{\partial x}\vert_{(x_0,y_0)} = \frac{d}{dx}$", r"$f(x,y_0)$", r"$\vert_{x=x_0}$").scale(0.6) + brace1 = Brace(text1[1], DOWN, buff = SMALL_BUFF, color = GREEN) + t1 = brace1.get_text("Just depends on x") + t1.scale(0.6) + t1.set_color(GREEN) + + + dot2 =Sphere(radius=0.08).move_to(np.array([0,1,1])) + dot2.set_fill(RED) + line2 = Line(np.array([0, 1.55,0]), np.array([0, 0.4,2.2]), color = RED) + lab_y = TextMobject(r"$f(x_0,y_0)$", color = RED).scale(0.7) + para_lab_y = TextMobject(r"$f(x_0,y)$", color = BLUE_C).scale(0.7) + tangent_line_y = TextMobject("Tangent Line", color = RED_C, buff = 0.4).scale(0.6).move_to(np.array([1.7*RIGHT +1.8*UP])) + + text2 = TextMobject(r"$\frac{\partial f}{\partial y}\vert_{(x_0,y_0)} = \frac{d}{dy}$", r"$f(x_0,y)$", r"$\vert_{y=y_0}$").scale(0.6) + brace2 = Brace(text2[1], DOWN, buff = SMALL_BUFF, color = GREEN) + t2 = brace2.get_text("Just depends on y") + t2.scale(0.6) + t2.set_color(GREEN) + + text3 = TextMobject(r"$= \lim_{h \to 0} \frac{f(x_0+h,y_0) - f(x_0,y_0)}{h}$").scale(0.6) + + dot3 =Sphere(radius=0.08).move_to(np.array([-1.22,0,0.5])) + dot3.set_fill(YELLOW_C) + line3 = Line(np.array([-1.44,0,0]), np.array([-0.6,0,2.2]), color = YELLOW_C) + lab_line3 = TextMobject(r"$f(x_0+h,y_0)$", color = YELLOW_C).scale(0.7) + + + self.set_camera_orientation(phi=80 * DEGREES, theta = 0*DEGREES) + #self.set_camera_orientation(phi=80 * DEGREES, theta = 20*DEGREES) + #self.begin_ambient_camera_rotation(rate=0.3) + + + self.add(axes) + + axis = TextMobject(r"X",r"Y",r"Z") + axis[0].move_to(6*RIGHT) + axis[1].move_to(6*UP) + axis[2].move_to(3.7*UP) + + self.add_fixed_in_frame_mobjects(axis[2]) + #self.add_fixed_orientation_mobjects(axis[2]) + + self.play(Write(paraboloid)) + + self.add_fixed_in_frame_mobjects(surface_eqn) + #self.move_camera(phi=80* DEGREES,theta=110*DEGREES) + self.move_camera(phi=80* DEGREES,theta=45*DEGREES) + + self.add_fixed_orientation_mobjects(axis[0]) + self.add_fixed_orientation_mobjects(axis[1]) + self.play(ShowCreation(plane1)) + self.add_fixed_in_frame_mobjects(plane1_text) + self.wait() + self.play(ReplacementTransform(paraboloid, paraboloid_x)) + + lab_x.move_to(np.array([1.8*RIGHT +1.15*UP])) + para_lab_x.move_to(np.array([1.3*LEFT +1.6*UP])) + self.wait() + self.play(FadeOut(plane1), FadeOut(plane1_text)) + self.play(ShowCreation(parabola1)) + self.add_fixed_in_frame_mobjects(para_lab_x) + self.play(ShowCreation(dot1)) + self.add_fixed_in_frame_mobjects(lab_x) + #self.play(ShowCreation(dot1)) + self.wait() + self.play(ShowCreation(line1)) + self.add_fixed_in_frame_mobjects(tangent_line_x) + self.wait() + + self.add_fixed_in_frame_mobjects(text1, brace1, t1) + grp1 = VGroup(text1, brace1, t1) + grp1.move_to(3*UP+3*RIGHT) + self.play(Write(text1),GrowFromCenter(brace1), FadeIn(t1)) + self.wait() + self.play(FadeOut(parabola1), FadeOut(line1), FadeOut(lab_x), FadeOut(para_lab_x), FadeOut(dot1), FadeOut(tangent_line_x),FadeOut(grp1)) + + + + + #self.move_camera(phi=80* DEGREES,theta=20*DEGREES) + + self.play(ReplacementTransform(paraboloid_x, paraboloid_copy1)) + self.wait() + self.play(ShowCreation(plane2)) + self.add_fixed_in_frame_mobjects(plane2_text) + self.wait() + self.play(ReplacementTransform(paraboloid_copy1, paraboloid_y)) + + lab_y.move_to(np.array([1.8*RIGHT +1.15*UP])) + para_lab_y.move_to(np.array([1.3*LEFT +1.6*UP])) + self.wait() + self.play(FadeOut(plane2), FadeOut(plane2_text)) + self.play(ShowCreation(parabola2)) + self.add_fixed_in_frame_mobjects(para_lab_y) + self.play(ShowCreation(dot2)) + self.add_fixed_in_frame_mobjects(lab_y) + self.wait() + self.play(ShowCreation(line2)) + self.add_fixed_in_frame_mobjects(tangent_line_y) + self.wait() + + self.add_fixed_in_frame_mobjects(text2, brace2, t2) + grp2 = VGroup(text2, brace2, t2) + grp2.move_to(3*UP+3*RIGHT) + self.play(Write(text2),GrowFromCenter(brace2), FadeIn(t2)) + self.wait() + self.play(FadeOut(parabola2), FadeOut(line2), FadeOut(lab_y), FadeOut(para_lab_y), FadeOut(dot2), FadeOut(tangent_line_y), FadeOut(grp2)) + self.wait() + + + #self.move_camera(phi=80* DEGREES,theta=105*DEGREES) + self.play(ReplacementTransform(paraboloid_y, paraboloid_copy2)) + self.wait() + + + self.play(ShowCreation(plane1)) + self.add_fixed_in_frame_mobjects(plane1_text) + self.wait() + self.play(ReplacementTransform(paraboloid_copy2, paraboloid_x_copy)) + + lab_x.move_to(np.array([1.8*RIGHT +1.15*UP])) + para_lab_x.move_to(np.array([1.3*LEFT +1.6*UP])) + lab_line3.move_to(np.array([2.4*RIGHT +0.5*UP])) + self.wait() + self.play(FadeOut(plane1), FadeOut(plane1_text)) + self.play(ShowCreation(parabola1)) + self.add_fixed_in_frame_mobjects(para_lab_x) + self.play(ShowCreation(dot1)) + self.add_fixed_in_frame_mobjects(lab_x) + self.play(ShowCreation(dot3)) + self.add_fixed_in_frame_mobjects(lab_line3) + self.wait() + self.play(ShowCreation(line1)) + self.add_fixed_in_frame_mobjects(tangent_line_x) + self.play(ShowCreation(line3)) + self.wait() + + + self.add_fixed_in_frame_mobjects(text1,text3) + text1.move_to(3*UP+3*RIGHT) + text3.next_to(text1, DOWN) + self.play(Write(text1),Write(text3)) + self.wait() + self.play(FadeOut(parabola1), FadeOut(line1), FadeOut(lab_x), FadeOut(line3), FadeOut(lab_line3), FadeOut(para_lab_x), FadeOut(dot1), FadeOut(dot3), FadeOut(tangent_line_x), FadeOut(text1), FadeOut(text3)) + self.wait() + + + + + -- cgit From 10c4e26b6033ecf3456012e2f586fbc7270c2f62 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 12:51:32 +0530 Subject: Delete file3_partial_deriv_defn.gif --- .../gifs/file3_partial_deriv_defn.gif | Bin 5249722 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif deleted file mode 100644 index 4dd1eee..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif and /dev/null differ -- cgit From 5e8038a92ef04781b856f5dd598f8a5f82ba90b4 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 12:52:35 +0530 Subject: Add files via upload --- .../gifs/file3_partial_deriv_defn.gif | Bin 0 -> 5249722 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif new file mode 100644 index 0000000..4dd1eee Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file3_partial_deriv_defn.gif differ -- cgit From 69c66cdf3abf38a86aee1336cdc3a0a9c82f043f Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 13:03:01 +0530 Subject: Delete file7_partial_deriv_clariant_rule.py --- .../file7_partial_deriv_clariant_rule.py | 108 --------------------- 1 file changed, 108 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file7_partial_deriv_clariant_rule.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file7_partial_deriv_clariant_rule.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file7_partial_deriv_clariant_rule.py deleted file mode 100644 index 313c6cd..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file7_partial_deriv_clariant_rule.py +++ /dev/null @@ -1,108 +0,0 @@ -from manimlib.imports import * - -class ClariantRule(ThreeDScene): - def construct(self): - axes = ThreeDAxes() - - function = ParametricSurface( - lambda u, v: np.array([ - 3.5*np.sin(u)*np.cos(v), - 3.5*np.sin(u)*np.sin(v), - 3.5*3.5*np.sin(u)*np.sin(u)*(1+2*np.sin(v)*np.sin(v))*np.exp(1 - 3.5*3.5*np.sin(u)*np.sin(u) ) - ]),u_min=0,u_max=PI,v_min=0,v_max=2*PI, color = BLUE_C, fill_color = BLUE_C, fill_opacity = 0.1, - resolution=(15, 32)).scale(1) - - - function_copy1 = function.copy() - function_copy2 = function.copy() - - func_x =ParametricFunction( - lambda u : np.array([ - u, - -1, - (u*u )*np.exp(1-u*u) - ]),color=RED_E,t_min=-3.5,t_max=3.5, - ) - - func_y =ParametricFunction( - lambda u : np.array([ - 0, - u, - (3*u*u)*np.exp(1-u*u) - ]),color=PINK,t_min=-3.5,t_max=3.5, - ) - - plane_x = Polygon(np.array([-3.5,-1,-3]),np.array([3.5,-1,-3]),np.array([3.5,-1,3]),np.array([-3.5,-1,3]),np.array([-3.5,-1,-3]), color = YELLOW_E, fill_color = YELLOW_B, fill_opacity = 0.1) - plane_text_x = TextMobject(r"$y = -1$", color = YELLOW_C).move_to(np.array([5,0,2.7])).scale(0.7) - - plane_y = Polygon(np.array([0,-3.5,-3]),np.array([0,3.5,-3]),np.array([0,3.5,3]),np.array([0,-3.5,3]),np.array([0,-3.5,-3]), color = GREEN_E, fill_color = GREEN_B, fill_opacity = 0.1) - plane_text_y = TextMobject(r"$x = 0$", color = GREEN_C).move_to(np.array([0,4,2.7])).scale(0.7) - - surface_eqn = TextMobject("Surface", r"$z = (x^2 + 3y^2)e^{(1 - x^2 - y^2)}$", color = YELLOW_C).scale(0.6).move_to(np.array([4.6*LEFT+3.5*UP])) - surface_eqn[0].set_color(BLUE_C) - - self.set_camera_orientation(phi=60 * DEGREES, theta = 45*DEGREES) - - self.add(axes) - axis = TextMobject(r"X",r"Y",r"Z") - axis[0].move_to(6*RIGHT) - axis[1].move_to(6*UP) - axis[2].move_to(np.array([0,0,3.7])) - - self.add_fixed_orientation_mobjects(axis[2]) - self.add_fixed_orientation_mobjects(axis[0]) - self.add_fixed_orientation_mobjects(axis[1]) - - self.play(ShowCreation(function)) - - self.add_fixed_in_frame_mobjects(surface_eqn) - - self.play(ShowCreation(plane_x), ShowCreation(plane_y)) - self.add_fixed_orientation_mobjects(plane_text_x, plane_text_y) - - self.play(ShowCreation(func_x), ShowCreation(func_y)) - - dot_x = Dot().rotate(PI/2).set_color(YELLOW_E) - alpha_x = ValueTracker(0) - vector_x = self.get_tangent_vector(alpha_x.get_value(),func_x,scale=1.5) - dot_x.add_updater(lambda m: m.move_to(vector_x.get_center())) - self.play( - ShowCreation(func_x), - GrowFromCenter(dot_x), - GrowArrow(vector_x) - ) - vector_x.add_updater( - lambda m: m.become( - self.get_tangent_vector(alpha_x.get_value()%1,func_x,scale=1.5) - ) - ) - dot_y = Dot().rotate(PI/2).set_color(GREEN_E) - alpha_y = ValueTracker(0) - vector_y = self.get_tangent_vector(alpha_y.get_value(),func_y,scale=1.5) - dot_y.add_updater(lambda m: m.move_to(vector_y.get_center())) - self.play( - ShowCreation(func_y), - GrowFromCenter(dot_y), - GrowArrow(vector_y) - ) - vector_y.add_updater( - lambda m: m.become( - self.get_tangent_vector(alpha_y.get_value()%1,func_y,scale=1.5) - ) - ) - self.add(vector_x,dot_x) - - self.play(alpha_x.increment_value, 1, run_time=10, rate_func=linear) - - self.add(vector_y,dot_y) - self.play(alpha_y.increment_value, 1, run_time=10, rate_func=linear) - - self.wait(2) - - - - - - - - -- cgit From d553638999c1f6ed2bde0e80042438fc74b18464 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 13:03:46 +0530 Subject: Add files via upload --- .../file7_partial_deriv_clariant_rule.py | 124 +++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file7_partial_deriv_clariant_rule.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file7_partial_deriv_clariant_rule.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file7_partial_deriv_clariant_rule.py new file mode 100644 index 0000000..b48f172 --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file7_partial_deriv_clariant_rule.py @@ -0,0 +1,124 @@ +from manimlib.imports import * + +class ClariantRule(ThreeDScene): + def construct(self): + axes = ThreeDAxes() + + function = ParametricSurface( + lambda u, v: np.array([ + 3.5*np.sin(u)*np.cos(v), + 3.5*np.sin(u)*np.sin(v), + 3.5*3.5*np.sin(u)*np.sin(u)*(1+2*np.sin(v)*np.sin(v))*np.exp(1 - 3.5*3.5*np.sin(u)*np.sin(u) ) + ]),u_min=0,u_max=PI,v_min=0,v_max=2*PI, color = BLUE_C, fill_color = BLUE_C, fill_opacity = 0.1, + resolution=(15, 32)).scale(1) + + function_x = ParametricSurface( + lambda u, v: np.array([ + 3.5*np.sin(u)*np.cos(v), + 3.5*np.sin(u)*np.sin(v), + -4*3.5*3.5*3.5*np.sin(u)*np.sin(u)*np.sin(u)*(2*np.sin(v)*np.sin(v))*np.exp(1 - 3.5*3.5*np.sin(u)*np.sin(u)) + ]),u_min=0,u_max=PI,v_min=0,v_max=2*PI, color = BLUE_C, fill_color = BLUE_C, fill_opacity = 0.1, + resolution=(15, 32)).scale(1) + + func_x =ParametricFunction( + lambda u : np.array([ + u, + -1, + (u*u )*np.exp(1-u*u) + ]),color=RED_E,t_min=-3.5,t_max=3.5, + ) + + func_y =ParametricFunction( + lambda u : np.array([ + 0, + u, + (3*u*u)*np.exp(1-u*u) + ]),color=PINK,t_min=-3.5,t_max=3.5, + ) + + plane_x = Polygon(np.array([-3.5,-1,-3]),np.array([3.5,-1,-3]),np.array([3.5,-1,3]),np.array([-3.5,-1,3]),np.array([-3.5,-1,-3]), color = YELLOW_E, fill_color = YELLOW_B, fill_opacity = 0.1) + plane_text_x = TextMobject(r"$y = -1$", color = YELLOW_C).move_to(np.array([5,0,2.7])).scale(0.7) + + plane_y = Polygon(np.array([0,-3.5,-3]),np.array([0,3.5,-3]),np.array([0,3.5,3]),np.array([0,-3.5,3]),np.array([0,-3.5,-3]), color = GREEN_E, fill_color = GREEN_B, fill_opacity = 0.1) + plane_text_y = TextMobject(r"$x = 0$", color = GREEN_C).move_to(np.array([0,4,2.7])).scale(0.7) + + surface_eqn = TextMobject("Surface", r"$z = f(x,y) = (x^2 + 3y^2)e^{(1 - x^2 - y^2)}$", color = YELLOW_C).scale(0.6).move_to(np.array([4.1*LEFT+3.8*UP])) + surface_eqn[0].set_color(BLUE_C) + number_plane = NumberPlane() + + line = Line(np.array([0,-1,3]), np.array([0,-1,-3]), color = PURPLE) + + self.set_camera_orientation(phi=60 * DEGREES, theta = 45*DEGREES) + + self.add(axes) + axis = TextMobject(r"X",r"Y",r"Z") + axis[0].move_to(6*RIGHT) + axis[1].move_to(6*UP) + axis[2].move_to(np.array([0,0,3.7])) + + self.add_fixed_orientation_mobjects(axis[2]) + self.add_fixed_orientation_mobjects(axis[0]) + self.add_fixed_orientation_mobjects(axis[1]) + + self.play(ShowCreation(function)) + self.wait() + self.play(ShowCreation(number_plane)) + + self.add_fixed_in_frame_mobjects(surface_eqn) + + self.play(ShowCreation(plane_x), ShowCreation(plane_y), ShowCreation(line)) + self.add_fixed_orientation_mobjects(plane_text_x, plane_text_y) + + self.move_camera(phi=0* DEGREES,theta=45*DEGREES) + self.wait(3) + self.move_camera(phi=60* DEGREES,theta=45*DEGREES) + #self.play(ShowCreation(func_x), ShowCreation(func_y)) + + dot_x = Dot().rotate(PI/2).set_color(YELLOW_C) + alpha_x = ValueTracker(0) + vector_x = self.get_tangent_vector(alpha_x.get_value(),func_x,scale=1.5) + dot_x.add_updater(lambda m: m.move_to(vector_x.get_center())) + self.play( + ShowCreation(func_x), + GrowFromCenter(dot_x), + GrowArrow(vector_x) + ) + vector_x.add_updater( + lambda m: m.become( + self.get_tangent_vector(alpha_x.get_value()%1,func_x,scale=1.5) + ) + ) + dot_y = Dot().rotate(PI/2).set_color(GREEN_E) + alpha_y = ValueTracker(0) + vector_y = self.get_tangent_vector(alpha_y.get_value(),func_y,scale=1.5) + dot_y.add_updater(lambda m: m.move_to(vector_y.get_center())) + self.play( + ShowCreation(func_y), + GrowFromCenter(dot_y), + GrowArrow(vector_y) + ) + vector_y.add_updater( + lambda m: m.become( + self.get_tangent_vector(alpha_y.get_value()%1,func_y,scale=1.5) + ) + ) + self.add(vector_x,dot_x) + + self.play(alpha_x.increment_value, 1, run_time=5, rate_func=linear) + + self.add(vector_y,dot_y) + self.play(alpha_y.increment_value, 1, run_time=5, rate_func=linear) + + self.wait(2) + + + def get_tangent_vector(self, proportion, curve, dx=0.001, scale=1): + coord_i = curve.point_from_proportion(proportion) + coord_f = curve.point_from_proportion(proportion + dx) + reference_line = Line(coord_i,coord_f) + unit_vector = reference_line.get_unit_vector() * scale + vector = Line(coord_i - unit_vector, coord_i + unit_vector, color = ORANGE, buff=0) + return vector + + + -- cgit From 1059784b8891c73687613cb3c1689b839135b083 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 13:06:27 +0530 Subject: Delete file7_partial_deriv_clariant_rule.gif --- .../gifs/file7_partial_deriv_clariant_rule.gif | Bin 1583937 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file7_partial_deriv_clariant_rule.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file7_partial_deriv_clariant_rule.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file7_partial_deriv_clariant_rule.gif deleted file mode 100644 index 32d5e92..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file7_partial_deriv_clariant_rule.gif and /dev/null differ -- cgit From a0e6d42331c1a3eaadcba0c25244589e69871e6b Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 4 Jul 2020 13:06:50 +0530 Subject: Add files via upload --- .../gifs/file7_partial_deriv_clariant_rule.gif | Bin 0 -> 7474869 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file7_partial_deriv_clariant_rule.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file7_partial_deriv_clariant_rule.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file7_partial_deriv_clariant_rule.gif new file mode 100644 index 0000000..ca5beda Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file7_partial_deriv_clariant_rule.gif differ -- cgit From 18e20980ace4c269bd3d829672ef53a9d2b2ef3f Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:03:40 +0530 Subject: Add files via upload --- .../directional-derivatives/Directional_Derivatives.pdf | Bin 0 -> 85319 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives.pdf diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives.pdf b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives.pdf new file mode 100644 index 0000000..342dc80 Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives.pdf differ -- cgit From c55723552bab1faac0fdf9c5eaddda24c82dc2fc Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:04:20 +0530 Subject: Add files via upload --- .../partial-derivatives/Partial_Derivatives.pdf | Bin 0 -> 97732 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives.pdf diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives.pdf b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives.pdf new file mode 100644 index 0000000..12559d8 Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives.pdf differ -- cgit From 71e2d324f507de92f97a96b223e69e0e8da17b48 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:04:47 +0530 Subject: Delete Multivariable_Functions_Quiz.pdf --- .../Multivariable_Functions_Quiz.pdf | Bin 109631 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf deleted file mode 100644 index 7895843..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf and /dev/null differ -- cgit From 3dc783b7e274aef55572c7642c491229826dc6e6 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:05:00 +0530 Subject: Add files via upload --- .../Multivariable_Functions_Quiz.pdf | Bin 0 -> 108179 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf new file mode 100644 index 0000000..1155206 Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf differ -- cgit From 284fca6d2c4dc1599d5fdbf41fdd5dabbce5d641 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:05:39 +0530 Subject: Add files via upload --- Multivariable_Functions_Quiz.pdf | Bin 0 -> 108179 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Multivariable_Functions_Quiz.pdf diff --git a/Multivariable_Functions_Quiz.pdf b/Multivariable_Functions_Quiz.pdf new file mode 100644 index 0000000..1155206 Binary files /dev/null and b/Multivariable_Functions_Quiz.pdf differ -- cgit From a37a730bd4a17b928433e38970d190965f203e43 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:06:05 +0530 Subject: Delete Multivariable_Functions_Quiz.pdf --- Multivariable_Functions_Quiz.pdf | Bin 108179 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Multivariable_Functions_Quiz.pdf diff --git a/Multivariable_Functions_Quiz.pdf b/Multivariable_Functions_Quiz.pdf deleted file mode 100644 index 1155206..0000000 Binary files a/Multivariable_Functions_Quiz.pdf and /dev/null differ -- cgit From 9bba6d8d3f567dd5b04d1aedf0d7750a9a2d3eed Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:06:25 +0530 Subject: Delete Multivariable_Functions_Quiz.pdf --- .../Multivariable_Functions_Quiz.pdf | Bin 108179 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf deleted file mode 100644 index 1155206..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf and /dev/null differ -- cgit From db8149cefa1fd09d46b3c6e01810c34c824276d4 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:06:41 +0530 Subject: Add files via upload --- .../Multivariable_Functions_Quiz.pdf | Bin 0 -> 108179 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf new file mode 100644 index 0000000..1155206 Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/Multivariable_Functions_Quiz.pdf differ -- cgit From 6e46f4279b369138ce64218de604b53155cb2778 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:07:05 +0530 Subject: Delete Partial_Derivatives.pdf --- .../partial-derivatives/Partial_Derivatives.pdf | Bin 97732 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives.pdf diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives.pdf b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives.pdf deleted file mode 100644 index 12559d8..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives.pdf and /dev/null differ -- cgit From 238addb17dc37bcb85dced1d5fb0c9df2d7557a7 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:07:19 +0530 Subject: Add files via upload --- .../partial-derivatives/Partial_Derivatives_Quiz.pdf | Bin 0 -> 97732 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives_Quiz.pdf diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives_Quiz.pdf b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives_Quiz.pdf new file mode 100644 index 0000000..12559d8 Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/Partial_Derivatives_Quiz.pdf differ -- cgit From 54320d558a9603dc990d02d5f55e3d3526fd738e Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:07:37 +0530 Subject: Delete Directional_Derivatives.pdf --- .../directional-derivatives/Directional_Derivatives.pdf | Bin 85319 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives.pdf diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives.pdf b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives.pdf deleted file mode 100644 index 342dc80..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives.pdf and /dev/null differ -- cgit From d3c34192339e85bc4a347318f82385849f51a3d7 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Fri, 10 Jul 2020 19:07:52 +0530 Subject: Add files via upload --- .../Directional_Derivatives_Quiz.pdf | Bin 0 -> 85319 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives_Quiz.pdf diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives_Quiz.pdf b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives_Quiz.pdf new file mode 100644 index 0000000..342dc80 Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/directional-derivatives/Directional_Derivatives_Quiz.pdf differ -- cgit From ea7c92e85ab6459e5438f1ef8f2a7be0a5175861 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:41:45 +0530 Subject: Delete file1_scalar_functions.gif --- .../scalar-functions/gifs/file1_scalar_functions.gif | Bin 1408290 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file1_scalar_functions.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file1_scalar_functions.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file1_scalar_functions.gif deleted file mode 100644 index bea9c7b..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file1_scalar_functions.gif and /dev/null differ -- cgit From 8ad7fa676790fda117843cc4929c690db4ab3f87 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:43:08 +0530 Subject: Add files via upload --- .../scalar-functions/gifs/file1_scalar_functions.gif | Bin 0 -> 2355228 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file1_scalar_functions.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file1_scalar_functions.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file1_scalar_functions.gif new file mode 100644 index 0000000..aaed437 Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file1_scalar_functions.gif differ -- cgit From 5967f1eb2a4719c17ce567d7e216de23ca763a90 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:45:42 +0530 Subject: Delete file2_domain_range.gif --- .../scalar-functions/gifs/file2_domain_range.gif | Bin 6625947 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file2_domain_range.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file2_domain_range.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file2_domain_range.gif deleted file mode 100644 index 6801e4f..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file2_domain_range.gif and /dev/null differ -- cgit From 310fb299e544e6e98c34aa7bd09361b8b68d5ab7 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:49:23 +0530 Subject: Add files via upload --- .../scalar-functions/gifs/file2_domain_range.gif | Bin 0 -> 7897880 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file2_domain_range.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file2_domain_range.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file2_domain_range.gif new file mode 100644 index 0000000..00c87cc Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/gifs/file2_domain_range.gif differ -- cgit From be09265dae3c807449c9ec4d9a67fc3f0594b0db Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:50:13 +0530 Subject: Delete file1_scalar_functions.py --- .../scalar-functions/file1_scalar_functions.py | 50 ---------------------- 1 file changed, 50 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file1_scalar_functions.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file1_scalar_functions.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file1_scalar_functions.py deleted file mode 100644 index 1a6f4ed..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file1_scalar_functions.py +++ /dev/null @@ -1,50 +0,0 @@ -from manimlib.imports import * - -class ScalarFunction(Scene): - def construct(self): - circle = Circle(radius = 1.5, color = BLUE_E, fill_color = BLUE_C, fill_opacity = 0.1).move_to(2*LEFT) - dot_circle = Dot().shift(np.array([-1.5,0,0])).set_color(BLUE_E) - dot_circle_lab = TextMobject(r"$a$", color = BLUE_E).next_to(dot_circle, DOWN) - - arrow = Arrow(np.array([3,-3,0]),np.array([3,3,0])) - line = Line(np.array([3,-1.5,0]),np.array([3,1.5,0]), color = RED_C) - - dot0 = Dot().shift(np.array([3,0,0])).set_color(RED_E) - dot0_lab = TextMobject(r"$f(a)$", color = RED_E).scale(0.8).next_to(dot0, RIGHT) - - dot1 = Dot().shift(np.array([3,-1.5,0])).set_color(RED_C) - - dot2 = Dot().shift(np.array([3,1.5,0])).set_color(RED_C) - dot2_lab = TextMobject(r"$f(A)$", color = RED_C).scale(0.8).next_to(dot2, RIGHT) - - arrow_f = Arrow(np.array([-1.5,0,0]),np.array([3,0,0]), color = YELLOW_C, buff = 0.1) - - R = TextMobject(r"$\mathbb{R}$", color = WHITE).move_to(np.array([3,-3.3,0])) - - A = TextMobject(r"$A$", color = BLUE_E).move_to(np.array([-2.5,-3.3,0])) - - F = TextMobject(r"$f$", color = GREY).move_to(np.array([0,-2.9,0])) - - F_center = TextMobject(r"$f$", color = YELLOW_C).move_to(np.array([0.8,0.5,0])) - - arrow_R_A = Arrow(np.array([-2.3,-3.3,0]),np.array([2.7,-3.3,0]), color = GREY, buff = 0.1) - - scalar_function = TextMobject(r"Scalar Valued Function", r"$f: A \rightarrow \mathbb{R}$", color = PURPLE).move_to(np.array([0,3.5,0])) - scalar_function[1].set_color(GREEN_C) - - - - self.play(ShowCreation(circle)) - self.play(ShowCreation(arrow)) - - - self.play(ShowCreation(dot1), ShowCreation(dot2)) - self.play(ShowCreation(dot_circle)) - self.play(ShowCreation(dot_circle_lab), ShowCreation(dot2_lab)) - self.play(ShowCreation(A), ShowCreation(R)) - self.play(GrowArrow(arrow_f), ShowCreation(dot0), ShowCreation(dot0_lab), ShowCreation(F_center), GrowArrow(arrow_R_A), ShowCreation(F), Transform(circle.copy(), line.copy())) - - self.play(Write(scalar_function)) - - - self.wait(2) \ No newline at end of file -- cgit From c5f372701bd9ad551001b739d897d9c74fa8748b Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:50:22 +0530 Subject: Delete file2_domain_range.py --- .../scalar-functions/file2_domain_range.py | 190 --------------------- 1 file changed, 190 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file2_domain_range.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file2_domain_range.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file2_domain_range.py deleted file mode 100644 index 1b54cb6..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file2_domain_range.py +++ /dev/null @@ -1,190 +0,0 @@ -# Plotting Graphs -from manimlib.imports import * - -class PlotGraphs(GraphScene): - CONFIG = { - "x_min": -5, - "x_max": 5, - "y_min": 0, - "y_max": 4, - "graph_origin": ORIGIN + 2.5* DOWN, - "x_labeled_nums": list(range(-5, 6)), - "y_labeled_nums": list(range(0, 5)), - } - def construct(self): - - topic = TextMobject("Domain and Range") - topic.scale(2) - topic.set_color(YELLOW) - self.play(Write(topic)) - self.play(FadeOut(topic)) - self.wait(1) - - scalar_func_R = TextMobject(r"Scalar Valued Functions in $R$").scale(1.5).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) - self.play(Write(scalar_func_R)) - self.play(FadeOut(scalar_func_R)) - self.wait(1) - - - XTD = self.x_axis_width/(self.x_max- self.x_min) - YTD = self.y_axis_height/(self.y_max- self.y_min) - - self.setup_axes(animate = True) - - graphobj = self.get_graph(lambda x : np.sqrt(x + 4), x_min = -4, x_max = 5) - graph_lab = self.get_graph_label(graphobj, label = r"\sqrt{x + 4}") - - - rangeline1 = Arrow(self.graph_origin+2.2*YTD*UP+5*XTD*LEFT, self.graph_origin+4.1*YTD*UP+5*XTD*LEFT) - rangeline2 = Arrow(self.graph_origin+1.7*YTD*UP+5*XTD*LEFT, self.graph_origin+5*XTD*LEFT) - rangeline1.set_color(RED) - rangeline2.set_color(RED) - - rangeMsg = TextMobject(r"Range: $y \geq 0$") - rangeMsg.move_to(self.graph_origin+2*YTD*UP+5*XTD*LEFT) - rangeMsg.scale(0.5) - rangeMsg.set_color(YELLOW) - - domainline1 = Arrow(self.graph_origin+0.6*YTD*DOWN+1.2*XTD*LEFT, self.graph_origin+0.6*YTD*DOWN + 4*XTD*LEFT, buff = 0.1) - domainline2 = Arrow(self.graph_origin+0.6*YTD*DOWN+1.1*XTD*RIGHT, self.graph_origin+0.6*YTD*DOWN + 5.3*XTD*RIGHT, buff = 0.1) - domainline1.set_color(PINK) - domainline2.set_color(PINK) - - domainMsg = TextMobject(r"Domain: $x \geq -4$") - domainMsg.move_to(self.graph_origin+0.6*YTD*DOWN) - domainMsg.scale(0.5) - domainMsg.set_color(GREEN) - - - - - self.play(ShowCreation(graphobj)) - self.play(ShowCreation(graph_lab)) - self.wait(1) - self.play(GrowArrow(rangeline1)) - self.play(GrowArrow(rangeline2)) - self.play(Write(rangeMsg)) - self.wait(1) - self.play(GrowArrow(domainline1)) - self.play(GrowArrow(domainline2)) - self.play(Write(domainMsg)) - self.wait(3) - - self.wait(2) - - - - -class PlotSineGraphs(GraphScene): - CONFIG = { - "x_min": -8, - "x_max": 8, - "y_min": -1, - "y_max": 1, - "graph_origin": ORIGIN, - "x_labeled_nums": list(range(-8, 9)), - "y_labeled_nums": list(range(-1, 2)), - } - def construct(self): - - - - XTD = self.x_axis_width/(self.x_max- self.x_min) - YTD = self.y_axis_height/(self.y_max- self.y_min) - - self.setup_axes(animate = True) - - sineobj = self.get_graph(lambda x : np.sin(x), x_min = -7, x_max = 8) - sine_lab = self.get_graph_label(sineobj, label = "\\sin(x)") - - - rangeline1 = Line(8*XTD*LEFT,1*YTD*UP+8*XTD*LEFT) - rangeline2 = Line(8*XTD*LEFT,1*YTD*DOWN+8*XTD*LEFT) - rangeline1.set_color(RED) - rangeline2.set_color(RED) - - rangeMsg = TextMobject(r"Range: $-1 \leq y \leq 1$") - rangeMsg.move_to(1.1*YTD*UP+8.5*XTD*LEFT) - rangeMsg.scale(0.5) - rangeMsg.set_color(YELLOW) - - - domainline1 = Arrow(1.1*YTD*DOWN+2*XTD*LEFT, 1.1*YTD*DOWN + 8.5*XTD*LEFT) - domainline2 = Arrow(1.1*YTD*DOWN+2*XTD*RIGHT, 1.1*YTD*DOWN + 8.5*XTD*RIGHT) - domainline1.set_color(PINK) - domainline2.set_color(PINK) - - domainMsg = TextMobject(r"Domain: $[-\infty, \infty]$") - domainMsg.move_to(1.1*YTD*DOWN) - domainMsg.scale(0.5) - domainMsg.set_color(GREEN) - - - - self.play(ShowCreation(sineobj)) - self.play(ShowCreation(sine_lab)) - self.wait(1) - self.play(GrowArrow(rangeline1)) - self.play(GrowArrow(rangeline2)) - self.play(Write(rangeMsg)) - self.wait(1) - self.play(GrowArrow(domainline1)) - self.play(GrowArrow(domainline2)) - self.play(Write(domainMsg)) - self.wait(3) - - - - -class Paraboloid(ThreeDScene): - def construct(self): - - scalar_func_R2 = TextMobject(r"Scalar Valued Functions in $R^2$").scale(1.5).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) - self.play(Write(scalar_func_R2)) - self.play(FadeOut(scalar_func_R2)) - self.wait(1) - - axes = ThreeDAxes() - - paraboloid = ParametricSurface( - lambda u, v: np.array([ - 2*np.sin(u)*np.cos(v), - 2*np.sin(u)*np.sin(v), - 2*2*np.sin(u)*np.sin(u) - ]),u_min=0,u_max=PI/2,v_min=0,v_max=2*PI,checkerboard_colors=[GREEN_C, GREEN_E], - resolution=(15, 32)).scale(1) - - domain = Polygon(np.array([-5,-5,0]),np.array([5,-5,0]),np.array([5,5,0]),np.array([-5,5,0]),np.array([-5,-5,0]), color = BLUE_C, fill_color = BLUE_C, fill_opacity = 0.2) - domain_lab = TextMobject(r"$Domain: R^2$", color = YELLOW_C).scale(0.7).move_to(1*DOWN + 2*LEFT) - - rangef = Line(np.array([0, 0,0]), np.array([0, 0,5]), color = RED_C) - rangef_lab = TextMobject(r"$Range: z \geq 0$", color = RED_C).scale(0.7).move_to(2*UP + 1.5*RIGHT) - - func = TextMobject(r"$z = f(x,y) = x^2+y^2$").scale(0.7).move_to(3*UP + 4*LEFT).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) - - self.set_camera_orientation(phi=60 * DEGREES, theta = 0*DEGREES) - self.begin_ambient_camera_rotation(rate=0.3) - - self.add(axes) - - axis = TextMobject(r"X",r"Y",r"Z") - axis[0].move_to(6*RIGHT) - axis[1].move_to(6*UP) - axis[2].move_to(np.array([0,0,3.7])) - - self.add_fixed_orientation_mobjects(axis[2]) - self.add_fixed_orientation_mobjects(axis[0]) - self.add_fixed_orientation_mobjects(axis[1]) - - - - self.add_fixed_in_frame_mobjects(func) - self.play(Write(paraboloid)) - self.play(ShowCreation(domain)) - self.add_fixed_in_frame_mobjects(domain_lab) - self.wait() - self.play(ShowCreation(rangef)) - self.add_fixed_in_frame_mobjects(rangef_lab) - self.wait(5) - - \ No newline at end of file -- cgit From 99fde9ae94a6d06702960b0089c17c4a0ec8e43e Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:50:49 +0530 Subject: Add files via upload --- .../scalar-functions/file1_scalar_functions.py | 50 ++++++ .../scalar-functions/file2_domain_range.py | 187 +++++++++++++++++++++ 2 files changed, 237 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file1_scalar_functions.py create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file2_domain_range.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file1_scalar_functions.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file1_scalar_functions.py new file mode 100644 index 0000000..8d9bd20 --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file1_scalar_functions.py @@ -0,0 +1,50 @@ +from manimlib.imports import * + +class ScalarFunction(Scene): + def construct(self): + circle = Circle(radius = 1.5, color = BLUE_E, fill_color = BLUE_C, fill_opacity = 0.1).move_to(2*LEFT) + dot_circle = Dot().shift(np.array([-1.5,0,0])).set_color(BLUE_E) + dot_circle_lab = TextMobject(r"$a$", color = BLUE_E).next_to(dot_circle, DOWN) + + arrow = Arrow(np.array([3,-3,0]),np.array([3,3,0])) + line = Line(np.array([3,-1.5,0]),np.array([3,1.5,0]), color = RED_C) + + dot0 = Dot().shift(np.array([3,0,0])).set_color("#8b000c") + dot0_lab = TextMobject(r"$f(a)$", color = "#8b000c").scale(0.8).next_to(dot0, RIGHT) + + dot1 = Dot().shift(np.array([3,-1.5,0])).set_color(RED_C) + + dot2 = Dot().shift(np.array([3,1.5,0])).set_color(RED_C) + dot2_lab = TextMobject(r"$f(A)$", color = RED_C).scale(0.8).next_to(dot2, RIGHT) + + arrow_f = Arrow(np.array([-1.5,0,0]),np.array([3,0,0]), color = YELLOW_C, buff = 0.1) + + R = TextMobject(r"$\mathbb{R}$", color = WHITE).move_to(np.array([3,-3.3,0])) + + A = TextMobject(r"$A$", color = BLUE_E).move_to(np.array([-2.5,-3.3,0])) + + F = TextMobject(r"$f$", color = GREY).move_to(np.array([0,-2.9,0])) + + F_center = TextMobject(r"$f$", color = YELLOW_C).move_to(np.array([0.8,0.5,0])) + + arrow_R_A = Arrow(np.array([-2.3,-3.3,0]),np.array([2.7,-3.3,0]), color = GREY, buff = 0.1) + + scalar_function = TextMobject(r"Scalar Valued Function", r"$f: A \rightarrow \mathbb{R}$", color = PURPLE).move_to(np.array([0,3.5,0])) + scalar_function[1].set_color(GREEN_C) + + + + self.play(ShowCreation(circle)) + self.play(ShowCreation(arrow)) + + + self.play(ShowCreation(dot1), ShowCreation(dot2), ShowCreation(line)) + self.play(ShowCreation(dot_circle)) + self.play(ShowCreation(dot_circle_lab), ShowCreation(dot2_lab)) + self.play(ShowCreation(A), ShowCreation(R)) + self.play(GrowArrow(arrow_f), ShowCreation(dot0), ShowCreation(dot0_lab), ShowCreation(F_center), GrowArrow(arrow_R_A), ShowCreation(F), Transform(circle.copy(), line.copy())) + self.bring_to_front(dot0) + self.play(Write(scalar_function)) + + + self.wait(2) \ No newline at end of file diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file2_domain_range.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file2_domain_range.py new file mode 100644 index 0000000..919e68b --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file2_domain_range.py @@ -0,0 +1,187 @@ +# Plotting Graphs +from manimlib.imports import * + +class PlotGraphs(GraphScene): + CONFIG = { + "x_min": -5, + "x_max": 5, + "y_min": 0, + "y_max": 4, + "graph_origin": ORIGIN + 2.5* DOWN, + "x_labeled_nums": list(range(-5, 6)), + "y_labeled_nums": list(range(0, 5)), + } + def construct(self): + + topic = TextMobject("Domain and Range") + topic.scale(2) + topic.set_color(YELLOW) + self.play(Write(topic)) + self.play(FadeOut(topic)) + self.wait(1) + + scalar_func_R = TextMobject(r"Scalar Valued Functions in $\mathbb{R}$").scale(1.5).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + self.play(Write(scalar_func_R)) + self.play(FadeOut(scalar_func_R)) + self.wait(1) + + + XTD = self.x_axis_width/(self.x_max- self.x_min) + YTD = self.y_axis_height/(self.y_max- self.y_min) + + self.setup_axes(animate = True) + + graphobj = self.get_graph(lambda x : np.sqrt(x + 4), x_min = -4, x_max = 5) + graph_lab = self.get_graph_label(graphobj, label = r"\sqrt{x + 4}") + + + rangeline1 = Arrow(self.graph_origin+2.2*YTD*UP+5*XTD*LEFT, self.graph_origin+4.1*YTD*UP+5*XTD*LEFT) + rangeline2 = Arrow(self.graph_origin+1.7*YTD*UP+5*XTD*LEFT, self.graph_origin+5*XTD*LEFT) + rangeline1.set_color(RED) + rangeline2.set_color(RED) + + rangeMsg = TextMobject(r"Range: $y \geq 0$") + rangeMsg.move_to(self.graph_origin+2*YTD*UP+5*XTD*LEFT) + rangeMsg.scale(0.5) + rangeMsg.set_color(YELLOW) + + domainline1 = Arrow(self.graph_origin+0.6*YTD*DOWN+1.2*XTD*LEFT, self.graph_origin+0.6*YTD*DOWN + 4*XTD*LEFT, buff = 0.1) + domainline2 = Arrow(self.graph_origin+0.6*YTD*DOWN+1.1*XTD*RIGHT, self.graph_origin+0.6*YTD*DOWN + 5.3*XTD*RIGHT, buff = 0.1) + domainline1.set_color(PINK) + domainline2.set_color(PINK) + + domainMsg = TextMobject(r"Domain: $x \geq -4$") + domainMsg.move_to(self.graph_origin+0.6*YTD*DOWN) + domainMsg.scale(0.5) + domainMsg.set_color(GREEN) + + domain_subset = TextMobject(r"Domain $\subset \mathbb{R}$", color = PURPLE).scale(0.7).move_to(self.graph_origin+3.5*YTD*UP+2*XTD*RIGHT) + + + self.play(ShowCreation(graphobj)) + self.play(ShowCreation(graph_lab)) + self.wait(1) + self.play(GrowArrow(rangeline1)) + self.play(GrowArrow(rangeline2)) + self.play(Write(rangeMsg)) + self.wait(1) + self.play(GrowArrow(domainline1)) + self.play(GrowArrow(domainline2)) + self.play(Write(domainMsg), Write(domain_subset)) + self.wait(3) + + + + +class PlotSineGraphs(GraphScene): + CONFIG = { + "x_min": -8, + "x_max": 8, + "y_min": -1, + "y_max": 1, + "graph_origin": ORIGIN, + "x_labeled_nums": list(range(-8, 9)), + "y_labeled_nums": list(range(-1, 2)), + } + def construct(self): + + + + XTD = self.x_axis_width/(self.x_max- self.x_min) + YTD = self.y_axis_height/(self.y_max- self.y_min) + + self.setup_axes(animate = True) + + sineobj = self.get_graph(lambda x : np.sin(x), x_min = -7, x_max = 8) + sine_lab = self.get_graph_label(sineobj, label = "\\sin(x)") + + + rangeline1 = Arrow(8*XTD*LEFT,1*YTD*UP+8*XTD*LEFT, buff = 0) + rangeline2 = Arrow(8*XTD*LEFT,1*YTD*DOWN+8*XTD*LEFT, buff = 0) + rangeline1.set_color(RED) + rangeline2.set_color(RED) + + rangeMsg = TextMobject(r"Range: $-1 \leq y \leq 1$") + rangeMsg.move_to(1.1*YTD*UP+8.5*XTD*LEFT) + rangeMsg.scale(0.5) + rangeMsg.set_color(YELLOW) + + + domainline1 = Arrow(1.1*YTD*DOWN+2*XTD*LEFT, 1.1*YTD*DOWN + 8.5*XTD*LEFT) + domainline2 = Arrow(1.1*YTD*DOWN+2*XTD*RIGHT, 1.1*YTD*DOWN + 8.5*XTD*RIGHT) + domainline1.set_color(PINK) + domainline2.set_color(PINK) + + domainMsg = TextMobject(r"Domain: $[-\infty, \infty]$") + domainMsg.move_to(1.1*YTD*DOWN) + domainMsg.scale(0.5) + domainMsg.set_color(GREEN) + + domain_subset = TextMobject(r"Domain $\subseteq \mathbb{R}$", color = PURPLE).scale(0.7).move_to(self.graph_origin+0.8*YTD*UP+4.5*XTD*RIGHT) + + self.play(ShowCreation(sineobj)) + self.play(ShowCreation(sine_lab)) + self.wait(1) + self.play(GrowArrow(rangeline1)) + self.play(GrowArrow(rangeline2)) + self.play(Write(rangeMsg)) + self.wait(1) + self.play(GrowArrow(domainline1)) + self.play(GrowArrow(domainline2)) + self.play(Write(domainMsg), Write(domain_subset)) + self.wait(3) + + + + + +class Paraboloid(ThreeDScene): + def construct(self): + + scalar_func_R2 = TextMobject(r"Scalar Valued Functions in $\mathbb{R}^2$").scale(1.5).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + self.play(Write(scalar_func_R2)) + self.play(FadeOut(scalar_func_R2)) + self.wait(1) + + axes = ThreeDAxes() + + paraboloid = ParametricSurface( + lambda u, v: np.array([ + 2*np.sin(u)*np.cos(v), + 2*np.sin(u)*np.sin(v), + 2*2*np.sin(u)*np.sin(u) + ]),u_min=0,u_max=PI/2,v_min=0,v_max=2*PI,checkerboard_colors=[GREEN_C, GREEN_E], + resolution=(15, 32)).scale(1) + + domain = Polygon(np.array([-5,-5,0]),np.array([5,-5,0]),np.array([5,5,0]),np.array([-5,5,0]),np.array([-5,-5,0]), color = BLUE_C, fill_color = BLUE_C, fill_opacity = 0.2) + domain_lab = TextMobject(r"$Domain: \mathbb{R}^2$", color = YELLOW_C).scale(0.7).move_to(1*DOWN + 2*LEFT) + + rangef = Line(np.array([0, 0,0]), np.array([0, 0,5]), color = RED_C) + rangef_lab = TextMobject(r"$Range: z \geq 0$", color = RED_C).scale(0.7).move_to(2*UP + 1.5*RIGHT) + + func = TextMobject(r"$z = f(x,y) = x^2+y^2$").scale(0.7).move_to(3*UP + 4*LEFT).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + + self.set_camera_orientation(phi=60 * DEGREES, theta = 0*DEGREES) + self.begin_ambient_camera_rotation(rate=0.3) + + self.add(axes) + + axis = TextMobject(r"X",r"Y",r"Z") + axis[0].move_to(6*RIGHT) + axis[1].move_to(6*UP) + axis[2].move_to(np.array([0,0,3.7])) + + self.add_fixed_orientation_mobjects(axis[2]) + self.add_fixed_orientation_mobjects(axis[0]) + self.add_fixed_orientation_mobjects(axis[1]) + + + + self.add_fixed_in_frame_mobjects(func) + self.play(Write(paraboloid)) + self.play(ShowCreation(domain)) + self.add_fixed_in_frame_mobjects(domain_lab) + self.wait() + self.play(ShowCreation(rangef)) + self.add_fixed_in_frame_mobjects(rangef_lab) + self.wait(5) \ No newline at end of file -- cgit From 3ee1b89d832f3e81c16a9be2f1ca6a4facfc479f Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:53:17 +0530 Subject: Delete file2_partial_deriv_hill.py --- .../file2_partial_deriv_hill.py | 122 --------------------- 1 file changed, 122 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file2_partial_deriv_hill.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file2_partial_deriv_hill.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file2_partial_deriv_hill.py deleted file mode 100644 index bfb7687..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file2_partial_deriv_hill.py +++ /dev/null @@ -1,122 +0,0 @@ -from manimlib.imports import * - -class Hill(ThreeDScene): - def construct(self): - axes = ThreeDAxes() - - function = ParametricSurface( - lambda u, v: np.array([ - 1.2*np.sin(u)*np.cos(v), - 1.2*np.sin(u)*np.sin(v), - -1.2*1.2*np.sin(u)*np.sin(u)*(1+0.5*np.sin(v)*np.sin(v))+2 - ]),u_min=0,u_max=PI/2,v_min=0,v_max=2*PI,checkerboard_colors=[GREEN_C, GREEN_E], - resolution=(15, 32)).scale(1) - - func_x =ParametricFunction( - lambda u : np.array([ - u, - 0, - 2 - u*u - ]),color=RED_E,t_min=-1.2,t_max=1.2, - ) - - func_y =ParametricFunction( - lambda u : np.array([ - 0, - u, - 2 - 1.5*u*u - ]),color=PINK,t_min=-1.2,t_max=1.2, - ) - - self.set_camera_orientation(phi=60 * DEGREES, theta = 0*DEGREES) - #self.set_camera_orientation(phi=45 * DEGREES, theta = -20*DEGREES) - - self.add(axes) - axis = TextMobject(r"X",r"Y",r"Z") - axis[0].move_to(6*RIGHT) - axis[1].move_to(6*UP) - axis[2].move_to(np.array([0,0,3.7])) - - self.add_fixed_orientation_mobjects(axis[2]) - self.add_fixed_orientation_mobjects(axis[0]) - self.add_fixed_orientation_mobjects(axis[1]) - - self.play(ShowCreation(function)) - self.wait() - - self.move_camera(phi=60 * DEGREES, theta = 45*DEGREES) - #self.play(ShowCreation(func_x)) - - text_x = TextMobject("Slope of the hill along", r"$x$", "axis", color = YELLOW_C).scale(0.6).move_to(2.7*UP + 3.5*RIGHT) - text_x[1].set_color(PINK) - - - slope_text_x = TexMobject("Slope =", "{\\partial", "f", "\\over", "\\partial", "x}").scale(0.6).move_to(2*UP + 3.5*RIGHT) - slope_text_x[0].set_color(BLUE_E) - slope_text_x.set_color_by_tex("\\partial",YELLOW_C) - slope_text_x.set_color_by_tex("f",RED_E) - slope_text_x[5].set_color(PINK) - - self.add_fixed_in_frame_mobjects(text_x, slope_text_x) - - dot_x = Dot().rotate(PI/2).set_color(YELLOW_E) - alpha_x = ValueTracker(0) - vector_x = self.get_tangent_vector(alpha_x.get_value(),func_x,scale=1.5) - dot_x.add_updater(lambda m: m.move_to(vector_x.get_center())) - self.play( - ShowCreation(func_x), - GrowFromCenter(dot_x), - GrowArrow(vector_x) - ) - vector_x.add_updater( - lambda m: m.become( - self.get_tangent_vector(alpha_x.get_value()%1,func_x,scale=1.5) - ) - ) - - self.add(vector_x,dot_x) - - self.play(alpha_x.increment_value, 1, run_time=10, rate_func=linear) - - #self.move_camera(phi=60 * DEGREES, theta = 0*DEGREES) - self.play(FadeOut(vector_x), FadeOut(dot_x), FadeOut(func_x), FadeOut(text_x), FadeOut(slope_text_x)) - - text_y = TextMobject("Slope of the hill along", r"$y$", "axis", color = YELLOW_C).scale(0.6).move_to(2.7*UP + 3.5*RIGHT) - text_y[1].set_color(RED_C) - - - slope_text_y = TexMobject("Slope =", "{\\partial", "f", "\\over", "\\partial", "x}").scale(0.6).move_to(2*UP + 3.5*RIGHT) - slope_text_y[0].set_color(BLUE_E) - slope_text_y.set_color_by_tex("\\partial",YELLOW_C) - slope_text_y.set_color_by_tex("f",PINK) - slope_text_y[5].set_color(RED_C) - - self.add_fixed_in_frame_mobjects(text_y, slope_text_y) - - dot_y = Dot().rotate(PI/2).set_color(BLUE_E) - alpha_y = ValueTracker(0) - vector_y = self.get_tangent_vector(alpha_y.get_value(),func_y,scale=1.5) - dot_y.add_updater(lambda m: m.move_to(vector_y.get_center())) - self.play( - ShowCreation(func_y), - GrowFromCenter(dot_y), - GrowArrow(vector_y) - ) - vector_y.add_updater( - lambda m: m.become( - self.get_tangent_vector(alpha_y.get_value()%1,func_y,scale=1.5) - ) - ) - - self.add(vector_y,dot_y) - self.play(alpha_y.increment_value, 1, run_time=10, rate_func=linear) - self.play(FadeOut(vector_y), FadeOut(dot_y), FadeOut(func_y), FadeOut(text_y), FadeOut(slope_text_y)) - self.wait(2) - - def get_tangent_vector(self, proportion, curve, dx=0.001, scale=1): - coord_i = curve.point_from_proportion(proportion) - coord_f = curve.point_from_proportion(proportion + dx) - reference_line = Line(coord_i,coord_f) - unit_vector = reference_line.get_unit_vector() * scale - vector = Line(coord_i - unit_vector, coord_i + unit_vector, color = ORANGE, buff=0) - return vector \ No newline at end of file -- cgit From 30f5d4f67034ce8c7661134ccd24ab9d69239fa7 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:53:38 +0530 Subject: Add files via upload --- .../file2_partial_deriv_hill.py | 145 +++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file2_partial_deriv_hill.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file2_partial_deriv_hill.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file2_partial_deriv_hill.py new file mode 100644 index 0000000..cd24859 --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/file2_partial_deriv_hill.py @@ -0,0 +1,145 @@ +from manimlib.imports import * + +class Hill(ThreeDScene): + def construct(self): + axes = ThreeDAxes() + + function = ParametricSurface( + lambda u, v: np.array([ + 1.2*np.sin(u)*np.cos(v), + 1.2*np.sin(u)*np.sin(v), + -1.2*1.2*np.sin(u)*np.sin(u)*(1+0.5*np.sin(v)*np.sin(v))+2 + ]),u_min=0,u_max=PI/2,v_min=0,v_max=2*PI,checkerboard_colors=[GREEN_C, GREEN_E], + resolution=(15, 32)).scale(1) + + func_x =ParametricFunction( + lambda u : np.array([ + u, + 0, + 2 - u*u + ]),color=RED_E,t_min=0,t_max=1.2, + ) + + func_y =ParametricFunction( + lambda u : np.array([ + 0, + u, + 2 - 1.5*u*u + ]),color=PINK,t_min=0,t_max=1.2, + ) + + self.set_camera_orientation(phi=60 * DEGREES, theta = 0*DEGREES) + #self.set_camera_orientation(phi=45 * DEGREES, theta = -20*DEGREES) + + self.add(axes) + axis = TextMobject(r"X",r"Y",r"Z") + axis[0].move_to(6*RIGHT) + axis[1].move_to(6*UP) + axis[2].move_to(np.array([0,0,3.7])) + + self.add_fixed_orientation_mobjects(axis[2]) + self.add_fixed_orientation_mobjects(axis[0]) + self.add_fixed_orientation_mobjects(axis[1]) + + self.play(ShowCreation(function)) + self.wait() + + self.move_camera(phi=60 * DEGREES, theta = 45*DEGREES) + #self.play(ShowCreation(func_x)) + + text_x = TextMobject("Slope of the hill along", r"$x$", "axis", color = YELLOW_C).scale(0.6).move_to(2.7*UP + 3.5*RIGHT) + text_x[1].set_color(PINK) + + + slope_text_x = TexMobject("Slope =", "{\\partial", "f", "\\over", "\\partial", "x}", "=").scale(0.6).move_to(2*UP + 3.5*RIGHT) + slope_text_x[0].set_color(BLUE_E) + slope_text_x.set_color_by_tex("\\partial",YELLOW_C) + slope_text_x.set_color_by_tex("f",RED_E) + slope_text_x[5].set_color(PINK) + + number_x = DecimalNumber(0,color=RED_C).scale(0.7).next_to(slope_text_x, RIGHT) + + prev_x_x = 0.01 + prev_x_z = 2 + + self.add_fixed_in_frame_mobjects(text_x, slope_text_x, number_x) + + dot_x = Dot().rotate(PI/2).set_color(YELLOW_E) + alpha_x = ValueTracker(0) + vector_x = self.get_tangent_vector(alpha_x.get_value(),func_x,scale=1.5) + dot_x.add_updater(lambda m: m.move_to(vector_x.get_center())) + number_x.add_updater(lambda m: m.set_value((dot_x.get_center()[2] - prev_x_z)/(dot_x.get_center()[0] - prev_x_x))) + number_x.add_updater(lambda m: self.add_fixed_in_frame_mobjects(m)) + + prev_x_x = (dot_x.get_center()[0]) + prev_x_z = (dot_x.get_center()[2]) + + self.play( + ShowCreation(func_x), + GrowFromCenter(dot_x), + GrowArrow(vector_x) + ) + vector_x.add_updater( + lambda m: m.become( + self.get_tangent_vector(alpha_x.get_value()%1,func_x,scale=1.5) + ) + ) + + self.add(vector_x,dot_x) + + self.play(alpha_x.increment_value, 1, run_time=3, rate_func=linear) + + #self.move_camera(phi=60 * DEGREES, theta = 0*DEGREES) + self.play(FadeOut(number_x), FadeOut(vector_x), FadeOut(dot_x), FadeOut(func_x), FadeOut(text_x), FadeOut(slope_text_x)) + + text_y = TextMobject("Slope of the hill along", r"$y$", "axis", color = YELLOW_C).scale(0.6).move_to(2.7*UP + 3.5*RIGHT) + text_y[1].set_color(RED_C) + + + slope_text_y = TexMobject("Slope =", "{\\partial", "f", "\\over", "\\partial", "y}").scale(0.6).move_to(2*UP + 3.5*RIGHT) + slope_text_y[0].set_color(BLUE_E) + slope_text_y.set_color_by_tex("\\partial",YELLOW_C) + slope_text_y.set_color_by_tex("f",PINK) + slope_text_y[5].set_color(RED_C) + + number_y = DecimalNumber(0,color=RED_C).scale(0.7).next_to(slope_text_y, RIGHT) + + prev_y_x = 0.01 + prev_y_z = 2 + + self.add_fixed_in_frame_mobjects(text_y, slope_text_y, number_y) + + dot_y = Dot().rotate(PI/2).set_color(BLUE_E) + alpha_y = ValueTracker(0) + vector_y = self.get_tangent_vector(alpha_y.get_value(),func_y,scale=1.5) + dot_y.add_updater(lambda m: m.move_to(vector_y.get_center())) + number_y.add_updater(lambda m: m.set_value((dot_y.get_center()[2] - prev_y_z)/(dot_y.get_center()[0] - prev_y_x))) + number_y.add_updater(lambda m: self.add_fixed_in_frame_mobjects(m)) + + prev_y_x = (dot_y.get_center()[0]) + prev_y_z = (dot_y.get_center()[2]) + + + self.play( + ShowCreation(func_y), + GrowFromCenter(dot_y), + GrowArrow(vector_y) + ) + vector_y.add_updater( + lambda m: m.become( + self.get_tangent_vector(alpha_y.get_value()%1,func_y,scale=1.5) + ) + ) + + self.add(vector_y,dot_y) + self.play(alpha_y.increment_value, 1, run_time=3, rate_func=linear) + self.play(FadeOut(number_y), FadeOut(vector_y), FadeOut(dot_y), FadeOut(func_y), FadeOut(text_y), FadeOut(slope_text_y)) + self.wait(2) + + def get_tangent_vector(self, proportion, curve, dx=0.001, scale=1): + coord_i = curve.point_from_proportion(proportion) + coord_f = curve.point_from_proportion(proportion + dx) + reference_line = Line(coord_i,coord_f) + unit_vector = reference_line.get_unit_vector() * scale + vector = Line(coord_i - unit_vector, coord_i + unit_vector, color = ORANGE, buff=0) + return vector \ No newline at end of file -- cgit From e8e21e79857b97d0c6f24840de07a6228ec88c89 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:55:38 +0530 Subject: Delete file2_partial_deriv_hill.gif --- .../gifs/file2_partial_deriv_hill.gif | Bin 1238872 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file2_partial_deriv_hill.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file2_partial_deriv_hill.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file2_partial_deriv_hill.gif deleted file mode 100644 index 3c758ff..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file2_partial_deriv_hill.gif and /dev/null differ -- cgit From 0b076c6ffa3361c29c41e0145c2d27e27225a1bb Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:56:00 +0530 Subject: Add files via upload --- .../gifs/file2_partial_deriv_hill.gif | Bin 0 -> 803928 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file2_partial_deriv_hill.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file2_partial_deriv_hill.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file2_partial_deriv_hill.gif new file mode 100644 index 0000000..d74ac4d Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives/gifs/file2_partial_deriv_hill.gif differ -- cgit From 406b76d54d621cf6ff67753916feeafe977ea700 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:57:26 +0530 Subject: Delete file1_epsilon_delta_defn.py --- .../file1_epsilon_delta_defn.py | 179 --------------------- 1 file changed, 179 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/file1_epsilon_delta_defn.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/file1_epsilon_delta_defn.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/file1_epsilon_delta_defn.py deleted file mode 100644 index 803c122..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/file1_epsilon_delta_defn.py +++ /dev/null @@ -1,179 +0,0 @@ -from manimlib.imports import * - -class EpsilonDelta(ThreeDScene): - def construct(self): - axes = ThreeDAxes() # creates a 3D Axis - - - sphere = ParametricSurface( - lambda u, v: np.array([ - 3*np.sin(u)*np.cos(v), - 3*np.sin(u)*np.sin(v), - 3*np.cos(u) - ]),u_min=0,u_max=PI/4,v_min=PI/2,v_max=PI,checkerboard_colors=[RED_D, RED_E], - resolution=(15, 32)).scale(1) - - - cylinder_z = ParametricSurface( - lambda u, v: np.array([ - 0.25*np.cos(TAU * v), - 1.8* (1 - u), - 0.25*np.sin(TAU * v) - - ]), - checkerboard_colors=[YELLOW_C, YELLOW_E], resolution=(6, 32)).fade(0.2).rotate(PI/4).move_to(np.array([-0.65,0.65,2.54])) - - - cylinder_x = ParametricSurface( - lambda u, v: np.array([ - 0.3*np.cos(TAU * v)-1, - 0.3*np.sin(TAU * v)+1, - 2.6*(1 - u) - ]), - checkerboard_colors=[BLUE_C, BLUE_E], resolution=(6, 32)).fade(0.2) - - - delta_circle = Circle(radius= 0.3, color = BLACK).shift(1*LEFT+1*UP).set_fill(GREEN_E, opacity = 0.5) - - epsilon_circle = [np.array([0.25*np.cos(i*DEGREES),0,0.25*np.sin(i*DEGREES)]) for i in range(361)] - - epsilon_circle_polygon = Polygon(*epsilon_circle, color = RED_E, fill_color = RED_E, fill_opacity = 0.5).rotate(PI/4).move_to(np.array([0,0,2.54])) - - - dot_circle = Dot().move_to(np.array([-1,1,0])).set_fill("#000080") - - dot_surface = Dot().rotate(-PI/4).scale(1.5).move_to(np.array([-1.2,1.2,2.7])).set_fill("#000080") - - dot_L_epsilon1 = Polygon(*[np.array([0.05*np.cos(i*DEGREES),0,0.05*np.sin(i*DEGREES)]) for i in range(361)], color = "#000080", fill_color = "#000080", fill_opacity = 1).rotate(PI/4).move_to(np.array([0,0,2.3])) - - dot_L_epsilon2 = Polygon(*[np.array([0.05*np.cos(i*DEGREES),0,0.05*np.sin(i*DEGREES)]) for i in range(361)], color = "#000080", fill_color = "#000080", fill_opacity = 1).rotate(PI/4).move_to(np.array([0,0,2.8])) - - dot_L = Polygon(*[np.array([0.05*np.cos(i*DEGREES),0,0.05*np.sin(i*DEGREES)]) for i in range(361)], color = "#006400", fill_color = "#006400", fill_opacity = 1).rotate(PI/4).move_to(np.array([0,0,2.54])) - - - - self.add(axes) - - axis = TextMobject(r"X",r"Y",r"Z") - axis[0].move_to(6*RIGHT) - axis[1].move_to(6*UP) - axis[2].move_to(np.array([0,0,3.7])) - - self.add_fixed_orientation_mobjects(axis[2]) - self.add_fixed_orientation_mobjects(axis[0]) - self.add_fixed_orientation_mobjects(axis[1]) - - self.set_camera_orientation(phi=75*DEGREES,theta=135*DEGREES) - #self.set_camera_orientation(phi=80*DEGREES,theta=45*DEGREES) - - - self.play(ShowCreation(sphere),ShowCreation(delta_circle), ShowCreation(dot_circle)) - - temp_circle_center = TextMobject(r"$(a,b,0)$").scale(0.6).set_color(BLUE_C).move_to(1.7*LEFT+1.1*UP) - self.add_fixed_orientation_mobjects(temp_circle_center) - self.wait() - - delta_lab = TextMobject(r"$\delta$", r"$-$", "disk").scale(0.5).move_to(0.6*LEFT+1.7*UP) - delta_lab[0].set_color(PINK).scale(1.3) - delta_lab[1].set_color(ORANGE) - delta_lab[2].set_color(GREEN_E) - - self.add_fixed_orientation_mobjects(delta_lab) - - self.play(ShowCreation(dot_surface)) - - temp_curve_circle_center = TextMobject(r"$(a,b,L)$").scale(0.6).set_color("#006400").move_to(np.array([-2,1,2.7])) - self.add_fixed_orientation_mobjects(temp_curve_circle_center) - - - self.wait() - self.play(ShowCreation(cylinder_x), FadeOut(dot_surface)) - self.wait() - - self.move_camera(phi=0* DEGREES,theta=135*DEGREES) - self.wait() - - self.move_camera(phi=80* DEGREES,theta=225*DEGREES) - self.wait() - - self.play(FadeOut(delta_lab), ShowCreation(cylinder_z)) - self.wait() - - self.play(FadeOut(temp_circle_center), FadeOut(temp_curve_circle_center),ShowCreation(epsilon_circle_polygon)) - - self.move_camera(phi=80* DEGREES,theta=325*DEGREES) - - dot_L_epsilon1_lab = TextMobject(r"$L$", r"$-$", r"$\epsilon$").scale(0.6).move_to(np.array([-0.4,-0.4,2.3])) - dot_L_epsilon1_lab[0].set_color("#D4108A") - dot_L_epsilon1_lab[1].set_color("#006400") - dot_L_epsilon1_lab[2].set_color("#4DC8A1").scale(1.5) - - dot_L_epsilon2_lab = TextMobject(r"$L$", r"$+$", r"$\epsilon$").scale(0.6).move_to(np.array([-0.4,-0.4,2.8])) - dot_L_epsilon2_lab[0].set_color("#D4108A") - dot_L_epsilon2_lab[1].set_color("#006400") - dot_L_epsilon2_lab[2].set_color("#4DC8A1").scale(1.5) - - dot_L_lab = TextMobject(r"$L$").scale(0.6).set_color("#D4108A").move_to(np.array([-0.4,-0.4,2.54])) - - - self.play(ShowCreation(dot_L_epsilon1), ShowCreation(dot_L), ShowCreation(dot_L_epsilon2)) - self.add_fixed_orientation_mobjects(dot_L_epsilon1_lab, dot_L_epsilon2_lab, dot_L_lab) - self.wait(4) - - self.move_camera(phi=80* DEGREES,theta=45*DEGREES) - self.wait(2) - - - - - - - - - - - - - - - ''' - - - - - - - - - - - - delta_lab = TextMobject(r"$\delta - disk$") - delta_lab.scale(0.5) - delta_lab.set_color(PINK) - - self.play(ShowCreation(circle_center)) - self.add_fixed_in_frame_mobjects(temp_circle_center) - temp_circle_center.move_to(1.5*RIGHT) - self.play(Write(temp_circle_center)) - - self.play(ShowCreation(curve_circle_center)) - self.add_fixed_in_frame_mobjects(temp_curve_circle_center) - temp_curve_circle_center.move_to(1.9*UP+1*RIGHT) - self.play(Write(temp_curve_circle_center)) - - - self.add_fixed_in_frame_mobjects(delta_lab) - delta_lab.move_to(0.4*DOWN+1.7*RIGHT) - self.play(Write(delta_lab)) - - - - - - self.begin_ambient_camera_rotation(rate=0.2) - - self.play(ShowCreation(circle), ShowCreation(line1), ShowCreation(line2)) - self.play(ShowCreation(line3), ShowCreation(line4)) - self.wait(8) - ''' \ No newline at end of file -- cgit From 1bd78c4a60411e67be6796f25f100aa04e4145ac Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:58:47 +0530 Subject: Add files via upload --- .../file1_epsilon_delta_defn.py | 335 +++++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/file1_epsilon_delta_defn.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/file1_epsilon_delta_defn.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/file1_epsilon_delta_defn.py new file mode 100644 index 0000000..052b1eb --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/file1_epsilon_delta_defn.py @@ -0,0 +1,335 @@ +from manimlib.imports import * + +class EpsilonDelta(ThreeDScene): + def construct(self): + axes = ThreeDAxes() + + sphere = ParametricSurface( + lambda u, v: np.array([ + 3*np.sin(u)*np.cos(v), + 3*np.sin(u)*np.sin(v), + 3*np.cos(u) + ]),u_min=0,u_max=PI/4,v_min=PI/2,v_max=PI,checkerboard_colors=[RED_D, RED_E], + resolution=(15, 32)).scale(1) + + delta_circle_boundary = Circle(radius= 0.3, color = GREEN_E).shift(1*LEFT+1*UP) + + circle = [np.array([0.3*np.cos(i*DEGREES)-1, 0.3*np.sin(i*DEGREES)+1, 0]) for i in range(361)] + + circle_above = [np.array([0.3*np.cos(i*DEGREES)-1, 0.3*np.sin(i*DEGREES)+1, np.sqrt(9 - (0.3*np.cos(i*DEGREES)-1)**2 - (0.3*np.sin(i*DEGREES)+1)**2)]) for i in range(361)] + + delta_circle = Polygon(*circle, color = BLACK, fill_color = GREEN_E, fill_opacity= 0.5, stroke_width=0.1) + + delta_circle_above = Polygon(*circle_above, color = BLACK, fill_color = GREEN_E, fill_opacity= 0.5, stroke_width=0.1) + + dot_circle = Dot().scale(0.6).move_to(np.array([-1,1,0])).set_fill(PINK) + + dot_surface = Dot().rotate(-PI/3).scale(0.7).move_to(np.array([-1.2,1.2,2.7])).set_fill(PINK) + + + + #Creating cylinder + ###### + ''' + cylinder = [] + cylinder.append(np.array([-0.7, 1, 0])) + cylinder.append(np.array([-0.7, 1, np.sqrt(9 - (0.7)**2 - 1)])) + + + #circle_above_reverse = [ele for ele in reversed(circle_above)] + circle_above_reverse = [np.array([0.3*np.cos(i*DEGREES)-1, 0.3*np.sin(i*DEGREES)+1, np.sqrt(9 - (0.3*np.cos(i*DEGREES)-1)**2 - (0.3*np.sin(i*DEGREES)+1)**2)]) for i in range(181)] + + cylinder = cylinder + circle_above_reverse + + #cylinder.append(np.array([-0.7, 1, np.sqrt(9 - (0.7)**2 - 1)])) + cylinder.append(np.array([0.3*np.cos(180)-1, 0.3*np.sin(180)+1, np.sqrt(9 - (0.3*np.cos(180)-1)**2 - (0.3*np.sin(180)+1)**2)])) + #cylinder.append(np.array([-0.7, 1, 0])) + cylinder.append(np.array([0.3*np.cos(180)-1, 0.3*np.sin(180)+1, 0])) + + + cylinder = cylinder + [np.array([0.3*np.cos(i*DEGREES)-1, 0.3*np.sin(i*DEGREES)+1, 0]) for i in range(180,-1,-1)] + #y_x_2.append(np.array([-3, 9, 0])) + #cylinder.append(np.array([-0.7, 1, 0])) + + cylinder_plane = Polygon(*cylinder, color = BLACK, fill_color = YELLOW_C, fill_opacity= 0.3, stroke_width=0.1) + #plane_y_x_2_text = TextMobject(r"$y = x^2$", color = RED_C).move_to(np.array([5,0,2])) + + #cylinder_plane2 = cylinder_plane.copy().rotate(2*PI) + + cylinder = [] + cylinder.append(np.array([-0.7, 1, 0])) + cylinder.append(np.array([-0.7, 1, np.sqrt(9 - (0.7)**2 - 1)])) + + + #circle_above_reverse = [ele for ele in reversed(circle_above)] + circle_above_reverse = [np.array([0.3*np.cos(i*DEGREES)-1, 0.3*np.sin(i*DEGREES)+1, np.sqrt(9 - (0.3*np.cos(i*DEGREES)-1)**2 - (0.3*np.sin(i*DEGREES)+1)**2)]) for i in range(360, 179, -1)] + + cylinder = cylinder + circle_above_reverse + + #cylinder.append(np.array([-0.7, 1, np.sqrt(9 - (0.7)**2 - 1)])) + cylinder.append(np.array([0.3*np.cos(180)-1, 0.3*np.sin(180)+1, np.sqrt(9 - (0.3*np.cos(180)-1)**2 - (0.3*np.sin(180)+1)**2)])) + #cylinder.append(np.array([-0.7, 1, 0])) + cylinder.append(np.array([0.3*np.cos(180)-1, 0.3*np.sin(180)+1, 0])) + + + cylinder = cylinder + [np.array([0.3*np.cos(i*DEGREES)-1, 0.3*np.sin(i*DEGREES)+1, 0]) for i in range(180,360)] + #y_x_2.append(np.array([-3, 9, 0])) + #cylinder.append(np.array([-0.7, 1, 0])) + + cylinder_plane = Polygon(*cylinder, color = BLACK, fill_color = YELLOW_C, fill_opacity= 0.3, stroke_width=0.1) + + ###### + ''' + + + lines = [Line(circle[i], circle_above[i], color = BLUE_B, opacity=0.01, stroke_width=0.1) for i in range(0,len(circle),1)] + lines_group = VGroup(*lines) + + line_epsilon_first = DashedLine(np.array([-1, 1, 0]), np.array([-1, 1, np.sqrt(7)]), color = YELLOW_C) + + + + + self.add(axes) + + axis = TextMobject(r"X",r"Y",r"Z") + axis[0].move_to(6*RIGHT) + axis[1].move_to(6*UP) + axis[2].move_to(np.array([0,0,3.7])) + + self.add_fixed_orientation_mobjects(axis[2]) + self.add_fixed_orientation_mobjects(axis[0]) + self.add_fixed_orientation_mobjects(axis[1]) + + self.set_camera_orientation(distance=200,phi=70*DEGREES,theta=135*DEGREES) + + self.play(ShowCreation(sphere)) + self.wait() + + text1 = TexMobject("\\sqrt{(x-a)^2+(y-b)^2}", color = GREEN_E).scale(0.7).to_corner(UR) + + self.play(ShowCreation(delta_circle_boundary), ShowCreation(dot_circle)) + self.add_fixed_in_frame_mobjects(text1) + self.wait(2) + + text2 = TexMobject("\\sqrt{(x-a)^2+(y-b)^2}", "<", "\\delta ", color = GREEN_E).scale(0.7).to_corner(UR) + text2[1].set_color(YELLOW_C) + text2[2].set_color(ORANGE) + + self.play(FadeOut(text1), FadeOut(delta_circle_boundary), ShowCreation(delta_circle)) + self.bring_to_front(dot_circle) + self.add_fixed_in_frame_mobjects(text2) + + #self.play(ShowCreation(sphere), ShowCreation(delta_circle), ShowCreation(delta_circle_above)) + + temp_circle_center = TextMobject(r"$(a,b,0)$").scale(0.6).set_color(PINK).move_to(1.7*LEFT+1.1*UP) + self.add_fixed_orientation_mobjects(temp_circle_center) + self.wait() + + delta_lab = TextMobject(r"$\delta$", "disk").scale(0.5).move_to(0.6*LEFT+1.7*UP) + delta_lab[0].set_color(ORANGE).scale(1.3) + delta_lab[1].set_color(GREEN_E) + + self.add_fixed_orientation_mobjects(delta_lab) + + self.play(ShowCreation(lines_group), ShowCreation(line_epsilon_first)) + self.bring_to_front(delta_circle_above, dot_surface) + temp_curve_circle_center = TextMobject(r"$(a,b,L)$").scale(0.6).set_color(PINK).move_to(np.array([-1.7,1.1,2.7])) + self.add_fixed_orientation_mobjects(temp_curve_circle_center) + + self.move_camera(distance = 5, phi=50*DEGREES,theta=135*DEGREES) + self.wait(3) + + + self.play(FadeOut(dot_surface)) + + self.move_camera(distance=200,phi=0* DEGREES,theta=135*DEGREES) + self.wait() + + self.move_camera(distance=10,phi=80* DEGREES,theta=225*DEGREES) + self.wait() + + self.play(FadeOut(delta_lab), FadeOut(temp_circle_center), FadeOut(temp_curve_circle_center), FadeOut(text2)) + self.wait() + + + line_epsilon1 = DashedLine(np.array([0.3*np.cos(315*DEGREES)-1, 0.3*np.sin(315*DEGREES)+1, np.sqrt(9 - (0.3*np.cos(315*DEGREES)-1)**2 - (0.3*np.sin(315*DEGREES)+1)**2)]), + np.array([0, 0, np.sqrt(9 - (0.3*np.cos(315*DEGREES)-1)**2 - (0.3*np.sin(315*DEGREES)+1)**2)]), color = YELLOW_C) + + line_epsilon2 = DashedLine(np.array([0.3*np.cos(135*DEGREES)-1, 0.3*np.sin(135*DEGREES)+1, np.sqrt(9 - (0.3*np.cos(135*DEGREES)-1)**2 - (0.3*np.sin(135*DEGREES)+1)**2)]), + np.array([0, 0, np.sqrt(9 - (0.3*np.cos(135*DEGREES)-1)**2 - (0.3*np.sin(135*DEGREES)+1)**2)]), color = YELLOW_C) + + line_epsilon = DashedLine(np.array([-1, +1, np.sqrt(7)]), np.array([0, 0, np.sqrt(7)]), color = YELLOW_C) + + + self.play(ShowCreation(line_epsilon1), ShowCreation(line_epsilon2), ShowCreation(line_epsilon)) + self.wait() + + self.move_camera(distance=5,phi=75* DEGREES,theta=325*DEGREES) + + + + dot_L_epsilon1 = Polygon(*[np.array([0.05*np.cos(i*DEGREES),0,0.05*np.sin(i*DEGREES)]) for i in range(361)], color = "#000080", fill_color = "#000080", fill_opacity = 1).rotate(PI/4).move_to(np.array([0,0,np.sqrt(9 - (0.3*np.cos(315*DEGREES)-1)**2 - (0.3*np.sin(315*DEGREES)+1)**2)])) + + dot_L_epsilon2 = Polygon(*[np.array([0.05*np.cos(i*DEGREES),0,0.05*np.sin(i*DEGREES)]) for i in range(361)], color = "#000080", fill_color = "#000080", fill_opacity = 1).rotate(PI/4).move_to(np.array([0,0,np.sqrt(9 - (0.3*np.cos(135*DEGREES)-1)**2 - (0.3*np.sin(135*DEGREES)+1)**2)])) + + dot_L = Polygon(*[np.array([0.05*np.cos(i*DEGREES),0,0.05*np.sin(i*DEGREES)]) for i in range(361)], color = "#006400", fill_color = "#006400", fill_opacity = 1).rotate(PI/4).move_to(np.array([0,0,np.sqrt(7)])) + + dot_L_epsilon1_lab = TextMobject(r"$L$", r"$-$", r"$\epsilon$").scale(0.6).move_to(np.array([-0.4,-0.4,np.sqrt(9 - (0.3*np.cos(315*DEGREES)-1)**2 - (0.3*np.sin(315*DEGREES)+1)**2)])) + dot_L_epsilon1_lab[0].set_color("#D4108A") + dot_L_epsilon1_lab[1].set_color("#006400") + dot_L_epsilon1_lab[2].set_color("#4DC8A1").scale(1.5) + + dot_L_epsilon2_lab = TextMobject(r"$L$", r"$+$", r"$\epsilon$").scale(0.6).move_to(np.array([-0.4,-0.4,np.sqrt(9 - (0.3*np.cos(135*DEGREES)-1)**2 - (0.3*np.sin(135*DEGREES)+1)**2)])) + dot_L_epsilon2_lab[0].set_color("#D4108A") + dot_L_epsilon2_lab[1].set_color("#006400") + dot_L_epsilon2_lab[2].set_color("#4DC8A1").scale(1.5) + + dot_L_lab = TextMobject(r"$L$").scale(0.6).set_color("#D4108A").move_to(np.array([-0.4,-0.4,np.sqrt(7)])) + + epsilon_line = Line(np.array([0,0,np.sqrt(9 - (0.3*np.cos(315*DEGREES)-1)**2 - (0.3*np.sin(315*DEGREES)+1)**2)]), np.array([0,0,np.sqrt(9 - (0.3*np.cos(135*DEGREES)-1)**2 - (0.3*np.sin(135*DEGREES)+1)**2)]), color = "#4DC8A1") + + delta_line = Line(np.array([-1,1,0]), np.array([0.3*np.cos(0*DEGREES)-1, 0.3*np.sin(0*DEGREES)+1, 0]), color = "#000080") + delta_line_lab = TexMobject("\\delta", color = ORANGE).scale(0.6).move_to(delta_line.get_center()) + + self.play(ShowCreation(epsilon_line), ShowCreation(delta_line), ShowCreation(dot_L_epsilon1), ShowCreation(dot_L), ShowCreation(dot_L_epsilon2)) + self.bring_to_front(dot_L_epsilon1, dot_L, dot_L_epsilon2) + self.add_fixed_orientation_mobjects(delta_line_lab, dot_L_epsilon1_lab, dot_L_epsilon2_lab, dot_L_lab) + + self.wait(2) + + + circle_1 = [np.array([0.6*np.cos(i*DEGREES)-1, 0.6*np.sin(i*DEGREES)+1, 0]) for i in range(361)] + + circle_above_1 = [np.array([0.6*np.cos(i*DEGREES)-1, 0.6*np.sin(i*DEGREES)+1, np.sqrt(9 - (0.6*np.cos(i*DEGREES)-1)**2 - (0.6*np.sin(i*DEGREES)+1)**2)]) for i in range(361)] + + delta_circle_1 = Polygon(*circle_1, color = BLACK, fill_color = GREEN_E, fill_opacity= 0.5, stroke_width=0.1) + + delta_circle_above_1 = Polygon(*circle_above_1, color = BLACK, fill_color = GREEN_E, fill_opacity= 0.5, stroke_width=0.1) + + lines_1 = [Line(circle_1[i], circle_above_1[i], color = BLUE_B, opacity=0.01, stroke_width=0.1) for i in range(0,len(circle_1),1)] + lines_group_1 = VGroup(*lines_1) + + + line_epsilon1_1 = DashedLine(np.array([0.6*np.cos(315*DEGREES)-1, 0.6*np.sin(315*DEGREES)+1, np.sqrt(9 - (0.6*np.cos(315*DEGREES)-1)**2 - (0.6*np.sin(315*DEGREES)+1)**2)]), + np.array([0, 0, np.sqrt(9 - (0.6*np.cos(315*DEGREES)-1)**2 - (0.6*np.sin(315*DEGREES)+1)**2)]), color = YELLOW_C) + + line_epsilon2_1 = DashedLine(np.array([0.6*np.cos(135*DEGREES)-1, 0.6*np.sin(135*DEGREES)+1, np.sqrt(9 - (0.6*np.cos(135*DEGREES)-1)**2 - (0.6*np.sin(135*DEGREES)+1)**2)]), + np.array([0, 0, np.sqrt(9 - (0.6*np.cos(135*DEGREES)-1)**2 - (0.6*np.sin(135*DEGREES)+1)**2)]), color = YELLOW_C) + + + epsilon_line_1 = Line(np.array([0,0,np.sqrt(9 - (0.6*np.cos(315*DEGREES)-1)**2 - (0.6*np.sin(315*DEGREES)+1)**2)]), np.array([0,0,np.sqrt(9 - (0.6*np.cos(135*DEGREES)-1)**2 - (0.6*np.sin(135*DEGREES)+1)**2)]), color = "#4DC8A1") + + delta_line1 = Line(np.array([-1,1,0]), np.array([0.6*np.cos(0*DEGREES)-1, 0.6*np.sin(0*DEGREES)+1, 0]), color = "#000080") + delta_line_lab1 = TexMobject("\\delta", color = ORANGE).scale(0.6).move_to(delta_line1.get_center()) + + + + + epsilon_text1 = TextMobject(r"For every", r"$\epsilon$", " ,", color = YELLOW_C).scale(0.7).move_to(4.2*RIGHT+3.2*UP) + epsilon_text1[1].set_color("#4DC8A1") + + epsilon_text2 = TextMobject("there exists a corresponding", r"$\delta$", r"disk", color = YELLOW_C).scale(0.7) + epsilon_text2[1].set_color(ORANGE) + epsilon_text2.next_to(epsilon_text1, DOWN) + + + epsilon_text3 = TextMobject(r"So that for every value", color = YELLOW_C).scale(0.7).move_to(4*RIGHT+3.2*UP) + + epsilon_text4 = TextMobject("that lies within the", r"$\delta$", r"disk,", color = YELLOW_C).scale(0.7).next_to(epsilon_text3, DOWN) + epsilon_text4[1].set_color(ORANGE) + + epsilon_text5 = TextMobject(r"the limit lies within the", r"$\epsilon$", r"band", color = YELLOW_C).scale(0.7) + epsilon_text5[1].set_color("#4DC8A1") + epsilon_text5.next_to(epsilon_text4, DOWN) + + self.add_fixed_in_frame_mobjects(epsilon_text1) + + self.play( ReplacementTransform(line_epsilon1, line_epsilon1_1), ReplacementTransform(line_epsilon2, line_epsilon2_1), ReplacementTransform(epsilon_line, epsilon_line_1), + ApplyMethod(dot_L_epsilon1.move_to, np.array([0,0,np.sqrt(9 - (0.6*np.cos(315*DEGREES)-1)**2 - (0.6*np.sin(315*DEGREES)+1)**2)])), + ApplyMethod(dot_L_epsilon2.move_to, np.array([0,0,np.sqrt(9 - (0.6*np.cos(135*DEGREES)-1)**2 - (0.6*np.sin(135*DEGREES)+1)**2)])), + ApplyMethod(dot_L_epsilon1_lab.move_to, np.array([-0.4,-0.4,np.sqrt(9 - (0.6*np.cos(315*DEGREES)-1)**2 - (0.6*np.sin(315*DEGREES)+1)**2)])), + ApplyMethod(dot_L_epsilon2_lab.move_to, np.array([-0.4,-0.4,np.sqrt(9 - (0.6*np.cos(135*DEGREES)-1)**2 - (0.6*np.sin(135*DEGREES)+1)**2)]))) + + + self.bring_to_front(dot_L_epsilon1, dot_L, dot_L_epsilon2) + + self.wait() + + self.add_fixed_in_frame_mobjects(epsilon_text2) + + + + self.play(ReplacementTransform(lines_group, lines_group_1), ReplacementTransform(delta_circle, delta_circle_1), ReplacementTransform(delta_circle_above, delta_circle_above_1), + ReplacementTransform(delta_line, delta_line1), ReplacementTransform(delta_line_lab, delta_line_lab1)) + + self.bring_to_front(dot_L_epsilon1, dot_L, dot_L_epsilon2) + + self.add_fixed_orientation_mobjects(delta_line_lab1 ,dot_L_epsilon1_lab, dot_L_epsilon2_lab, dot_L_lab) + + + + self.wait(2) + + self.play(FadeOut(epsilon_text1), FadeOut(epsilon_text2)) + + self.add_fixed_in_frame_mobjects(epsilon_text3, epsilon_text4) + + self.wait(2) + + self.add_fixed_in_frame_mobjects(epsilon_text5) + + self.wait(2) + + + self.play(FadeOut(epsilon_text3), FadeOut(epsilon_text4), FadeOut(epsilon_text5)) + + + + self.move_camera(distance=10,phi=80* DEGREES,theta=45*DEGREES) + self.bring_to_front(dot_L_epsilon1_lab, dot_L_lab, dot_L_epsilon2_lab) + self.wait(2) + + self.move_camera(distance=10,phi=75* DEGREES,theta=135*DEGREES) + self.bring_to_front(dot_L_epsilon1_lab, dot_L_lab, dot_L_epsilon2_lab) + self.wait(2) + + circle_2 = [np.array([0.5*np.cos(i*DEGREES)-1, 0.5*np.sin(i*DEGREES)+1, 0]) for i in range(361)] + + circle_above_2 = [np.array([0.5*np.cos(i*DEGREES)-1, 0.5*np.sin(i*DEGREES)+1, np.sqrt(9 - (0.5*np.cos(i*DEGREES)-1)**2 - (0.5*np.sin(i*DEGREES)+1)**2)]) for i in range(361)] + + delta_circle_2 = Polygon(*circle_2, color = BLACK, fill_color = GREEN_E, fill_opacity= 0.5, stroke_width=0.1) + + delta_circle_above_2 = Polygon(*circle_above_2, color = BLACK, fill_color = GREEN_E, fill_opacity= 0.5, stroke_width=0.1) + + lines_2 = [Line(circle_2[i], circle_above_2[i], color = BLUE_B, opacity=0.01, stroke_width=0.1) for i in range(0,len(circle_2),1)] + lines_group_2 = VGroup(*lines_2) + + + line_epsilon1_2 = DashedLine(np.array([0.5*np.cos(315*DEGREES)-1, 0.5*np.sin(315*DEGREES)+1, np.sqrt(9 - (0.5*np.cos(315*DEGREES)-1)**2 - (0.5*np.sin(315*DEGREES)+1)**2)]), + np.array([0, 0, np.sqrt(9 - (0.5*np.cos(315*DEGREES)-1)**2 - (0.5*np.sin(315*DEGREES)+1)**2)]), color = YELLOW_C) + + line_epsilon2_2 = DashedLine(np.array([0.5*np.cos(135*DEGREES)-1, 0.5*np.sin(135*DEGREES)+1, np.sqrt(9 - (0.5*np.cos(135*DEGREES)-1)**2 - (0.5*np.sin(135*DEGREES)+1)**2)]), + np.array([0, 0, np.sqrt(9 - (0.5*np.cos(135*DEGREES)-1)**2 - (0.5*np.sin(135*DEGREES)+1)**2)]), color = YELLOW_C) + + + epsilon_line_2 = Line(np.array([0,0,np.sqrt(9 - (0.5*np.cos(315*DEGREES)-1)**2 - (0.5*np.sin(315*DEGREES)+1)**2)]), np.array([0,0,np.sqrt(9 - (0.5*np.cos(135*DEGREES)-1)**2 - (0.5*np.sin(135*DEGREES)+1)**2)]), color = "#4DC8A1") + + delta_line2 = Line(np.array([-1,1,0]), np.array([0.5*np.cos(0*DEGREES)-1, 0.5*np.sin(0*DEGREES)+1, 0]), color = "#000080") + delta_line_lab2 = TexMobject("\\delta", color = ORANGE).scale(0.6).move_to(delta_line1.get_center()) + + self.bring_to_front(dot_L_epsilon1, dot_L, dot_L_epsilon2) + + self.play(ReplacementTransform(lines_group_1, lines_group_2), ReplacementTransform(delta_circle_1, delta_circle_2), ReplacementTransform(delta_circle_above_1, delta_circle_above_2), + ReplacementTransform(line_epsilon1_1, line_epsilon1_2), ReplacementTransform(line_epsilon2_1, line_epsilon2_2), ReplacementTransform(epsilon_line_1, epsilon_line_2), + ReplacementTransform(delta_line1, delta_line2), ReplacementTransform(delta_line_lab1, delta_line_lab2), + ApplyMethod(dot_L_epsilon1.move_to, np.array([0,0,np.sqrt(9 - (0.5*np.cos(315*DEGREES)-1)**2 - (0.5*np.sin(315*DEGREES)+1)**2)])), + ApplyMethod(dot_L_epsilon2.move_to, np.array([0,0,np.sqrt(9 - (0.5*np.cos(135*DEGREES)-1)**2 - (0.5*np.sin(135*DEGREES)+1)**2)])), + ApplyMethod(dot_L_epsilon1_lab.move_to, np.array([-0.4,-0.4,np.sqrt(9 - (0.5*np.cos(315*DEGREES)-1)**2 - (0.5*np.sin(315*DEGREES)+1)**2)])), + ApplyMethod(dot_L_epsilon2_lab.move_to, np.array([-0.4,-0.4,np.sqrt(9 - (0.5*np.cos(135*DEGREES)-1)**2 - (0.5*np.sin(135*DEGREES)+1)**2)]))) + + self.bring_to_front(dot_L_epsilon1, dot_L, dot_L_epsilon2) + self.add_fixed_orientation_mobjects(delta_line_lab2 ,dot_L_epsilon1_lab, dot_L_epsilon2_lab, dot_L_lab) + + self.wait(2) + \ No newline at end of file -- cgit From 541cf3cbca2caa5e4b5bf2ae4da81c61e8b4e394 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 10:59:14 +0530 Subject: Delete file1_epsilon_delta_defn.gif --- .../gifs/file1_epsilon_delta_defn.gif | Bin 1788321 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/gifs/file1_epsilon_delta_defn.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/gifs/file1_epsilon_delta_defn.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/gifs/file1_epsilon_delta_defn.gif deleted file mode 100644 index 2378bcf..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/gifs/file1_epsilon_delta_defn.gif and /dev/null differ -- cgit From 329d8bc8156886ca2109145d585d1db22919b190 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:01:20 +0530 Subject: Add files via upload --- .../gifs/file1_epsilon_delta_defn.gif | Bin 0 -> 4409868 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/gifs/file1_epsilon_delta_defn.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/gifs/file1_epsilon_delta_defn.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/gifs/file1_epsilon_delta_defn.gif new file mode 100644 index 0000000..7fef549 Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-limits-and-continuity/gifs/file1_epsilon_delta_defn.gif differ -- cgit From 0e1744bab2d394a096b72133c9aa9dd28b3831d3 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:04:56 +0530 Subject: Delete file2_multivariable_func_respresentation.py --- .../file2_multivariable_func_respresentation.py | 98 ---------------------- 1 file changed, 98 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file2_multivariable_func_respresentation.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file2_multivariable_func_respresentation.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file2_multivariable_func_respresentation.py deleted file mode 100644 index d10ff0a..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file2_multivariable_func_respresentation.py +++ /dev/null @@ -1,98 +0,0 @@ -from manimlib.imports import * - -class MultivariableFunc(Scene): - def construct(self): - - topic = TextMobject("Multivariable Functions") - topic.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) - topic.scale(1.5) - - self.play(Write(topic)) - self.wait() - self.play(FadeOut(topic)) - - - #circle = Circle() - #circle.scale(3) - - scalar_function = TextMobject("Scalar Valued Function") - scalar_function.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) - scalar_function.scale(1.5) - scalar_function.move_to(2.5*UP) - - rectangle = Rectangle(height = 2, width = 4) - rectangle.set_color(PURPLE) - - eqn1 = TextMobject(r"f(x,y) = $x^2y$") - eqn1.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE) - - - - number1 = TextMobject("(2,1)") - number1.move_to(2.5*UP+ 4*LEFT) - number1.scale(1.2) - number1.set_color(ORANGE) - - output1 = TextMobject("4") - output1.scale(1.5) - output1.set_color(BLUE_C) - output1.move_to(3*RIGHT) - - eqn1_1 = TextMobject(r"f(2,1) = $2^2(1)$") - eqn1_1.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE) - - - self.play(Write(eqn1),ShowCreation(rectangle)) - self.wait() - self.play(ApplyMethod(number1.move_to, 3*LEFT)) - self.play(FadeOut(number1)) - self.play(Transform(eqn1, eqn1_1)) - self.wait() - self.play(ApplyMethod(output1.move_to, 2.5*DOWN+4*RIGHT)) - self.wait() - self.play(Write(scalar_function)) - self.play(FadeOut(output1), FadeOut(scalar_function), FadeOut(eqn1)) - - - vector_function = TextMobject("Vector Valued Function") - vector_function.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) - vector_function.scale(1.5) - vector_function.move_to(2.5*UP) - - - eqn2 = TextMobject(r"f(x,y,z) = $ \begin{bmatrix} x^2y \\ 2yz \end{bmatrix}$") - eqn2.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) - - number2 = TextMobject("(2,1,3)") - number2.move_to(2.5*UP+ 4*LEFT) - number2.scale(1.2) - number2.set_color(ORANGE) - - output2 = TextMobject(r"$ \begin{bmatrix} 4 \\ 6 \end{bmatrix}$") - #output2.scale(1.5) - output2.set_color(BLUE_C) - output2.move_to(3*RIGHT) - - #eqn2_1 = TextMobject(r"f(2,1,3) = $2^2(1) + 2(1)(3)$") - #eqn2_1.set_color(YELLOW) - - #eqn2_2 = TextMobject(r"f(2,1,3) = $2 + 6$") - #eqn2_2.set_color(YELLOW) - - - self.play(Write(eqn2)) - - self.wait() - self.play(ApplyMethod(number2.move_to, 3*LEFT)) - self.play(FadeOut(number2)) - - #self.play(Transform(eqn2, eqn2_1)) - #self.wait(1) - #self.play(Transform(eqn2, eqn2_2)) - #self.wait(1) - - self.play(ApplyMethod(output2.move_to, 2.5*DOWN+4*RIGHT)) - self.wait() - self.play(Write(vector_function)) - self.play(FadeOut(output2),FadeOut(eqn2), FadeOut(vector_function), FadeOut(rectangle)) - self.wait() \ No newline at end of file -- cgit From c4b083a8a4b5665a2df7683cdd2d7b981a7abc53 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:05:19 +0530 Subject: Add files via upload --- .../file2_multivariable_func_respresentation.py | 148 +++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file2_multivariable_func_respresentation.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file2_multivariable_func_respresentation.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file2_multivariable_func_respresentation.py new file mode 100644 index 0000000..e413e02 --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file2_multivariable_func_respresentation.py @@ -0,0 +1,148 @@ +from manimlib.imports import * + +class MultivariableFunc(Scene): + def construct(self): + + topic = TextMobject("Multivariable Functions") + topic.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + topic.scale(1.5) + + self.play(Write(topic)) + self.wait() + self.play(FadeOut(topic)) + + + scalar_function = TextMobject("Scalar Valued Function") + scalar_function.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + scalar_function.scale(1.5) + scalar_function.move_to(2.5*UP) + + rectangle = Rectangle(height = 2, width = 4) + rectangle.set_color(PURPLE) + + eqn1 = TextMobject(r"f(x,y) = $x^2y$") + eqn1.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE) + + + + number1 = TextMobject("(2,1)") + number1.move_to(2.5*UP+ 4*LEFT) + number1.scale(1.2) + number1.set_color(ORANGE) + + output1 = TextMobject("4") + output1.scale(1.5) + output1.set_color(BLUE_C) + output1.move_to(3*RIGHT) + + eqn1_1 = TextMobject(r"f(2,1) = $2^2(1)$") + eqn1_1.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE) + + + self.play(Write(eqn1),ShowCreation(rectangle)) + self.wait() + self.play(ApplyMethod(number1.move_to, 3*LEFT)) + self.play(FadeOut(number1)) + self.play(Transform(eqn1, eqn1_1)) + self.wait() + self.play(ApplyMethod(output1.move_to, 2.5*DOWN+4*RIGHT)) + self.wait() + self.play(Write(scalar_function)) + self.play(FadeOut(output1), FadeOut(scalar_function), FadeOut(eqn1)) + + + vector_function = TextMobject("Vector Valued Function") + vector_function.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + vector_function.scale(1.5) + vector_function.move_to(2.5*UP) + + + eqn2 = TextMobject(r"f(x,y,z) = $ \begin{bmatrix} x^2y \\ 2yz \end{bmatrix}$") + eqn2.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + + number2 = TextMobject("(2,1,3)") + number2.move_to(2.5*UP+ 4*LEFT) + number2.scale(1.2) + number2.set_color(ORANGE) + + output2 = TextMobject(r"$ \begin{bmatrix} 4 \\ 6 \end{bmatrix}$") + output2.set_color(BLUE_C) + output2.move_to(3*RIGHT) + + + + self.play(Write(eqn2)) + + self.wait() + self.play(ApplyMethod(number2.move_to, 3*LEFT)) + self.play(FadeOut(number2)) + + self.play(ApplyMethod(output2.move_to, 2.5*DOWN+4*RIGHT)) + self.wait() + self.play(Write(vector_function)) + self.play(FadeOut(output2),FadeOut(eqn2), FadeOut(vector_function), FadeOut(rectangle)) + self.wait() + + + +class VectorValuedFunc(Scene): + def construct(self): + numberplane = NumberPlane() + + rectangle = Rectangle(height = 1, width = 2, color = PURPLE).move_to(2.5*UP+5*RIGHT) + + eqn = TextMobject(r"f(x,y) = $ \begin{bmatrix} xy \\ \frac{y}{x} \end{bmatrix}$").scale(0.6).move_to(2.5*UP+5*RIGHT).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + + dot1 = Dot().set_color(PINK).move_to(np.array([2,2,0])) + + number1 = TextMobject("(2,2)").scale(0.6).next_to(dot1, RIGHT).set_color(PINK) + + output1 = TextMobject(r"$ \begin{bmatrix} 4 \\ 1 \end{bmatrix}$").scale(0.6).set_color(YELLOW_C).move_to(2.5*UP+6.5*RIGHT) + + vector1 = Arrow(np.array([2,2,0]), np.array([4,1,0]), color = RED_C, buff = 0.01, tip_length = 0.25) + + dot2 = Dot().set_color(PINK).move_to(np.array([-1,2,0])) + + number2 = TextMobject("(-1,2)").scale(0.6).next_to(dot2, RIGHT).set_color(PINK) + + output2 = TextMobject(r"$ \begin{bmatrix} -2 \\ -2 \end{bmatrix}$").scale(0.6).set_color(YELLOW_C).move_to(2.5*UP+6.5*RIGHT) + + vector2 = Arrow(np.array([-1,2,0]), np.array([-2,-2,0]), color = RED_C, buff = 0.01, tip_length = 0.25) + + + vector_valued_function = TextMobject("Vector Valued Function").move_to(2.5*UP+3*LEFT).set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + + + self.play(ShowCreation(numberplane)) + self.wait() + self.play(ShowCreation(rectangle), ShowCreation(eqn)) + self.wait() + self.play(ShowCreation(dot1), ShowCreation(number1)) + self.wait(0.5) + self.play(ApplyMethod(number1.move_to, 2.5*UP+ 3.5*RIGHT)) + self.wait(0.5) + self.play(FadeOut(number1)) + self.wait(0.5) + self.play(ShowCreation(output1)) + self.wait(0.5) + self.play(ShowCreation(vector1)) + self.wait(0.5) + self.play(ApplyMethod(output1.move_to, 1*UP+ 4.5*RIGHT)) + self.wait() + + + self.play(ShowCreation(dot2), ShowCreation(number2)) + self.wait(0.5) + self.play(ApplyMethod(number2.move_to, 2.5*UP+ 3.5*RIGHT)) + self.wait(0.5) + self.play(FadeOut(number2)) + self.wait(0.5) + self.play(ShowCreation(output2)) + self.wait(0.5) + self.play(ShowCreation(vector2)) + self.wait(0.5) + self.play(ApplyMethod(output2.move_to, 2*DOWN+ 2.5*LEFT)) + self.wait() + self.play(Write(vector_valued_function)) + self.wait(2) + -- cgit From 438c82b8acece26f40be3f70873f272c8ede2fec Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:07:34 +0530 Subject: Delete file3_sphere.py --- .../multivariable-functions/file3_sphere.py | 177 --------------------- 1 file changed, 177 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file3_sphere.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file3_sphere.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file3_sphere.py deleted file mode 100644 index 86239ae..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file3_sphere.py +++ /dev/null @@ -1,177 +0,0 @@ -from manimlib.imports import * - -class Sphere(ThreeDScene): - def construct(self): - axes = ThreeDAxes() # creates a 3D Axis - - text3d = TextMobject(r"$f(x,y) \rightarrow Point(x,y,z)$") - text3d1 = TextMobject(r"$f(x,y) \rightarrow Point(x,y, \sqrt{r^2 - x^2 - y^2})$") - self.add_fixed_in_frame_mobjects(text3d) - text3d.scale(0.7) - text3d1.scale(0.7) - text3d.to_corner(UL) - text3d1.to_corner(UL) - text3d.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) - text3d1.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) - self.play(Write(text3d)) - self.wait(1) - - self.play(Transform(text3d,text3d1)) - self.add_fixed_in_frame_mobjects(text3d1) - self.play(FadeOut(text3d)) - - sphere = ParametricSurface( - lambda u, v: np.array([ - 2*np.sin(u)*np.cos(v), - 2*np.sin(u)*np.sin(v), - 2*np.cos(u) - ]),u_min=0,u_max=PI,v_min=0,v_max=2*PI,checkerboard_colors=[RED_D, RED_E], - resolution=(15, 32)).scale(1) - - - #Experiment with circles by changing difference value of u and v - ''' - sphere_points = [np.array([2*np.sin(u*DEGREES)*np.cos(v*DEGREES), 2*np.sin(u*DEGREES)*np.sin(v*DEGREES), 2*np.cos(u*DEGREES)]) for u in range(0, 185, 5) for v in range(0, 365, 5)] - - sphere_spheres = [Dot().move_to(pts) for pts in sphere_points] - - sphere = VGroup(*sphere_spheres) - ''' - - self.set_camera_orientation(phi=75 * DEGREES, theta = 45*DEGREES) - - self.add(axes) - - axis = TextMobject(r"X",r"Y",r"Z") - axis[0].move_to(6*RIGHT) - axis[1].move_to(6*UP) - axis[2].move_to(np.array([0,0,3.7])) - - self.add_fixed_orientation_mobjects(axis[2]) - self.add_fixed_orientation_mobjects(axis[0]) - self.add_fixed_orientation_mobjects(axis[1]) - - dot_x_y1 = Dot().scale(0.75).set_fill(RED_C).move_to(np.array([-1,1,0])) - dot_x_y_z1 = Dot().scale(0.75).set_fill(RED_C).move_to(np.array([-1,1,1.414])) - dot_x_y_z_1 = Dot().scale(0.75).set_fill(RED_C).move_to(np.array([-1,1,-1.414])) - line1 = DashedLine(np.array([-1,1,-1.414]), np.array([-1,1,1.414]), color = YELLOW_C) - - point_x_y1 = TexMobject("(-1,1,0)").set_color(BLUE_C).move_to(np.array([-1.5,1.5,0])).scale(0.5) - point_x_y_z1 = TexMobject("(-1,1,\\sqrt{r^2 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,1.414])).scale(0.5) - point_x_y_z1_2 = TexMobject("(-1,1,\\sqrt{4 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,1.414])).scale(0.5) - point_x_y_z1_3 = TexMobject("(-1,1,\\sqrt{4 - 1 - 1})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,1.414])).scale(0.5) - point_x_y_z1_4 = TexMobject("(-1,1,\\sqrt{2})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,1.414])).scale(0.5) - point_x_y_z1_5 = TexMobject("(-1,1,1.414)").set_color(BLUE_C).move_to(np.array([-1.5,1.5,1.414])).scale(0.5) - - point_x_y_z_1 = TexMobject("(-1,1,\\sqrt{r^2 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,-1.414])).scale(0.5) - point_x_y_z_1_2 = TexMobject("(-1,1,\\sqrt{4 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,-1.414])).scale(0.5) - point_x_y_z_1_3 = TexMobject("(-1,1,\\sqrt{4 - 1 - 1})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,-1.414])).scale(0.5) - point_x_y_z_1_4 = TexMobject("(-1,1,\\sqrt{2})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,-1.414])).scale(0.5) - point_x_y_z_1_5 = TexMobject("(-1,1,-1.414)").set_color(BLUE_C).move_to(np.array([-1.5,1.5,-1.414])).scale(0.5) - - - self.play(ShowCreation(dot_x_y1)) - self.add_fixed_orientation_mobjects(point_x_y1) - self.play(ShowCreation(dot_x_y_z1), ShowCreation(dot_x_y_z_1), ShowCreation(line1)) - self.add_fixed_orientation_mobjects(point_x_y_z1, point_x_y_z_1) - self.wait(0.5) - self.play(ReplacementTransform(point_x_y_z1,point_x_y_z1_2), ReplacementTransform(point_x_y_z_1,point_x_y_z_1_2)) - self.add_fixed_orientation_mobjects(point_x_y_z1_2, point_x_y_z_1_2) - - self.wait(0.5) - self.play(ReplacementTransform(point_x_y_z1_2,point_x_y_z1_3), ReplacementTransform(point_x_y_z_1_2,point_x_y_z_1_3)) - self.add_fixed_orientation_mobjects(point_x_y_z1_3, point_x_y_z_1_3) - self.wait(0.5) - self.play(ReplacementTransform(point_x_y_z1_3,point_x_y_z1_4), ReplacementTransform(point_x_y_z_1_3,point_x_y_z_1_4)) - self.add_fixed_orientation_mobjects(point_x_y_z1_4, point_x_y_z_1_4) - self.wait(0.5) - self.play(ReplacementTransform(point_x_y_z1_4,point_x_y_z1_5), ReplacementTransform(point_x_y_z_1_4,point_x_y_z_1_5)) - self.add_fixed_orientation_mobjects(point_x_y_z1_5, point_x_y_z_1_5) - - - - dot_x_y2 = Dot().scale(0.75).set_fill(RED_C).move_to(np.array([0.5,-0.5,0])) - dot_x_y_z2 = Dot().scale(0.75).set_fill(RED_C).move_to(np.array([0.5,-0.5,1.87])) - dot_x_y_z_2 = Dot().scale(0.75).set_fill(RED_C).move_to(np.array([0.5,-0.5,-1.87])) - line2 = DashedLine(np.array([0.5,-0.5,-1.87]), np.array([0.5,-0.5,1.87]), color = YELLOW_C) - - point_x_y2 = TexMobject("(0.5,-0.5,0)").set_color(BLUE_C).move_to(np.array([1.5,-1.5,0])).scale(0.5) - point_x_y_z2 = TexMobject("(0.5,-0.5,\\sqrt{r^2 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,1.87])).scale(0.5) - point_x_y_z2_2 = TexMobject("(0.5,-0.5,\\sqrt{4 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,1.87])).scale(0.5) - point_x_y_z2_3 = TexMobject("(0.5,-0.5,\\sqrt{4 - 0.25 - 0.25})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,1.87])).scale(0.5) - point_x_y_z2_4 = TexMobject("(0.5,-0.5,\\sqrt{3.5})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,1.87])).scale(0.5) - point_x_y_z2_5 = TexMobject("(0.5,-0.5,1.87)").set_color(BLUE_C).move_to(np.array([1.5,-1.5,1.87])).scale(0.5) - - point_x_y_z_2 = TexMobject("(0.5,-0.5,\\sqrt{r^2 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,-1.87])).scale(0.5) - point_x_y_z_2_2 = TexMobject("(0.5,-0.5,\\sqrt{4 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,-1.87])).scale(0.5) - point_x_y_z_2_3 = TexMobject("(0.5,-0.5,\\sqrt{4 - 0.25 - 0.25})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,-1.87])).scale(0.5) - point_x_y_z_2_4 = TexMobject("(0.5,-0.5,\\sqrt{3.5})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,-1.87])).scale(0.5) - point_x_y_z_2_5 = TexMobject("(0.5,-0.5,-1.87)").set_color(BLUE_C).move_to(np.array([1.5,-1.5,-1.87])).scale(0.5) - - - self.play(ShowCreation(dot_x_y2)) - self.add_fixed_orientation_mobjects(point_x_y2) - self.play(ShowCreation(dot_x_y_z2), ShowCreation(dot_x_y_z_2), ShowCreation(line2)) - self.add_fixed_orientation_mobjects(point_x_y_z2, point_x_y_z_2) - self.wait(0.5) - self.play(ReplacementTransform(point_x_y_z2,point_x_y_z2_2), ReplacementTransform(point_x_y_z_2,point_x_y_z_2_2)) - self.add_fixed_orientation_mobjects(point_x_y_z2_2, point_x_y_z_2_2) - - self.wait(0.5) - self.play(ReplacementTransform(point_x_y_z2_2,point_x_y_z2_3), ReplacementTransform(point_x_y_z_2_2,point_x_y_z_2_3)) - self.add_fixed_orientation_mobjects(point_x_y_z2_3, point_x_y_z_2_3) - self.wait(0.5) - self.play(ReplacementTransform(point_x_y_z2_3,point_x_y_z2_4), ReplacementTransform(point_x_y_z_2_3,point_x_y_z_2_4)) - self.add_fixed_orientation_mobjects(point_x_y_z2_4, point_x_y_z_2_4) - self.wait(0.5) - self.play(ReplacementTransform(point_x_y_z2_4,point_x_y_z2_5), ReplacementTransform(point_x_y_z_2_4,point_x_y_z_2_5)) - self.add_fixed_orientation_mobjects(point_x_y_z2_5, point_x_y_z_2_5) - - self.play(FadeOut(point_x_y1), FadeOut(point_x_y_z1_5), FadeOut(point_x_y_z_1_5), FadeOut(dot_x_y1), FadeOut(dot_x_y_z1), FadeOut(dot_x_y_z_1), FadeOut(line1)) - self.play(FadeOut(point_x_y2), FadeOut(point_x_y_z2_5), FadeOut(point_x_y_z_2_5), FadeOut(dot_x_y2), FadeOut(dot_x_y_z2), FadeOut(dot_x_y_z_2), FadeOut(line2)) - - - - - sphere_final = [] - - for u in range(0, 180, 15): - sphere_points1 = [np.array([2*np.sin(u*DEGREES)*np.cos(v*DEGREES), 2*np.sin(u*DEGREES)*np.sin(v*DEGREES), 2*np.cos(u*DEGREES)]) for v in range(0, 370, 10)] - sphere_dots1 = [Dot().scale(0.75).set_fill(RED_C).move_to(pts) for pts in sphere_points1] - - sphere_points2 = [np.array([2*np.sin((u+5)*DEGREES)*np.cos(v*DEGREES), 2*np.sin((u+5)*DEGREES)*np.sin(v*DEGREES), 2*np.cos((u+5)*DEGREES)]) for v in range(0, 370, 10)] - sphere_dots2 = [Dot().scale(0.75).set_fill(RED_C).move_to(pts) for pts in sphere_points2] - - sphere_points3 = [np.array([2*np.sin((u+10)*DEGREES)*np.cos(v*DEGREES), 2*np.sin((u+10)*DEGREES)*np.sin(v*DEGREES), 2*np.cos((u+10)*DEGREES)]) for v in range(0, 370, 10)] - sphere_dots3 = [Dot().scale(0.75).set_fill(RED_C).move_to(pts) for pts in sphere_points3] - - sphere_final = sphere_final + sphere_dots1 + sphere_dots2 + sphere_dots3 - - sphere_dots = sphere_dots1 + sphere_dots2 + sphere_dots3 - - sphere_with_dots = VGroup(*sphere_dots) - self.play(ShowCreation(sphere_with_dots)) - - sphere_final_with_dots = VGroup(*sphere_final) - - - self.begin_ambient_camera_rotation(rate=0.5) - self.wait(3) - self.play(ReplacementTransform(sphere_final_with_dots, sphere)) - self.wait(5) - - - - - - - - - - - - - - - - -- cgit From af3ee5e5194098b387402475b09773a82983d887 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:07:49 +0530 Subject: Add files via upload --- .../multivariable-functions/file3_sphere.py | 145 +++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file3_sphere.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file3_sphere.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file3_sphere.py new file mode 100644 index 0000000..fcbc410 --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file3_sphere.py @@ -0,0 +1,145 @@ +from manimlib.imports import * + +class Sphere(ThreeDScene): + def construct(self): + axes = ThreeDAxes() # creates a 3D Axis + + text3d1 = TextMobject(r"$z = f(x,y) = \sqrt{r^2 - x^2 - y^2}$") + + text3d1.scale(0.7) + + text3d1.to_corner(UL) + + text3d1.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + self.play(Write(text3d1)) + self.wait(1) + + self.add_fixed_in_frame_mobjects(text3d1) + + sphere = ParametricSurface( + lambda u, v: np.array([ + 2*np.sin(u)*np.cos(v), + 2*np.sin(u)*np.sin(v), + 2*np.cos(u) + ]),u_min=0,u_max=PI/2,v_min=0,v_max=2*PI,checkerboard_colors=[RED_D, RED_E], + resolution=(15, 32)).scale(1) + + + #Experiment with circles by changing difference value of u and v + ''' + sphere_points = [np.array([2*np.sin(u*DEGREES)*np.cos(v*DEGREES), 2*np.sin(u*DEGREES)*np.sin(v*DEGREES), 2*np.cos(u*DEGREES)]) for u in range(0, 185, 5) for v in range(0, 365, 5)] + + sphere_spheres = [Dot().move_to(pts) for pts in sphere_points] + + sphere = VGroup(*sphere_spheres) + ''' + + self.set_camera_orientation(phi=75 * DEGREES, theta = 45*DEGREES) + + self.add(axes) + + axis = TextMobject(r"X",r"Y",r"Z") + axis[0].move_to(6*RIGHT) + axis[1].move_to(6*UP) + axis[2].move_to(np.array([0,0,3.7])) + + self.add_fixed_orientation_mobjects(axis[2]) + self.add_fixed_orientation_mobjects(axis[0]) + self.add_fixed_orientation_mobjects(axis[1]) + + dot_x_y1 = Dot().scale(0.75).set_fill(RED_C).move_to(np.array([-1,1,0])) + dot_x_y_z1 = Dot().scale(0.75).set_fill(RED_C).move_to(np.array([-1,1,1.414])) + + line1 = DashedLine(np.array([-1,1,0]), np.array([-1,1,1.414]), color = YELLOW_C) + + point_x_y1 = TexMobject("(-1,1,0)").set_color(BLUE_C).move_to(np.array([-1.5,1.5,0])).scale(0.5) + point_x_y_z1 = TexMobject("(-1,1,\\sqrt{r^2 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,1.414])).scale(0.5) + point_x_y_z1_2 = TexMobject("(-1,1,\\sqrt{4 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,1.414])).scale(0.5) + point_x_y_z1_3 = TexMobject("(-1,1,\\sqrt{4 - 1 - 1})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,1.414])).scale(0.5) + point_x_y_z1_4 = TexMobject("(-1,1,\\sqrt{2})").set_color(BLUE_C).move_to(np.array([-1.5,1.5,1.414])).scale(0.5) + point_x_y_z1_5 = TexMobject("(-1,1,1.414)").set_color(BLUE_C).move_to(np.array([-1.5,1.5,1.414])).scale(0.5) + + + self.play(ShowCreation(dot_x_y1)) + self.add_fixed_orientation_mobjects(point_x_y1) + self.play(ShowCreation(dot_x_y_z1), ShowCreation(line1)) + self.add_fixed_orientation_mobjects(point_x_y_z1) + self.wait(0.5) + self.play(ReplacementTransform(point_x_y_z1,point_x_y_z1_2)) + self.add_fixed_orientation_mobjects(point_x_y_z1_2) + + self.wait(0.5) + self.play(ReplacementTransform(point_x_y_z1_2,point_x_y_z1_3)) + self.add_fixed_orientation_mobjects(point_x_y_z1_3) + self.wait(0.5) + self.play(ReplacementTransform(point_x_y_z1_3,point_x_y_z1_4)) + self.add_fixed_orientation_mobjects(point_x_y_z1_4) + self.wait(0.5) + self.play(ReplacementTransform(point_x_y_z1_4,point_x_y_z1_5)) + self.add_fixed_orientation_mobjects(point_x_y_z1_5) + + + + dot_x_y2 = Dot().scale(0.75).set_fill(RED_C).move_to(np.array([0.5,-0.5,0])) + dot_x_y_z2 = Dot().scale(0.75).set_fill(RED_C).move_to(np.array([0.5,-0.5,1.87])) + + line2 = DashedLine(np.array([0.5,-0.5,0]), np.array([0.5,-0.5,1.87]), color = YELLOW_C) + + point_x_y2 = TexMobject("(0.5,-0.5,0)").set_color(BLUE_C).move_to(np.array([1.5,-1.5,0])).scale(0.5) + point_x_y_z2 = TexMobject("(0.5,-0.5,\\sqrt{r^2 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,1.87])).scale(0.5) + point_x_y_z2_2 = TexMobject("(0.5,-0.5,\\sqrt{4 - x^2 - y^2})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,1.87])).scale(0.5) + point_x_y_z2_3 = TexMobject("(0.5,-0.5,\\sqrt{4 - 0.25 - 0.25})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,1.87])).scale(0.5) + point_x_y_z2_4 = TexMobject("(0.5,-0.5,\\sqrt{3.5})").set_color(BLUE_C).move_to(np.array([1.5,-1.5,1.87])).scale(0.5) + point_x_y_z2_5 = TexMobject("(0.5,-0.5,1.87)").set_color(BLUE_C).move_to(np.array([1.5,-1.5,1.87])).scale(0.5) + + + self.play(ShowCreation(dot_x_y2)) + self.add_fixed_orientation_mobjects(point_x_y2) + self.play(ShowCreation(dot_x_y_z2), ShowCreation(line2)) + self.add_fixed_orientation_mobjects(point_x_y_z2) + self.wait(0.5) + self.play(ReplacementTransform(point_x_y_z2,point_x_y_z2_2)) + self.add_fixed_orientation_mobjects(point_x_y_z2_2) + + self.wait(0.5) + self.play(ReplacementTransform(point_x_y_z2_2,point_x_y_z2_3)) + self.add_fixed_orientation_mobjects(point_x_y_z2_3) + self.wait(0.5) + self.play(ReplacementTransform(point_x_y_z2_3,point_x_y_z2_4)) + self.add_fixed_orientation_mobjects(point_x_y_z2_4) + self.wait(0.5) + self.play(ReplacementTransform(point_x_y_z2_4,point_x_y_z2_5)) + self.add_fixed_orientation_mobjects(point_x_y_z2_5) + + self.play(FadeOut(point_x_y1), FadeOut(point_x_y_z1_5)) + self.play(FadeOut(point_x_y2), FadeOut(point_x_y_z2_5)) + + + + + sphere_final = [] + + for u in range(0, 90, 15): + sphere_points1 = [np.array([2*np.sin(u*DEGREES)*np.cos(v*DEGREES), 2*np.sin(u*DEGREES)*np.sin(v*DEGREES), 2*np.cos(u*DEGREES)]) for v in range(0, 370, 10)] + sphere_dots1 = [Dot().scale(0.75).set_fill(RED_C).move_to(pts) for pts in sphere_points1] + + sphere_points2 = [np.array([2*np.sin((u+5)*DEGREES)*np.cos(v*DEGREES), 2*np.sin((u+5)*DEGREES)*np.sin(v*DEGREES), 2*np.cos((u+5)*DEGREES)]) for v in range(0, 370, 10)] + sphere_dots2 = [Dot().scale(0.75).set_fill(RED_C).move_to(pts) for pts in sphere_points2] + + sphere_points3 = [np.array([2*np.sin((u+10)*DEGREES)*np.cos(v*DEGREES), 2*np.sin((u+10)*DEGREES)*np.sin(v*DEGREES), 2*np.cos((u+10)*DEGREES)]) for v in range(0, 370, 10)] + sphere_dots3 = [Dot().scale(0.75).set_fill(RED_C).move_to(pts) for pts in sphere_points3] + + sphere_final = sphere_final + sphere_dots1 + sphere_dots2 + sphere_dots3 + + sphere_dots = sphere_dots1 + sphere_dots2 + sphere_dots3 + + sphere_with_dots = VGroup(*sphere_dots) + self.play(ShowCreation(sphere_with_dots)) + + sphere_final_with_dots = VGroup(*sphere_final) + + + self.begin_ambient_camera_rotation(rate=0.5) + self.wait(3) + self.play(ReplacementTransform(sphere_final_with_dots, sphere)) + self.wait(5) \ No newline at end of file -- cgit From 6e98ea022e8e27e592d905dd04c07fc07164dde5 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:09:41 +0530 Subject: Delete file4_vectorvf_sine.py --- .../multivariable-functions/file4_vectorvf_sine.py | 91 ---------------------- 1 file changed, 91 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file4_vectorvf_sine.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file4_vectorvf_sine.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file4_vectorvf_sine.py deleted file mode 100644 index 06e225e..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file4_vectorvf_sine.py +++ /dev/null @@ -1,91 +0,0 @@ -from manimlib.imports import * - -class SineVectors(GraphScene): - CONFIG = { - "x_min": 0, - "x_max": 10, - "y_min": -1, - "y_max": 1, - "graph_origin": ORIGIN+4*LEFT, - #"x_labeled_nums": list(range(-5, 6)), - #"y_labeled_nums": list(range(0, 5)), - } - def construct(self): - - - - - - XTD = self.x_axis_width/(self.x_max - self.x_min) - YTD = self.y_axis_height/(self.y_max - self.y_min) - - self.setup_axes(animate = True) - - - sine1 = self.get_graph(lambda x : np.sin(x), x_min = 0, x_max = 1.575, color = GREEN) - - point1 = Dot().shift(self.graph_origin+1*YTD*UP + 1.575*XTD*RIGHT) - point1_lab = TextMobject(r"$t = (\frac{\pi}{2})$") - point1_lab.scale(0.7) - point1_lab.next_to(point1, UP) - - vector1 = Arrow(self.graph_origin, self.graph_origin+1*YTD*UP + 1.575*XTD*RIGHT, buff=0.1, color = RED) - vector1_lab = TextMobject(r"$r(\frac{\pi}{2})$", color = RED) - vector1_lab.move_to(self.graph_origin+1.5*XTD*RIGHT+ 0.5*YTD*UP) - - self.play(GrowArrow(vector1),Write(vector1_lab)) - self.play(ShowCreation(point1), Write(point1_lab)) - self.play(ShowCreation(sine1)) - self.wait(1) - - - sine2 = self.get_graph(lambda x : np.sin(x), x_min = 1.575, x_max = 3.15, color = GREEN) - - point2 = Dot().shift(self.graph_origin+3.15*XTD*RIGHT) - point2_lab = TextMobject(r"$t = (\pi)$") - point2_lab.scale(0.7) - point2_lab.next_to(point2, UP+RIGHT) - - vector2 = Arrow(self.graph_origin, self.graph_origin+3.15*XTD*RIGHT, buff=0.1, color = BLUE) - vector2_lab = TextMobject(r"$r(\pi)$", color = BLUE) - vector2_lab.move_to(self.graph_origin+1.5*XTD*RIGHT+ 0.15*YTD*UP) - - self.play(GrowArrow(vector2),Write(vector2_lab)) - self.play(ShowCreation(point2), Write(point2_lab)) - self.play(ShowCreation(sine2)) - self.wait(1) - - - sine3 = self.get_graph(lambda x : np.sin(x), x_min = 3.15, x_max = 4.725, color = GREEN) - - point3 = Dot().shift(self.graph_origin+1*YTD*DOWN + 4.725*XTD*RIGHT) - point3_lab = TextMobject(r"$t = (\frac{3\pi}{2})$") - point3_lab.scale(0.7) - point3_lab.next_to(point3, DOWN) - - vector3 = Arrow(self.graph_origin, self.graph_origin+1*YTD*DOWN + 4.725*XTD*RIGHT, buff=0.1, color = YELLOW_C) - vector3_lab = TextMobject(r"$r(\frac{3\pi}{2})$", color = YELLOW_C) - vector3_lab.move_to(self.graph_origin+2*XTD*RIGHT+ 0.7*YTD*DOWN) - - self.play(GrowArrow(vector3),Write(vector3_lab)) - self.play(ShowCreation(point3), Write(point3_lab)) - self.play(ShowCreation(sine3)) - self.wait(1) - - - sine4 = self.get_graph(lambda x : np.sin(x), x_min = 4.725, x_max = 6.3, color = GREEN) - - point4 = Dot().shift(self.graph_origin+6.3*XTD*RIGHT) - point4_lab = TextMobject(r"$t = (2\pi)$") - point4_lab.scale(0.7) - point4_lab.next_to(point4, UP+RIGHT) - - vector4 = Arrow(self.graph_origin, self.graph_origin+6.3*XTD*RIGHT, buff=0.1, color = PURPLE) - vector4_lab = TextMobject(r"$r(2\pi)$", color = PURPLE) - vector4_lab.move_to(self.graph_origin+4.5*XTD*RIGHT+ 0.15*YTD*DOWN) - - self.play(GrowArrow(vector4),Write(vector4_lab)) - self.play(ShowCreation(point4), Write(point4_lab)) - self.play(ShowCreation(sine4)) - self.wait(3) - -- cgit From b4e29874270e2af618fb57d0ab3b0a511da4370a Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:09:53 +0530 Subject: Add files via upload --- .../multivariable-functions/file4_vectorvf_sine.py | 114 +++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file4_vectorvf_sine.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file4_vectorvf_sine.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file4_vectorvf_sine.py new file mode 100644 index 0000000..3c5bb25 --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file4_vectorvf_sine.py @@ -0,0 +1,114 @@ +from manimlib.imports import * + +class SineVectors(GraphScene): + CONFIG = { + "x_min": 0, + "x_max": 10, + "y_min": -5, + "y_max": 5, + "graph_origin": ORIGIN+4*LEFT, + "x_axis_width": 7, + "y_axis_height": 7, + } + def construct(self): + + + + XTD = self.x_axis_width/(self.x_max - self.x_min) + YTD = self.y_axis_height/(self.y_max - self.y_min) + + self.setup_axes(animate = True) + + sine = self.get_graph(lambda x : np.pi*np.sin(x), x_min = 0, x_max = 6.3, color = GREEN) + + + dot1 = Dot().rotate(PI/2).set_color(RED_C) + alpha1 = ValueTracker(0) + vector1 = self.get_vector(alpha1.get_value(),sine) + dot1.add_updater(lambda m: m.move_to(vector1.get_end())) + self.play( + ShowCreation(sine), + GrowFromCenter(dot1), + GrowArrow(vector1) + ) + vector1.add_updater( + lambda m: m.become( + self.get_vector(alpha1.get_value()%1,sine) + ) + ) + self.add(vector1,dot1) + self.play(alpha1.increment_value, 1, run_time=5, rate_func=linear) + + + self.play(FadeOut(vector1), FadeOut(dot1), FadeOut(sine)) + + self.wait() + + + sine1 = self.get_graph(lambda x : np.pi*np.sin(x), x_min = 0, x_max = 1.575, color = GREEN_C) + + point1 = Dot().shift(self.graph_origin+np.pi*YTD*UP + 1.575*XTD*RIGHT) + point1_lab = TextMobject(r"$t = (\frac{\pi}{2})$", color = GREY).scale(0.6).next_to(point1, 0.5*UP) + + + vector1 = Arrow(self.graph_origin, self.graph_origin+np.pi*YTD*UP + 1.575*XTD*RIGHT, buff=0, color = RED_C, tip_length = 0.25) + vector1_lab = TextMobject(r"$r(\frac{\pi}{2})$", color = RED).scale(0.7).move_to(self.graph_origin+1.5*XTD*RIGHT+ 1.5*YTD*UP) + + self.play(GrowArrow(vector1),Write(vector1_lab)) + self.play(ShowCreation(point1), Write(point1_lab)) + self.play(ShowCreation(sine1)) + self.wait(1) + + + sine2 = self.get_graph(lambda x : np.pi*np.sin(x), x_min = 1.575, x_max = 3.15, color = GREEN_C) + + point2 = Dot().shift(self.graph_origin+3.15*XTD*RIGHT) + point2_lab = TextMobject(r"$t = (\pi)$", color = GREY).scale(0.6).next_to(point2, 0.5*UP+0.5*RIGHT) + + vector2 = Arrow(self.graph_origin, self.graph_origin+3.15*XTD*RIGHT, buff=0, color = BLUE, tip_length = 0.25) + vector2_lab = TextMobject(r"$r(\pi)$", color = BLUE).scale(0.7).move_to(self.graph_origin+1.5*XTD*RIGHT+ 0.4*YTD*UP) + + self.play(GrowArrow(vector2),Write(vector2_lab)) + self.play(ShowCreation(point2), Write(point2_lab)) + self.play(ShowCreation(sine2)) + self.wait(1) + + + sine3 = self.get_graph(lambda x : np.pi*np.sin(x), x_min = 3.15, x_max = 4.725, color = GREEN_C) + + point3 = Dot().shift(self.graph_origin+np.pi*YTD*DOWN + 4.725*XTD*RIGHT) + point3_lab = TextMobject(r"$t = (\frac{3\pi}{2})$", color = GREY).scale(0.6).next_to(point3, 0.5*DOWN) + + vector3 = Arrow(self.graph_origin, self.graph_origin+np.pi*YTD*DOWN + 4.725*XTD*RIGHT, buff=0, color = YELLOW_C, tip_length = 0.25) + vector3_lab = TextMobject(r"$r(\frac{3\pi}{2})$", color = YELLOW_C).scale(0.7).move_to(self.graph_origin+2.5*XTD*RIGHT+ 1*YTD*DOWN) + + self.play(GrowArrow(vector3),Write(vector3_lab)) + self.play(ShowCreation(point3), Write(point3_lab)) + self.play(ShowCreation(sine3)) + self.wait(1) + + + sine4 = self.get_graph(lambda x : np.pi*np.sin(x), x_min = 4.725, x_max = 6.3, color = GREEN_C) + + point4 = Dot().shift(self.graph_origin+6.3*XTD*RIGHT) + point4_lab = TextMobject(r"$t = (2\pi)$", color = GREY).scale(0.6).next_to(point4, 0.5*UP+0.5*RIGHT) + + vector4 = Arrow(self.graph_origin, self.graph_origin+6.3*XTD*RIGHT, buff=0, color = PURPLE, tip_length = 0.25) + vector4_lab = TextMobject(r"$r(2\pi)$", color = PURPLE).scale(0.7).move_to(self.graph_origin+4.5*XTD*RIGHT+ 0.4*YTD*DOWN) + + self.play(GrowArrow(vector4),Write(vector4_lab)) + self.play(ShowCreation(point4), Write(point4_lab)) + self.play(ShowCreation(sine4)) + self.wait(3) + + self.play(FadeOut(sine1), FadeOut(point1), FadeOut(point1_lab), FadeOut(vector1), FadeOut(vector1_lab), + FadeOut(sine2), FadeOut(point2), FadeOut(point2_lab), FadeOut(vector2), FadeOut(vector2_lab), + FadeOut(sine3), FadeOut(point3), FadeOut(point3_lab), FadeOut(vector3), FadeOut(vector3_lab), + FadeOut(sine4), FadeOut(point4), FadeOut(point4_lab), FadeOut(vector4), FadeOut(vector4_lab)) + + + + def get_vector(self, proportion, curve): + vector = Arrow(np.array([-4,0,0]), curve.point_from_proportion(proportion), color = ORANGE, buff=0, tip_length = 0.25) + return vector + -- cgit From d8287cdac4d80a32e1995a3f926822eac2e6e914 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:11:33 +0530 Subject: Delete file5_vectorvf_helix.py --- .../file5_vectorvf_helix.py | 92 ---------------------- 1 file changed, 92 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file5_vectorvf_helix.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file5_vectorvf_helix.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file5_vectorvf_helix.py deleted file mode 100644 index fc151ac..0000000 --- a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file5_vectorvf_helix.py +++ /dev/null @@ -1,92 +0,0 @@ -from manimlib.imports import * - -class Helix(ThreeDScene): - def construct(self): - axes = ThreeDAxes() # creates a 3D Axis - - helix1=ParametricFunction( - lambda u : np.array([ - 1.5*np.cos(u), - 1.5*np.sin(u), - u/4 - ]),color=PURPLE,t_min=-TAU,t_max=TAU, - ) - - helix2=ParametricFunction( - lambda u : np.array([ - 2*np.cos(u), - 2*np.sin(u), - u/2 - ]),color=GREEN_C,t_min=-TAU,t_max=TAU, - ) - - function = TexMobject("f(", "r", ",", "\\theta", ")", "=", "[", "r", "\\cos", "\\theta", ",", "r", "\\sin" ,"\\theta", ",", "h" ,"\\theta", "]" ).scale(0.6).to_corner(UL) - function.set_color_by_tex(r"\theta", BLUE_C) - function.set_color_by_tex(r"r", RED_C) - function.set_color_by_tex(r"\cos", GREEN_C) - function.set_color_by_tex(r"\sin", YELLOW_C) - function[0].set_color(ORANGE) - function[4].set_color(ORANGE) - - - self.add_fixed_in_frame_mobjects(function) - - self.set_camera_orientation(phi=60*DEGREES, theta = 45*DEGREES) - - self.add(axes) - - axis = TextMobject(r"X",r"Y",r"Z") - axis[0].move_to(6*RIGHT) - axis[1].move_to(6*UP) - axis[2].move_to(np.array([0,0,3.7])) - - self.add_fixed_orientation_mobjects(axis[2]) - self.add_fixed_orientation_mobjects(axis[0]) - self.add_fixed_orientation_mobjects(axis[1]) - - - dot1 = Dot().rotate(PI/2).set_color(RED_C) - alpha1 = ValueTracker(0) - vector1 = self.get_vector(alpha1.get_value(),helix1) - dot1.add_updater(lambda m: m.move_to(vector1.get_end())) - self.play( - ShowCreation(helix1), - GrowFromCenter(dot1), - GrowArrow(vector1) - ) - vector1.add_updater( - lambda m: m.become( - self.get_vector(alpha1.get_value()%1,helix1) - ) - ) - self.add(vector1,dot1) - self.play(alpha1.increment_value, 1, run_time=10, rate_func=linear) - - - self.play(FadeOut(vector1), FadeOut(dot1)) - self.play(ReplacementTransform(helix1, helix2)) - - - dot2 = Dot().rotate(PI/2).set_color(RED_C) - alpha2 = ValueTracker(0) - vector2 = self.get_vector(alpha2.get_value(),helix2) - dot2.add_updater(lambda m: m.move_to(vector2.get_end())) - self.play( - ShowCreation(helix2), - GrowFromCenter(dot2), - GrowArrow(vector2) - ) - vector2.add_updater( - lambda m: m.become( - self.get_vector(alpha2.get_value()%1,helix2) - ) - ) - self.add(vector2,dot2) - self.play(alpha2.increment_value, 1, run_time=10, rate_func=linear) - self.wait() - - - - def get_vector(self, proportion, curve): - vector = Line(np.array([0,0,0]), curve.point_from_proportion(proportion), color = YELLOW_C, buff=0) - return vector \ No newline at end of file -- cgit From c2dba9cce931e58d2d097771d93af7d24be2532c Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:11:54 +0530 Subject: Add files via upload --- .../file5_vectorvf_helix.py | 99 ++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file5_vectorvf_helix.py diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file5_vectorvf_helix.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file5_vectorvf_helix.py new file mode 100644 index 0000000..c02f540 --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/file5_vectorvf_helix.py @@ -0,0 +1,99 @@ +from manimlib.imports import * + +class Helix(ThreeDScene): + def construct(self): + axes = ThreeDAxes() # creates a 3D Axis + + helix1=ParametricFunction( + lambda u : np.array([ + 1.5*np.cos(u), + 1.5*np.sin(u), + u/4 + ]),color=PURPLE,t_min=-TAU,t_max=TAU, + ) + + helix2=ParametricFunction( + lambda u : np.array([ + 2*np.cos(u), + 2*np.sin(u), + u/2 + ]),color=GREEN_C,t_min=-TAU,t_max=TAU, + ) + + + function = TexMobject("f(", "r", ",", "\\theta", ")", "=", "{ \\begin{bmatrix} r \\cos\\theta \\\ r \\sin \\theta \\\ h \\theta \\end{bmatrix}}" ).scale(0.6).to_corner(UL) + + function.set_color_by_tex(r"\theta", BLUE_C) + function.set_color_by_tex(r"r", RED_C) + function.set_color_by_tex(r"\cos", GREEN_C) + function.set_color_by_tex(r"\sin", YELLOW_C) + function[0].set_color(ORANGE) + function[4].set_color(ORANGE) + + + + slope_text = TextMobject(r"$\theta = $").move_to(3*UP+3*RIGHT) + number = DecimalNumber(0,unit=r" rad", color=RED_C).next_to(slope_text, RIGHT) + + + self.add_fixed_in_frame_mobjects(function,slope_text, number) + + self.set_camera_orientation(phi=60*DEGREES, theta = 45*DEGREES) + + self.add(axes) + + axis = TextMobject(r"X",r"Y",r"Z") + axis[0].move_to(6*RIGHT) + axis[1].move_to(6*UP) + axis[2].move_to(np.array([0,0,3.7])) + + self.add_fixed_orientation_mobjects(axis[2]) + self.add_fixed_orientation_mobjects(axis[0]) + self.add_fixed_orientation_mobjects(axis[1]) + + + dot1 = Dot().rotate(PI/2).set_color(RED_C) + alpha1 = ValueTracker(0) + vector1 = self.get_vector(alpha1.get_value(),helix1) + dot1.add_updater(lambda m: m.move_to(vector1.get_end())) + number.add_updater(lambda m: m.set_value(alpha1.get_value()*4*np.pi)) + number.add_updater(lambda m: self.add_fixed_in_frame_mobjects(m)) + + + self.play( + ShowCreation(helix1), + GrowFromCenter(dot1), + GrowArrow(vector1) + + ) + + vector1.add_updater( + lambda m: m.become( + self.get_vector(alpha1.get_value()%1,helix1) + ) + ) + + + + self.add(vector1,dot1) + + + self.play(alpha1.increment_value, 1, run_time=10, rate_func=linear) + + + self.play(FadeOut(vector1), FadeOut(dot1), FadeOut(number)) + + self.move_camera(phi=0* DEGREES,theta=90*DEGREES) + + alpha1 = ValueTracker(0) + + self.add(vector1,dot1) + + + self.play(alpha1.increment_value, 1, run_time=10, rate_func=linear) + + + + def get_vector(self, proportion, curve): + vector = Line(np.array([0,0,0]), curve.point_from_proportion(proportion), color = YELLOW_C, buff=0) + return vector \ No newline at end of file -- cgit From 9fbc860b2d108c38a48e970eb2e8642afc7edeea Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:13:16 +0530 Subject: Delete file2_multivariable_func_respresentation.gif --- .../gifs/file2_multivariable_func_respresentation.gif | Bin 1828325 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file2_multivariable_func_respresentation.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file2_multivariable_func_respresentation.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file2_multivariable_func_respresentation.gif deleted file mode 100644 index 8c4506c..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file2_multivariable_func_respresentation.gif and /dev/null differ -- cgit From 4d62c80935deb4078369dae2cf3e97349cb306e0 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:13:27 +0530 Subject: Delete file3_sphere.gif --- .../multivariable-functions/gifs/file3_sphere.gif | Bin 5971004 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file3_sphere.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file3_sphere.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file3_sphere.gif deleted file mode 100644 index 3e35ec8..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file3_sphere.gif and /dev/null differ -- cgit From f6f326b3063c1912a70c6222dcaf6e74cf53f791 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:13:37 +0530 Subject: Delete file4_vectorvf_sine.gif --- .../gifs/file4_vectorvf_sine.gif | Bin 283795 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif deleted file mode 100644 index 215459e..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif and /dev/null differ -- cgit From c080a4cf326672b0065f00ff4939fc738a1bcf12 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:13:46 +0530 Subject: Delete file5_vectorvf_helix.gif --- .../gifs/file5_vectorvf_helix.gif | Bin 654632 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file5_vectorvf_helix.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file5_vectorvf_helix.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file5_vectorvf_helix.gif deleted file mode 100644 index c3d37f6..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file5_vectorvf_helix.gif and /dev/null differ -- cgit From fcfa5ea8a481ad6e802e29e370c0a64d87619f08 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:20:29 +0530 Subject: Add files via upload --- .../gifs/file2_multivariable_func_respresentation.gif | Bin 0 -> 1850503 bytes .../multivariable-functions/gifs/file3_sphere.gif | Bin 0 -> 4653900 bytes .../gifs/file4_vectorvf_sine.gif | Bin 0 -> 283795 bytes .../gifs/file5_vectorvf_helix.gif | Bin 0 -> 1700964 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file2_multivariable_func_respresentation.gif create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file3_sphere.gif create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file5_vectorvf_helix.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file2_multivariable_func_respresentation.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file2_multivariable_func_respresentation.gif new file mode 100644 index 0000000..83faaa6 Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file2_multivariable_func_respresentation.gif differ diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file3_sphere.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file3_sphere.gif new file mode 100644 index 0000000..86fa8fe Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file3_sphere.gif differ diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif new file mode 100644 index 0000000..215459e Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif differ diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file5_vectorvf_helix.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file5_vectorvf_helix.gif new file mode 100644 index 0000000..bee019c Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file5_vectorvf_helix.gif differ -- cgit From a5e5868c72e6bed9ea2996485f4e1b313aee6eac Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:24:54 +0530 Subject: Delete file4_vectorvf_sine.gif --- .../gifs/file4_vectorvf_sine.gif | Bin 283795 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif deleted file mode 100644 index 215459e..0000000 Binary files a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif and /dev/null differ -- cgit From 8011e2c8f700f1aee69fbbc5938ed68cc90d8f02 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Sat, 25 Jul 2020 11:25:44 +0530 Subject: Add files via upload --- .../gifs/file4_vectorvf_sine.gif | Bin 0 -> 623433 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif new file mode 100644 index 0000000..b6a266f Binary files /dev/null and b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/multivariable-functions/gifs/file4_vectorvf_sine.gif differ -- cgit