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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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 (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/partial-derivatives') 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