From 49ced9e502d4c0bb930731d37d1223d9b34d01d5 Mon Sep 17 00:00:00 2001 From: nishanpoojary Date: Wed, 1 Jul 2020 11:48:28 +0530 Subject: Added updated scalar-functions folder --- .../scalar-functions/file5_level_surface.py | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file5_level_surface.py (limited to 'FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file5_level_surface.py') diff --git a/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file5_level_surface.py b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file5_level_surface.py new file mode 100644 index 0000000..8052676 --- /dev/null +++ b/FSF-2020/calculus-of-several-variables/multivariable-functions-and-paritial-derivatives/scalar-functions/file5_level_surface.py @@ -0,0 +1,78 @@ +from manimlib.imports import * + +class LevelSurface(ThreeDScene): + def construct(self): + axes = ThreeDAxes() + + surface_0 = ParametricSurface( + lambda u, v: np.array([ + u*np.cos(v), + u*np.sin(v), + (u*u*np.cos(v)*np.cos(v))-(u*np.sin(v)/5)+0 + ]),u_min=-1,u_max=1,v_min=0,v_max=2*PI,checkerboard_colors=[RED_C, RED_E], + resolution=(15, 32)).scale(1) + + k_0 = TextMobject("K = 0", color = RED_C).scale(0.7) + + surface_1 = ParametricSurface( + lambda u, v: np.array([ + u*np.cos(v), + u*np.sin(v), + (u*u*np.cos(v)*np.cos(v))-(u*np.sin(v)/5)+1 + ]),u_min=-1,u_max=1,v_min=0,v_max=2*PI,checkerboard_colors=[GREEN_C, GREEN_E], + resolution=(15, 32)).scale(1) + + k_1 = TextMobject("K = 1", color = GREEN_C).scale(0.7) + + surface_2 = ParametricSurface( + lambda u, v: np.array([ + u*np.cos(v), + u*np.sin(v), + (u*u*np.cos(v)*np.cos(v))-(u*np.sin(v)/5)+2 + ]),u_min=-1,u_max=1,v_min=0,v_max=2*PI,checkerboard_colors=[YELLOW_C, YELLOW_E], + resolution=(15, 32)).scale(1) + + k_2 = TextMobject("K = 2", color = YELLOW_C).scale(0.7) + + func = TextMobject(r"$w = g(x,y,z)$", r"$= z - f(x,y)$", r"$z-x^2+y/5 = K$") + func.set_color_by_gradient(RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE) + + self.set_camera_orientation(phi=90 * DEGREES, theta = 90*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[0]) + self.add_fixed_orientation_mobjects(axis[1]) + + self.play(Write(surface_0)) + self.add_fixed_in_frame_mobjects(k_0) + k_0.move_to(np.array([1.4*RIGHT ])) + + self.play(Write(surface_1)) + self.add_fixed_in_frame_mobjects(k_1) + k_1.move_to(np.array([1.4*RIGHT + 1*UP])) + + self.play(Write(surface_2)) + self.add_fixed_in_frame_mobjects(k_2) + k_2.move_to(np.array([1.4*RIGHT + 2*UP])) + self.wait() + + self.add_fixed_in_frame_mobjects(func) + func[0].move_to(np.array([4.5*LEFT + 3*UP])) + func[1].move_to(np.array([4.5*LEFT + 2.5*UP])) + func[2].move_to(np.array([4.5*LEFT + 2*UP])) + + self.wait(3) + self.move_camera(phi=60 * DEGREES,run_time=3) + self.wait(2) + + + \ No newline at end of file -- cgit